Toolkit начинающего пентестера: представляем краткий дайджест главных инструментов, которые пригодятся при пентесте внутренней сети. Эти инструменты уже активно используются широким кругом специалистов, поэтому знать об их возможностях и владеть в совершенстве будет полезно каждому.
Nmap – opensource утилита для сканирования сетей, является одним из самых популярных инструментов у безопасников и системных администраторов. В первую очередь используется для сканирования портов, но, кроме этого, имеет огромную массу полезных функций, что, по сути, делает Nmap супер-комбайном для исследования сетей.
Помимо проверки открытых/закрытых портов nmap может идентифицировать сервис, слушающий открытый порт, и его версию, а иногда помогает определить ОС. В Nmap есть поддержка скриптов для сканирования (NSE — Nmap Scripting Engine). С использованием скриптов возможно проверить уязвимости для различных сервисов (если, конечно, для них есть скрипт, либо можно всегда написать свой) или побрутить пароли от различных сервисов.
Таким образом, Nmap позволяет составить подробную карту сети, получить максимум информации о запущенных сервисах на хостах в сети, а также превентивно проверить некоторые уязвимости. Nmap также имеет гибкие настройки сканирования, возможна настройка скорости сканирования, количества потоков, количества групп для сканирования и т.д.
Удобен для сканирования небольших сетей и незаменим для точечного сканирования отдельных хостов.
Плюсы:
Быстро работает с небольшим диапазоном хостов;
Гибкость настроек — можно комбинировать опции таким образом, чтобы получить максимально информативные данные за приемлемое время;
Параллельное сканирование — список целевых хостов разделяется на группы, а потом каждая группа поочередно сканируется, внутри группы используется параллельное сканирование. Также разделение на группы является небольшим недостатком (см.ниже);
Предопределенные наборы скриптов для разных задач — можно не тратить много времени на подбор конкретных скриптов, а указать группы скриптов;
Вывод результатов — 5 различных форматов, включая XML, который может быть импортирован в другие инструменты;
Минусы:
Сканирование группы хостов — информация о каком-либо хосте недоступна, пока не закончится сканирование всей группы. Это решается установкой в опциях максимального размера группы и максимального временного интервала, в течение которого будет ожидаться ответ на запрос, перед тем, как прекратить попытки или совершить еще одну;
При сканировании Nmap отправляет SYN-пакеты на целевой порт и ожидает любого ответного пакета или наступления таймаута, в случае когда ответа нет. Это негативно сказывается на производительности сканера в целом, в сравнении с асинхронными сканерами (например, zmap или masscan);
При сканировании больших сетей с использованием флагов для ускорения сканирования (—min-rate, —min-parallelism) может давать false-negative результаты, пропуская открытые порты на хосте. Также использовать данные опции следует с осторожностью, учитывая что большой packet-rate может привести к непреднамеренному DoS.
Zmap
Zmap (не путать с ZenMap) — также сканер с открытым исходным кодом, создавался как более быстрая альтернатива Nmap.
В отличии от nmap — Zmap при отправке SYN-пакетов не ждет пока вернется ответ, а продолжает сканирование, параллельно ожидая ответы от всех хостов, таким образом фактически он не поддерживает состояние соединения. Когда ответ на SYN-пакет придет Zmap по содержанию пакета поймет какой порт и на каком хосте был открыт. Кроме того, Zmap отправляет только один SYN-пакет на сканируемый порт. Также есть возможность использования PF_RING для быстрого сканирования больших сетей, если у вас вдруг оказался под рукой 10-гигабитный интерфейс и совместимая сетевая карта.
ZMap рандомизирует цели для равномерного распределения нагрузки на сканируемой стороне;
Возможность интеграции с ZGrab (инструмент для сбора информации о сервисах на прикладном уровне L7).
Минусы:
Может стать причиной отказа в обслуживании сетевого оборудования, к примеру, вывести из строя промежуточные маршрутизаторы, несмотря на распределенную нагрузку, поскольку все пакеты будут проходить через один маршрутизатор.
Masscan
Masscan — удивительно, но тоже сканер с открытым исходным кодом, который создавался с одной целью — сканировать Интернет ещё быстрее (меньше, чем за 6 минут со скоростью ~10 млн пакетов/с). По сути работает почти также как и Zmap, только ещё быстрее.
Плюсы:
Синтаксис схож с Nmap, а также программа поддерживает некоторые совместимые с Nmap опции;
Cкорость работы — один из самых быстрых асинхронных сканеров.
Гибкий механизм сканирования — возобновление прерванного сканирования, распределение нагрузки по нескольким устройствам (как и в Zmap).
Минусы:
Аналогично как и с Zmap нагрузка на саму сеть крайне высока, что может привести к DoS;
По умолчанию нет возможности сканировать на прикладном уровне L7;
Nessus
Nessus — сканер для автоматизации проверки и обнаружения известных уязвимостей в системе. Исходный код закрыт, существует бесплатная версия Nessus Home, которая позволяет сканировать до 16 IP-адресов с такой же скоростью и подробным анализом, что и в платной версии.
Способен определять уязвимые версии служб или серверов, обнаруживать ошибки в конфигурации системы, выполнять bruteforce словарных паролей. Можно использовать для определения корректности настроек сервисов (почта, обновления и т.п.), а также при подготовке к PCI DSS аудиту. Кроме того в Nessus можно передать учетные данные для хоста (SSH или доменная учетная записи в Active Directory) и сканер получит доступ к хосту и проведет проверки прямо на нем, эта опция называется credential scan. Удобен для компаний, проводящих аудиты собственных сетей.
Плюсы:
Отдельные сценарии для каждой уязвимости, база которых постоянно обновляется;
Вывод результатов — простой текст, XML, HTML и LaTeX;
API Nessus — позволяет автоматизировать процессы сканирования и получения результатов;
Credential Scan, можно использовать учетные данные Windows или Linux для проверки обновлений или иных уязвимостей;
Возможность писать собственные встраиваемые модули безопасности — в сканере имеется собственный язык сценариев NASL (Nessus Attack Scripting Language);
Можно задать время для регулярного сканирования локальной сети — за счёт этого Служба Информационной Безопасности будет в курсе всех изменений в конфигурации безопасности, появления новых хостов и использования словарных паролей или паролей по умолчанию.
Минусы:
Возможны нарушения в работе сканируемых систем — с отключенной опцией safe checks требуется работать аккуратно;
Версия допускающая коммерческое использование не является бесплатной.
Net-Creds
Net-Creds — инструмент на языке Python для сбора паролей и хешей, а также иной информации, например, посещенных URL, загруженных файлов и иной информации из трафика, как в реальном времени при проведении MiTM-атаки, так и из предварительно сохраненных PCAP-файлов. Подходит для быстрого и поверхностного анализа больших объёмов трафика, например, при сетевых MiTM-атаках, когда время ограничено, а ручной анализ с помощью Wireshark требует много времени.
Плюсы:
Идентификация сервисов основана на анализе пакетов вместо определения сервиса по номеру используемого порта;
Прост в использовании;
Широкий спектр извлекаемых данных — в том числе логины и пароли для FTP, POP, IMAP, SMTP, протоколы NTLMv1/v2, а также информацию из HTTP-запросов, например login-формы и basic auth;
network-miner
network-miner — аналог Net-Creds по принципу работы, однако имеет большую функциональность, например есть возможность извлечения файлов переданных по протоколам SMB. Как и Net-Creds, удобен, когда нужно быстро проанализировать большой объём трафика. Также имеет удобный графический интерфейс.
Плюсы:
Графический интерфейс;
Визуализация и классификация данных по группам — упрощает анализа трафика и делает его быстрым.
Минусы:
У ознакомительной версии некоторый функционал ограничен.
mitm6
mitm6 — инструмент для проведения атак на IPv6 (SLAAC-attack). IPv6 является приоритетным в ОС Windows (вообще говоря, и в остальных ОС тоже), и в конфигурации по умолчанию IPv6-интерфейс включен, это позволяет злоумышленнику установить жертве свой DNS-сервер, используя пакеты Router Advertisement, после чего злоумышленник получает возможность подменить DNS жертвы. Прекрасно подходит для проведения Relay-атака вместе с утилитой ntlmrelayx, что позволяет успешно атаковать Windows-сети.
Плюсы:
Работает прекрасно во многих сетях как раз из-за стандартных конфигурации Windows-хостов и сетей;
Responder
Responder — инструмент для спуфинга широковещательных протоколов разрешения имен (LLMNR, NetBIOS, MDNS). Незаменимый инструмент в Active Directory сетях. Кроме спуфинга умеет перехватывать NTLM-аутентификацию, в комплекте также идет набор инструментов для сбора информации и реализации атак NTLM-Relay.
Плюсы:
По умолчанию поднимает множество серверов с поддержкой NTLM-аутентификации: SMB, MSSQL, HTTP, HTTPS, LDAP, FTP, POP3, IMAP, SMTP;
Позволяет подменять DNS в случае MITM-атак (ARP-спуфинг и т.д.);
Analyze mode — для пассивного наблюдения за запросами;
Формат перехваченных хешей при NTLM-аутентификации совместим с John the Ripper и Hashcat.
Минусы:
При запуске под Windows биндинг 445 порта (SMB) сопряжен с некоторыми сложностями (требуется остановка соответствующих сервисов и перезагрузка);
Evil_Foca
Evil Foca — инструмент для проверок различных сетевых атак в сетях IPv4 и IPv6. Сканирует локальную сеть, идентифицируя устройства, маршрутизаторы и их сетевые интерфейсы, после чего можно совершать различные атаки на участников сети.
Плюсы:
Удобен для проведения MITM-атак (ARP спуфинг, DHCP ACK-инъекции, атака SLAAC, DHCP-спуфинг);
Можно проводить DoS-атаки — с ARP-спуфингом для IPv4-сетей, с SLAAC DoS в IPv6-сетях;
Можно осуществить DNS hijacking;
Прост в использовании, удобный графический интерфейс.
Минусы:
Работает только под Windows.
Bettercap
Bettercap — мощный фреймворк для анализа и атаки сетей, причем речь здесь также и про атаки на беспроводные сети, BLE (bluetooth low energy) и даже атаки MouseJack на беспроводные HID устройства. Кроме того, содержит в себе функциональность для сбора информации из трафика (аналогично net-creds). В общем, швейцарский нож (all in one). С недавних пор еще имеет графический web-based интерфейс.
Плюсы:
Сниффер учётных данных — можно отлавливать посещенные URL и HTTPS-хосты, HTTP-аутентификацию, учетные данные по множеству различных протоколов;
Много встроенных MITM-атак;
Модульный HTTP(S) прозрачный прокси — можно управлять трафиком в зависимости от потребностей;
Встроенный HTTP-сервер;
Поддержка caplets — файлов, позволяющих описать скриптовым языком сложные и автоматизированные атаки.
Минусы:
Некоторые модули — к примеру, ble.enum — частично не поддерживаются macOS и Windows, некоторые рассчитаны только на Linux — packet.proxy.
gateway_finder
gateway finder — скрипт на Python, помогающий определить возможные gateway’и в сети. Удобен для проверки сегментации или поиска хостов, которые могут маршрутизировать в необходимую подсеть или Интернет. Подходит для внутренних пентестов, когда нужно быстро проверить наличие несанкционированных маршрутов или маршрутов к другим внутренним локальным сетям.
Плюсы:
Прост в использовании и кастомизации.
mitmproxy
mitmproxy — opensource инструмент для анализа трафика, защищенного с помощью SSL/TLS. mitmproxy удобен для перехвата и модификации защищенного трафика, разумеется, с некоторыми оговорками; инструмент не осуществляет атаки на дешифрование SSL/TLS. Используется, когда нужно перехватить и зафиксировать изменения в трафике, защищённом SSL/TLS. Состоит из Mitmproxy — для проксирования трафика, mitmdump — похож на tcpdump, но для HTTP(S)-трафика, и mitmweb — веб-интерфейса для Mitmproxy.
Плюсы:
Работает с различными протоколами, а также поддерживает модификацию различных форматов, от HTML до Protobuf;
API для Python — позволяет писать скрипты для нестандартных задач;
Может работать в режиме прозрачного прокси с перехватом трафика.
Минусы:
Формат дампа ни с чем не совместим — трудно использовать grep, приходится писать скрипты;
SIET
SIET — инструмент для эксплуатации возможностей протокола Cisco Smart Install. Возможно получение и модификация конфигурации, а также захват контроля над устройством Cisco. Если вы смогли получить конфигурацию устройства Cisco, то можно проверить ее с помощью CCAT, этот инструмент полезен для анализа безопасности конфигурации устройств Cisco.
Плюсы:
Использование протокола Cisco Smart Install, позволяет:
Изменить адрес tftp-сервера на клиентском устройстве, отправив один искаженный пакет TCP;
Скопировать конфигурационный файл устройства;
Заменить конфигурацию устройства, например, добавив нового пользователя;
Обновить образ iOS на устройстве;
Выполнить произвольный набор команд на устройстве. Это новая функция, работающая только в версиях 3.6.0E и 15.2 (2) E iOS;
Минусы:
Работает с ограниченным набором устройств Cisco, также нужен “белый” ip для получения ответа от устройства, или необходимо находиться с устройством в одной сети;
yersinia
yersinia — фреймворк для L2-атак, созданный, чтобы эксплуатировать недостатки безопасности в различных сетевых протоколах L2.
Плюсы:
Позволяет осуществлять атаки на протоколы STP, CDP, DTP, DHCP, HSRP, VTP и иные.
Минусы:
Не самый удобный интерфейс.
proxychains
proxychains — инструмент, который позволяет перенаправить трафик приложения через указанный SOCKS-прокси.
Плюсы:
Помогает перенаправить трафик некоторых приложений, которые по умолчанию не умеют работать с прокси;
В этой статье мы кратко рассмотрели преимущества и недостатки основных инструментов для пентеста внутренней сети. Следите за обновлениями, мы планируем выкладывать такие подборки и дальше: Web, базы данных, мобильные приложения — об этом тоже обязательно напишем.
Делитесь своими любимыми утилитами в комментариях!