Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
Приветствую тебя, мой дорогой читатель, в третьей части серии статей «Приручение черного дракона. Этичный хакинг с Kali Linux”.
Сегодня мы поговорим о первой фазе абсолютно любой атаки называемой футпринтинг (разведка и сбор информации о цели).
Я расскажу о том какой тип информации можно получить данным методом, какие инструменты сбора информации существуют и какие техники применяются.
Если в целом разделять тестирование на проникновение по типам, то можно выделить условно три типа тестов: тип белый ящик (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.