Приветствую тебя, мой дорогой читатель, в третьей части серии статей «Приручение черного дракона. Этичный хакинг с Kali Linux”.
Полный список статей прилагается ниже, и будет дополняться по мере появления новых.
Приручение черного дракона. Этичный хакинг с Kali Linux:
Часть 1. Вводная часть. Подготовка рабочего стенда.
Часть 3. Footprinting. Разведка и сбор информации.
Часть 4. Сканирование и типы сканирования. Погружение в nmap.
Сегодня мы поговорим о первой фазе абсолютно любой атаки называемой футпринтинг (разведка и сбор информации о цели).
Я расскажу о том какой тип информации можно получить данным методом, какие инструменты сбора информации существуют и какие техники применяются.
Если в целом разделять тестирование на проникновение по типам, то можно выделить условно три типа тестов: тип белый ящик (whitebox), тип серый ящик (greybox), и тип черный ящик (blackbox). Поговорим немного о каждом из вышеупомянутых методов.
Тестирование по типу «белого ящика» используется в том случае, когда проверяющий систему специалист хорошо ее знает и имеет полный доступ ко всем ее компонентам.
Тестирование по типу «черного ящика» используется в том случае, когда проверяющий систему специалист не знает о ней ровным счетом ничего (она представляет для него закрытый черный ящик без каких-либо вспомогательных подсказок, как его открыть). Именно этот метод используется для того, чтобы сымитировать реальную атаку злоумышленником на наши сетевые ресурсы, или ресурсы нашей организации. И для того, чтобы получить доступ к полностью закрытой системе, необходимо применить целый арсенал инструментов и методологий сбора всей возможной информации, которая может быть нам полезна в дальнейшем.
Тестирование по типу «серого ящика» используется в том случае, когда проверяющий систему специалист имеет лишь ограниченную информацию о тестируемом объекте.
И так, из вышеперечисленного следует, что самый близкий к реальному сценарию тип тестирования это «черный ящик», когда у нас есть цель о которой мы ничего не знаем.
Для начала рассмотрим самый простой сценарий, в котором мы будем искать атакуемое устройство в локальной сети. Не зная о нем ничего, кроме того, что это некий веб-сервер расположенный в той же сети, к которой подключен наш компьютер.
И так, погнали!:)
Запускаем машину Kali Linux и Metasploitable2 (о том, как их скачать и установить я писал в самой первой части серии).
Открываем терминал в Kali и переходим в привилегированный режим командой sudo -s
Далее, по понятным причинам, нам необходимо узнать IP адрес нашей цели, для того, чтобы начать с ней работать. Это можно сделать двумя способами:
1) Набрать команду arp-scan -l
которая выведет нам весь список устройств в сети кроме нашей машины с Kali;
2) Узнать для начала IP адрес нашей машины, командой ip address, а затем просканировать всю сеть утилитой netdiscover, которая выдаст нам тот же результат, что и arp-scan.
Проверим оба варианта. Сперва просканируем сеть с помощью arp-scan:
Введем команду ip address и получим следующий результат:
Как видно на скриншоте, команда вывела нам список сетевых интерфейсов на нашем устройстве со всей подробной информацией о них, включая физические MAC-адреса и IP адреса. Первый интерфейс loopback с адресом 127.0.0.1 он нам не особо интересен, а вот второй eth0 – это и есть тот самый сетевой интерфейс который получает от нашего виртуального маршрутизатора адрес: 192.168.238.128 (у вас он может быть другим, но это не столь важно).
Далее попробуем просканировать всю сеть утилитой netdiscover
наберем команду netdiscover -r 192.168.238.0/24
и посмотрим на результат:
Для того, чтобы остановить сканирование нажмем сочетание клавиш Ctrl+C.
И так, мы видим в списке несколько устройств.
Если нашей целью является некий веб-сервер, то вполне логично предположить, что у него должен быть открыт рабочий порт HTTP (по-умолчанию 80) либо HTTPS (по-умолчанию 443). В этом нам поможет мощнейший сетевой сканер nmap, у которого просто обширнейший функционал, но подробнее с ним мы познакомимся несколько позже, а пока просто запустим nmap с указанием единичного адреса цели (либо всей сети).
Сканирование займет какое-то время, после чего nmap выведет нам результат.
Как мы видим на скриншоте выше, у одного из хостов с адресом 192.168.238.129 nmap обнаружил огромное количество открытых служебных портов. В том числе и 80-й порт http.
Отлично! Попробуем ввести его в адресной строке браузера и посмотрим что там.
Бинго! Это именно тот ресурс который мы хотели найти. Теперь нам известен его IP адрес и нам так же известно какие сервисы кроме http на нем еще открыты. Для сбора большей информации сканером nmap используем ключ -sV
(scan version), который позволит нам узнать тип и семейство операционной системы, версию отдельных сервисов, что вполне может быть полезно при дальнейшем поиске уязвимостей цели.
И тут мы сразу видим, что у ftp используется устаревшая версия 2.3.4 под которую существует эксплоит в виде бэкдора не требующий от нас знания логина и пароля администратора сервера либо вообще любого его пользователя. В этой части мы не будем ничего взламывать, а лишь проведем разведку и соберем всю необходимую для дальнейшего нападения информацию.
Что ж, продолжаем собирать информацию о нашем атакуемом ресурсе. Для того, чтобы узнать как можно больше о содержимом веб-сервиса и проверить его на наличие уязвимостей, воспользуемся таким замечательным инструментом, как сканер веб-серверов nikto. Он проверит нашу цель на наличие различных уязвимостей, что наверняка нам будет полезно в дальнейшем.
Список довольно таки внушительный. Где-то сканер нашел страницу phpMyAdmin для управления базой данных MySQL и директорию test которая может быть интересна для дальнейшего исследования. Так же сканер обнаружил, что ресурс подвержен атаке на основе межсайтовой трассировки XST и позволяет применить к некоторым формам XSS-атаку.
Надо сказать, не плохую работу мы проделали и собрали довольно много полезной информации о цели, которая уже сейчас позволила бы нам провести ряд атак и получить контроль над системой.
Естественно, примеры рассматриваемые в настоящей серии статей самые простые. Но как показывает практика, довольно часто начинающие (и не только) специалисты обслуживающие IT инфраструктуру компании допускают одни и те же "детские" ошибки, связанные с несвоевременным обновлением устаревших версий ПО сетевого оборудования и ОС на рабочих ПК (тут можно вспомнить эпидемию связанную с RouterOS версий младше 6.41, или эксплоит под Windows CVE-2017-0144 с кодовым названием Eternal Blue), отключением брандмауэра "потому что с ним что-то не работает, а разбираться в этом лень" и многим банальным на первый взгляд вещам. И я сейчас нисколько не преувеличиваю, а описываю все то, с чем сталкивался лично в работе.
Именно эти ошибки чаще всего и становятся той самой роковой точкой входа для злоумышленника.
На этом я прощаюсь с тобой, дорогой читатель, до новых встреч! В следующей раз мы рассмотрим методы и типы сканирования подробнее, а так же изучим все основные возможности сканера nmap.
mrkaban
Сами инструменты нападения рассматривать не будете? burp для xss, или XSStrike, metasploit конечно популярен, но и его можно показать.
Опять же, для понимания наличия уязвимости в той или иной части экосистемы компании важно попытаться проэксплуатировать. К тому же, сам факт наличия эксплоита еще может ничего не значить, так как ему может требоваться сессия или действующий логин\пароль пользователя.
V1p3rL0rd Автор
Здравствуйте! Разумеется, все будем рассматривать в следующих статьях. По metasploit и burpsuite будут отдельные обзорные статьи с практическими примерами. Благодарю за отзыв!