Кали линукс с чего начать

Kali Linux для начинающих

14 декабря будет запущена новая «Test lab» — лаборатория тестирования на проникновение, имитирующая работу реальной корпоративной сети, в которой каждый желающий сможет проверить свои навыки тестирования на проникновение. Поскольку порог вхождения для выполнения всех заданий лаборатории достаточно высокий, мы решили выпустить небольшой гайд для начинающих по работе с Kali Linux 2018.4 — одним из самых популярных пентест-дистрибутивов, разработанного как преемник BackTrack и основного на Debian.

Причина популярности простая – довольно дружелюбный интерфейс и наличие необходимых инструментов для пентеста “из коробки”. Инструменты распределены по категориям, что очень удобно. Имеются варианты установки на АРМ, например, Raspberry Pi 3, а также на мобильные платформы под управлением Android. Я сейчас говорю про Kali NetHunter – тот же Kali, который практически без изменений устанавливается поверх Android и работающий внутри chroot-окружения.

Получаем токен, используя SQLi

По легенде у нас есть некий хост test.lab. Наша задача — определить уязвимости и выполнить их эксплуатацию.

Начнем с разведки — выполним сканирование портов: nmap -v test.lab

Сканирование в режиме по умолчанию результатов не дало, произведем сканирование всех портов: nmap -v -p 1-65535 192.168.60.13

На порту 9447 доступно веб-приложение:


Используя инструмент nikto, определим, что вероятнее всего используется CMS WordPress:
nikto -host test.lab:9447

Проверим приложение, используя WPScan: wpscan —url http://test.lab:9447

Нам удалось обнаружить плагин WP Symposium 15.5.1.Для данной версии имеется уязвимость SQL Injection, и также в выводе представлены ссылки на базы с описанием уязвимости, где мы и будем искать информацию.

Мы нашли способ эксплуатировать уязвимость на www.exploit-db.com/exploits/37824

Теперь нужно проверить ее, подставив этот параметр к нашему url.

Используя Burp Suite, посмотрим, какие запросы приходят при обращении к этому адресу:

Скопируем этот GET запрос в файл и передадим его в sqlmap с параметром -r, добавив ключ уязвимого параметра -p “size” и —dbs для нахождения баз данных.
sqlmap -r qwe -p “size” —dbs

В итоге мы получили несколько баз. Проверим содержимое базы wordpress_test и найденных таблиц:
sqlmap -r qwe -D wordpress_test —table

sqlmap -r qwe -D wordpress_test -T wp_posts —dump

В таблице wp_post в одной из скрытых записей нам удалось найти токен Y@u-wIn. .

Использование Nemeisida WAF не позволит выполнить эксплуатацию подобной уязвимости.

600 доступных инструментов, которые найдут свое применение у любого — от начинающего до профессионала.

Соблюдайте законодательство и до встречи в Test lab v.12.

Источник

Обзор и настройка Kali Linux.

Привет, начинающий хакер!

Я думаю, ты наверняка понимаешь, что взламывать (читай тестировать безопасность) можно, используя любой дистрибутив Linux, можно даже из под Windows что-нибудь придумать (сжечь еретика. — прим. редактора которого у нас нет), но зачем изобретать велосипед, если его давно изобрели. А поэтому в этом материале мы поговорим о Kali Linux. Но, в связи с тем, что вопрос настройки и использования возможностей этой операционной системы очень обширен, в этой статье мы остановимся только на тех нюансах которые стоит знать любому начинающему пользователю, который хочет установить Kali чтобы изучить ее инструменты и разобраться как это всё работает.

И в начале, как обычно немного теории.

Kali Linux это дистрибутив основанный на Debian, разработали его сотрудники компании Offensive Security
Мати Ахарони и Девон Кеарнсом, позднее к ним присоединился Рафаель Херцог, как специалист по Debian. Появился это дистрибутив в результате эволюционирования BackTrack, который в 2013 году утратил поддержку разработчиков и в настоящее время не актуален.

Kali Linux может работать в режиме Live-USB, с возможность сохранения файлов (режим USB-persistence), а также может быть установлена как полноценная операционная система.

