Вся информация является ознакомительной и не является призывом к действию.
Всем привет! Продолжаем цикл статей по практическому применению инструментов пентестера.
Решил я начать с описания исследования внешнего периметра, вообще хорошим тоном было бы объяснить что проведение тестов на проникновение подразделяется на несколько этапов:
- исследование внешнего периметра
- исследование внутреннего периметра
- исследование беспроводных точек доступа (Wi-Fi)
- исследование методом социальной инженерии
Зачастую исследование беспроводных точек доступа и исследование методом социальной инженерии включается в этап исследования внешнего периметра, но мы для наглядности вынесем это в отдельные этапы.
Внешний периметр
В наших статьях под внешним периметром будет пониматься совокупность сетевых объектов которые имеют маршрутизируемые в сети Интернет IP адреса и доменные имена (домены и айпишники объекта).
Сетевая разведка — получение и обработка данных об информационной системе клиента, ресурсов информационной системы, используемых устройств и программного обеспечения и их уязвимостях, средств защиты, а также о границе проникновения в информационную систему.
На данном этапе мы будем определять какие узлы функционируют у объекта, какие сервисы запущены на узлах. Можно было бы рассказать про методы OSINTa, но пожалуй освятим этот вопрос в разделе про социальную инженерию.
Итак будем исходить из того, что Вам как пентестеру передали список айпишников и доменных имен, че делать?
Начнем с классики NMAP.
Из Википедии
NMAP-Свободная утилита, предназначенная для разнообразного настраиваемого сканирования IP-сетей с любым количеством объектов, определения состояния объектов сканируемой сети. Изначально программа была реализована для систем UNIX, но сейчас доступны версии для множества операционных систем.
У nmap'а есть свой сайт где доступны различные версии для скачивания.
Для linux есть пакеты *.rpm, в kali nmap уже установлен, если каким-то чудом этого не произошло, то в консольке набираем
apt-get update
apt-get install nmap
Для ознакомления можно почитать help (nmap --help или man nmap).
Также на сайте существует версия и под Windows.
nmap в виде выходных данных предоставляет информацию о состоянии портов, если порт открыт то может определить функционирующий сервис на порту.
Состояние портов может быть следующее: Открыт означает, что приложение на целевой машине готово для установки соединения/принятия пакетов на этот порт. Фильтруется означает, что брандмауэр, сетевой фильтр или какая-то другая помеха в сети блокирует порт, и Nmap не может установить открыт этот порт или закрыт. Закрытые порты не связаны ни с каким приложение, так что они могут быть открыты в любой момент. Порт классифицируется как не фильтруется, когда они отвечают на зонды Nmap
для определения сервисов и их версий достаточно запустить nmap с ключиком sV
nmap -sV target
target может быть как отдельный IP адрес так и диапазон IP адресов
также может быть использован ключ -A который позволяет Активировать функции определения ОС и версии, сканирование с использованием скриптов и трассировку
Мы видем что на 22 порту работает служба удаленного доступа OpenSSH версии 6.6, на 80 веб-сервер Apache 2.4.7 и другие ...
Что же с этим делать? есть два пути
1. скопировать версию найденного ПО перейти на сайт где публикуются уязвимости и искать уязвимости указанной версии программного обеспечения
2. использовать скрипт nmap'a для определения уязвимостей
указанный скрипт автоматически выводит информацию о найденных уязвимостях, идентификаторах уязвимостей, а так же ссылок на их описание. В описании зачастую хранятся ссылки на сам exploit (программа/скрипт или алгоритм действий нацеленный на эксплуатацию уязвимости)
Теперь мы умеем определять на ip адресах запущенные службы и их версии в следующей статье мы рассмотрим инструменты для подбора паролей к сервисам.