Одной из ключевых особенностей Kali Linux является огромное количество предустановленных утилит необходимых для проведения разнообразных тестов безопасности. Утилит этих больше 300, но при этом стоит заметить, что некоторые функции при этом дублируются в разных утилитах, хотя это скорее плюс чем минус (список утилит и их описание можно посмотреть здесь: https://tools.kali.org/tools-listing).

Установка Kali Linux

Скачать образ Kali Linux можно с официального сайта https://www.kali.org/. Хотя правильнее сказать, что только оттуда его и можно скачивать, во избежание бонусного скачивания, так сказать, дополнений не предусмотренных разработчиком. На сайте доступны разные виды образов, в том числе можно скачать уже установленную систему для виртуальных машин. Есть образы с приставкой Light, это обрезанный вариант и использовать его, без необходимости не стоит, также можно выбрать образ с уже предустановленным окружение рабочего стола: Mate, Xfce, Kde. Хотя, при желании, их можно будет установить потом.

Мы возьмём образ Kali Linux 64 Bit. Актуальная версия по состоянию на момент написания статьи 2019.1. После скачивания, образ нужно записать на флешку каким-нибудь Rufus, после чего можно переходить непосредственно к установке.

Для начала запускаемся с флешки и видим варианты загрузки:

Выбираем Graphical install, после чего нужно выбрать язык:

Потом вводим имя компьютера, пароль суперпользователя, выбираем часовой пояс, после чего система предложит нам настроить разметку дисков:

Оптимальный вариант выбрать «Авто — использовать весь диск с шифрованным LVM» — в таком случае будет создан полностью зашифрованный раздел и систему нельзя будет запустить или получить доступ к файлам без ввода кодовой фразы. Как я и говорил, в большинстве случаев стоит использовать именно этот вариант, ведь это серьёзно повышает уровень безопасности системы и защищённость информации. Если ты выберешь этот вариант, то после установки дополнительно можешь задать пароль для самоуничтожения данных, делается это командой: cryptsetup luksAddNuke /dev/sda1.

Но для полноты обзора, мы также рассмотрим вариант «Вручную», при котором мы создадим три раздела с такими параметрами:

  • Точка монтирования — /; использовать как — журналируемая файловая система ext4; тип раздела — первичный; местоположение — начало этого пространства; размер — оптимально 20 Гб;
  • Использовать как — Раздел подкачки; тип раздела — логический; местоположение — начало этого пространства; размер 2-4 Гб;
  • Точка монтирования — /home; Использовать как — журналируемая файловая система ext4; тип раздела — логический; местоположение — начало этого пространства; размер — всё оставшееся место;
Читайте также:  Как узнать характеристики компьютера для windows 10

После создания разделов начнётся установка системы и через некоторое время появится вопрос:

Если Linux единственная ОС на этом компьютере то смело жми «да», если устанавливаешь рядом с Windows то «нет».

Через некоторое время установка будет завершена, после чего компьютер перезагрузится и ты увидишь экран приветствия, где нужно будет ввести имя пользователя (root) и пароль.

На этом установка завершена. Перейдём к настройке свежеустановленной системы.

Настройка Kali Linux.

Для начала проверим чтобы в системе были прописаны корректные источники приложений (репозитории). Они находятся в файле /etc/apt/sources.list

Скорее всего всё будет нормально, но лучше убедиться. В выведенном файле должна быть такая строка:

deb http://http.kali.org/kali kali-rolling main non-free contrib

если её нет или она отличается, можно поменять в ручную. Корректные репозитории всегда можно посмотреть на официальном сайте. И там же есть предупреждение, что использовать стоит только официальные репозитории Kali, что вполне логично, потому что эту систему обычно устанавливают не для повседневного развлекательного использования, а с конкретно определёнными целями, и вот при достижении этих целей, качать с интернетов что попало и откуда попало совсем не стоит, это нам подсказывает инстинкт самосохранения, если он есть, если его нет — прислушивайся к ребятам из Offensive Security, они разбираются, а ещё проверяют лично все приложения которые добавляют в репозитории.

Теперь можем обновить нашу систему:

При установке Kali Linux не создаёт нового пользователя, а предлагает работать как root. Но если есть необходимость можем создать нового пользователя:

Созданному пользователю нужно задать пароль:

Также нового пользователя можно создать в Параметры/Подробности/Пользователи/Добавить пользователя.

Базовые параметры анонимности

Акцентирую внимание: далее приведены БАЗОВЫЕ настройки, которые не гарантируют полной анонимности. В зависимости от ситуации, настройки безопасности и анонимности должны подбираться индивидуально и соответствовать текущей ситуации.

Для начала сделаем так, чтобы при каждой загрузке системы MAC адрес менялся на рандомный, это никогда не бывает лишним. И для этого нам нужно открыть файл /etc/NetworkManager/NetworkManager.conf и изменить его содержимое, на такое:

После этого нужно перезапустить Network Manager:

Добавим возможность пускать весь трафик системы через сеть Tor:

Теперь можно направить весь трафик через Tor, командой:

Если вдруг возникла необходимость принудительно сменить IP:

Если в каких-либо ситуациях потребуется дополнительно использовать proxy, то в ЭТОЙ статье я описал неплохой способ.

Дополнительные приложения

Практически все программы которые нам могут понадобиться в Kali Linux уже есть, но для большего удобства я бы установил ещё парочку:

Double Commander — аналог Total Commander, только с открытым исходным кодом. Прост и понятен, при этом имеет огромное количество функций и поддерживает установку дополнительных плагинов. Устанавливаем:

Filezilla — если используешь ftp, лучше filezilla ещё ничего не придумали. Берём:

Network Manager Open-vpn — понадобиться когда ты решишь настроить vpn, устанавливаем:

Очистка системы

Для очистки системы используются две команды:

Эти команды очистят локальный репозиторий от скачанных файлов пакетов.

И на этом начальную настройку Kali linux можно считать оконченной. Конечно можно настроить ещё много чего, можно вообще до бесконечности крутить всякие параметры, но, на мой взгляд, сделанного нами, вполне достаточно для комфортной работы. Не забывай возвращаться, ведь мы должны изучить ещё много интересного.

Источник

Как стать хакером с Kali Linux

Kali Linux видится многим как «хакерская» операционная система. Сами хакеры, особенно в молодёжной среде, воспринимаются c восхищением. Отсюда понятен интерес молодых людей к Kali Linux. Они пробуют её установить запустить и у них возникает масса «детских» вопросов. Отвечать на эти вопросы нужно, какими бы простыми, наивными или некорректными они не были. Лично для меня неприемлемо поведение «бывалых», которые на такие вопросы отвечают «а зачем тебе?», «опять каникулы в школе?», «за такие глупые вопросы нужно уже банить?» и т.д. Этим хамством забиты российские технические форумы. Подобного я не позволяю себе и не позволю другим на codeby.net и FreeForum.biz. Абсолютно каждый, каким бы большим специалистом он не стал сейчас, начинал с изучения азов, начинал с «детских» вопросов. Те, кто не задаёт простых вопросов, в конечном счёте, так и не узнает на них ответов.

Настройка, работа Kali Linux вызывает вопросы и у продвинутых пользователей Linux. Но эти вопросы являются сложными или творческими. И, с одной стороны, хочется помочь всем начинающим (т.к. сам таким был), а с другой стороны, не хочется скатываться до совсем ясельного уровня. Ведь отвечать на банальные вопросы и не интересно, и жалко времени.

Поэтому для всех начинающих хакеров я подготовил список из того, что нужно изучить. По каждому пункту я буду стараться пояснить, для чего это нужно знать.

1. Основы языков программирования

1.1 HTML

На самом деле, HTML — это даже не язык программирования, а язык разметки, т.е. он используется, грубо говоря, для оформления текста.

Как он может помочь начинающему хакеру? Приведу мой личный пример. У одного из провайдеров Интернета, услугами которого я пользовался (местный провайдер с домовой городской сетью), был (может и сейчас есть — не знаю, давно ушёл от этого провайдера) свой сайт и свои собственные сервисы для пользователей. В начале 2000х это было актуально — Интернет-трафик (внешний) был платный, поэтому все старались пользоваться локальными ресурсами. Эти ресурсы, безусловно, были очень популярны. Один из самых популярных — файлообменник. Из-за постоянных злоупотреблений пользователей (например, «раздетая» с помощью Фотошопа одноклассница Маша) владелец файлообменника ввёл обязательный пароль. Этот пароль генерировался автоматически, и он не мог содержаться в комментарии к файлу. Так вот, анализ формы для отправки файла и некоторые эксперименты с ней показали, что пароль содержится в одном из скрытых полей формы, которое, естественно, можно редактировать. На сервере этот пароль ничем уже не проверялся. В результате, сохранив форму для загрузки файла себе на компьютер и чуть отредактировав её, удалось сделать так, чтобы файлы можно было опять загружать без пароля. Этой формой мог пользоваться любой клиент провайдера. Позже провайдер «закрыл» дыру — стал проверять наличие пароля. Тем не менее, такими же простыми манипуляциями удалось сделать так, что файлы загружались всегда со «стандартным» паролем («0000», вроде) плюс этот пароль можно было записывать в комментарий к файлу.

Читайте также:  Установка linux mint под windows

Те, кто знаком хотя бы с основами HTML, прекрасно понял, о чём я говорю. Для остальных — это просто китайская грамота.

Ещё один свеженький пример. Буквально на днях (11 февраля 2015 года), была обнаружена дыра в теме WordPress, которая позволяет закачивать производные файлы на сервер. Описание этой темы здесь. Уязвимой в этой теме является файл admin/upload-file.php. Я нашёл эту тему и нашёл этот файл. Файл совсем короткий, поэтому я приведу его полностью:

Этот файл на PHP, но, чтобы воспользоваться этой уязвимостью, нужно сделать форму отправки файла именно на HTML.

Итак, HTML нужно знать, чтобы: а) искать уязвимости; б) использовать уязвимости. Есть и более продвинутые задачи, для выполнения которых нужно знать HTML, но остановимся на этом.

1.2 PHP

Выше я привёл содержание крошечного файла, написанного на PHP. Этот файл содержит такую брешь, что уже не важно, насколько хорошо настроен сервер, есть ли файловый файервол и т.д. Если кто-то использует эту тему — то сайт этого человека в полной нашей власти (а если сервер/хостинг криво настроены, то весь компьютер под нашим управлением). Но ведь чтобы это понять, нужно хоть чуть-чуть знать PHP.

Чтобы использовать готовые эксплойты, которые написал кто-то другой, опять же, нужно знать хотя бы основы PHP, чтобы знать куда записать адрес сайта и другие переменные величины, и как вообще запустить этот скрипт.

1.3 MySQL

Обычно, самое интересное находится в базах данных. Чтобы понять, как использовать MySQL-инъекцию, нужно знать, что такое MySQL-инъекция. Чтобы уловить суть MySQL-инъекции, нужно знать, что такое MySQL-запросы, каков синтаксис этих запросов, каково устройство базы данных, как хранятся данные, что такое таблицы и т.д.

Вообще, первые три пункта, а также представления об устройствах веб-сайтов, проще всего постичь, если учиться не «взламывать» веб-сайты, а их создавать. Учитесь с целью сделать что-то позитивное. В этом есть парадокс, ведь точно также, чтобы научиться хорошо защищать веб-приложения, нужно учиться их взламывать! Только сумев посмотреть на веб-технологии глазами взломщика, можно получить бесценный опыт. Точно также и с сайтами — простое изучение функций и основ языка мало пригодиться. Нужно стать веб-разработчиком, чтобы понять всю изнанку веб-сайта.

1.4 JavaScript, JQuery

Хотя бы нужно знать, что на веб-сайтах управляется, зависит от JavaScript. Ведь на некоторых сайтах, которые на дают выделить (и/или скопировать) содержимое, не дают скачать файл или не дают посмотреть содержимое достаточно просто отключить JavaScript, чтобы всё это стало возможным.

Ну а чтобы отключить JavaScript, нужно знать: а) в каких ситуациях работа (защита) сайта зависит от него; б) как JavaScript подключается и какими способами можно блокировать работу скриптов.

Можно привести тонну примеров неудачной защиты форм с помощью JavaScript (мне запомнилась форма на сайте ФСБ РФ — чтобы её отправить, там обязательно нужно заполнить стопятьсот полей (паспорт, прописка и т.д.), но самыми простыми манипуляциями это «ограничение» можно обойти (это было давно, вполне возможно, они исправили форму обратной связи)).

2. Основы устройства сетей, работы веб-серверов и веб-сайтов

2.1 Устройство сетей

Про устройство сетей обязательно нужно знать: что такое IP адрес, что он позволяет идентифицировать пользователя Интернета, как спрятать свой IP , что такое прокси, что такое TOR, что такое домен, порты и т.д.

Вышеперечисленное нужно знать на первых порах хотя бы для того, чтобы понимать базовые компьютерные тексты и инструкции. А ещё для осознания факта, что анонимность в интернете — это вещь эфемерная.

Продвинутые знания о построении сетей в дальнейшем помогут проводить результативные сканирования с помощью специальных программ.

2.2 Понимание устройства и работы веб-сервера

Как и в предыдущих пунктах, начну с простого примера (кстати, совсем недавнего). При посещении одного из серверов, было обнаружено, что настройки сервера позволяют просматривать содержимое каталогов (листинг файлов). На сервере был найден phpMyAdmin, но стандартные пароли к нему не подходили. Блуждая по каталогам в попытке найти уязвимые скрипты (там самописные скрипты для обработки записей в больницу и раздачи «номерков») был найден текстовый (!) файл содержащий одну строчку с двумя словами, разделёнными запятой. Как оказалось, это и был логин с паролем для phpMyAdmin. База данных, как говориться, наша из-за клинической глупости разработчика, но вот для записи своего файла на сервер понадобились знания об этом сервере. Например, нужно знать абсолютный путь, куда будет произведена запись шела. Чтобы знать абсолютный путь, нужно хотя бы знать структуру каталогов сервера Apache.

Этим примером я хочу сказать не то, что нужно выучить структуру Apache. Я хочу сказать, что без знаний о работе, об общих принципах устройства веб-сервера, постоянно будете натыкаться на невозможность в полной мере «раскрутить» уязвимость, даже если она уже найдена.

Помните что я говорил про языки программирования и про понимание принципов работы веб-сайтов? Чтобы понять всю глубину нужно самому стать веб-разработчиком. Чтобы понять веб-сервер, нужно читать книжки не по взлому веб-сервера, а по его обслуживанию. Т.е. нужно самому стать системным администратором, и осознание слабых мест, в какие стороны, при попытке проникнуть на веб-сервер, нужно «капать», придёт само.

2.3 Понимание устройства и работы веб-сайтов

Вообще, очень много станет ясно уже при изучении языков программирования для веб-приложений.

Чтобы продолжить знакомство с устройством веб-сайтов, желательно иметь опыт по работе с популярными системами управления контентом, с популярными движками и скриптами. Знать как устроены плагины и темы, где они располагаются, какие файлы могут представлять интерес и т.д.

Читайте также:  Дистрибутивы линукс для смартфонов

Например, очень простое знание о том, что для добавление на сайт картинки, которая по отношению к .htm файлу находится на два каталога выше можно использовать конструкцию ./../../, т.е. например

Это очень, казалось бы, банальная информация позволила создать очень простой, но потрясающе эффективный «хак»

Когда я открыл это для себя, я ещё пользовался бесплатным хостингом (название домена компании holm.ru или holms.ru — они ещё раздавали домены третьего уровня вида *.h7.ru, *.h10.ru, т.е. цифры там последовательно менялись, по мере заполнение серверов).

Я применил эти несколько строчек, которые привёл чуть выше и оказалось, что я могу выходить за границы выделенной мне папки. Чуть усовершенствованный скрипт позволил мне не просто просматривать корень сервера, а переходить во внутрь папок, которые я видел и открывать файлы для просмотра. Результат был потрясающим! Я очень много узнал о чужих сайтах. Главное открытие, что соотношение «нормальных сайтов» к «ненормальным» (мошенническим, бессодержательным, просто пустым) не в пользу «нормальных». Попадались «сайты знакомств» (я до сих пор иногда встречаю такие), где очень красивая «обложка» — главная страница, с симпатичными людьми, которые как бы уже являются пользователями сайта. И если хочешь с ними начать общаться, то нужно зарегистрироваться и что-то там ввести или заплатить. А на самом деле внутри веб-сайта кроме этих десяти фотографий больше ничего и нет. Это сейчас всем понятно — но в своё время Интернет-мошенничество я изучал именно так.

Но самое потрясающее, что обнаружил, это сайты в названии доменных имён которых встречалось слово mail. «Снаружи» эти сайты состояли из одной единственной страницы, полностью идентичной странице входа в почту mail.ru. А вот внутри там лежало несколько файлов, один из которых почти всегда оказывался собранными парами логин-пароль. Т.е. кто-то под разными предлогами (посмотреть открытку, например), заманивал пользователей на эту страницу, ничего не подозревающие пользователи вводили свои данные и они уже попадали к хакеру.

Скомпрометированных учётных записей было много (со всех сайтов я набрал больше сотни). Примерно в половине случаев пароль не подходил (пользователь успел его сменить), либо почтовый ящик был полностью пустой (пользователь что-то заподозрил и удалил все письма). Но вот вспоминая вторую половину, я до сих пор мучаюсь догадкой: люди, когда думают что никто не узнает, действительно такие еба… странные или мне просто повезло с подборкой? Из интересных ящиков очень многие, так или иначе, содержали переписку по обмену интимными фотографиями, разговоры «ниже пояса», причём в значительной части была затронута и тема несовершеннолетних. Я до сих пор помню фотку переодетого в женский наряд мужчины (чулки и вообще полный набор), который прислал её женщине, которая интересовалась женщинами (мужчина убеждал, что он — это женщина), чтобы она в ответ прислала свои «голые» фотки. А на что готов пойти ты, чтобы увидеть фотографию голой женщины? 🙂

Вполне возможно, что это были какие-нибудь следственные мероприятия, такой способ негласного получения информации от личностей, которые попали в поле зрение правоохранителей. Я всё-таки отказываюсь думать, что люди в своей большой (или хотя бы в значительной массе) такие.

Трудно не согласиться с Виктором Пелевиным

Просто ассемблер чужой души при близком рассмотрении редко выглядит привлекательно.

3. Основы работы операционной системы Linux

Чем больше вы знаете про Linux, тем лучше. Хотя бы уже потому, что огромное количество веб-серверов в Интернете в качестве операционной системы использует Linux.

Я рассказал свой случай про выход за пределы из выделенного мне на хостинге каталога. У другого хостера, мне удалось попасть в корневой каталог файловой системы (а вот сайты оказались недоступными, поскольку права на папки были прописаны правильно). И представьте ситуацию: я мечусь по папкам сервера, ведь нужно быстрее хватать что-нибудь ценное, пароли разные и т.д. А где что лежит у Linux’а? В какие каталоги надо переходить и какие файлы скачивать? Я был совершенно не знаком тогда с Linux и главный вывод, который я сделал для себя после того случая — нужно разбираться с Linux, иначе никак.

Многие программы для анализа сетей и веб-сайтов на проникновение работают на Linux. Нужно знать, как установить, как запустить (если это консольная программа).

Вообще, в непривычной ОС пользователи иногда не знают, как скопировать файл, или как его открыть, или как установить новую программу, или «где диск D» и т.д. В общем, изучайте Linux в самых разных его аспектах.

И начтите своё изучение не с Kali Linux, а, например, с Linux Mint.

Kali Linux — она не очень подходит для новичков. Даже в дружелюбной Linux Mint могут возникать вопросы по обычному использованию. Что уж говорить про Kali Linux. Все программы, которые есть в Kali Linux, прекрасно могут работать и на других версиях Linux. Я бы рекомендовал так: в качестве основной ОС использовать Linux Mint, а после изучения новых программ устанавливать их в Linux Mint или же, в качестве виртуальной машины (второй ОС) использовать Kali Linux.

Заключительные слова

Я привёл несколько примеров из своих экспериментов по обходу ограничений и проникновению. В скольких из них я использовал Kali Linux? Ни в одном. Я прекрасно помню своё первое знакомство с предшественницей Kali Linux — я установил в виртуальный компьютер, посмотрел меню (там непонятные английский названия), попробовал запустить некоторые программы (почти всегда открывалась командная строка), понял, что здесь ВООБЩЕ ничего не понятно, всё закрыл и удалил.

Изучайте языки программирования (PHP, MySQL, HTML), новые технологии, Linux, устройство и работу сервера. Старайтесь мыслить в созидательном русле (как сделать сайт, как обслуживать сервер, как эффективно работать в Linux) и понимание глубинных процессов придёт само. А именно это (знание и понимание происходящих процессов) и есть главное богатство хакера. Не нужно зацикливаться на Kali Linux. Изучение Kali Linux без знания того, что я перечислил выше — это равносильно построению дома без фундамента.

Источник

Оцените статью