
bash скрипт для разведки и DOS-атак
Меню на bash select для быстрой и простой разведки сети и DOS-атак
Sudo используется там, где это необходимо. Протестировано на Debian и Arch.
Будем рады любым доработкам и pull request'ам!
bash
sudo
curl
netcat (должен поддерживать опцию '-k', рекомендуется вариант openbsd)
hping3 (или nping можно использовать как замену для flood-атак)
openssl
stunnel
nmap
whois (не обязательно, но желательно)
nslookup (или 'host')
ike-scan
bind-tools (часто входят в пакет 'bind', необходимы для "host" и "nslookup")
$ wget https://raw.githubusercontent.com/GinjaChris/pentmenu/master/pentmenu
$ chmod +x ./pentmenu
$ ./pentmenu
Также можно загрузить последний релиз с https://github.com/GinjaChris/pentmenu/releases, распаковать и запустить скрипт. Или используйте git clone:
git clone https://github.com/GinjaChris/pentmenu
МОДУЛИ РАЗВЕДКИ
Show IP — использует curl для определения вашего внешнего IP. Запускает ip a или ifconfig (в зависимости от ситуации) для отображения IP локальных интерфейсов.
DNS Recon — пассивная разведка, выполняет DNS-запрос (прямой или обратный в зависимости от введённой цели) и whois-запрос цели. Если whois недоступен, выполняется запрос к ipinfo.io (работает только для IP, не для имён хостов).
Ping Sweep — использует nmap для ICMP-эхо (ping) по целевым хостам или сети.
Quick Scan — сканер TCP-портов с помощью nmap, использует TCP SYN-сканирование. Nmap не выполняет ping sweep перед SYN-сканированием. Этот модуль сканирует 1000 самых распространённых портов. Может использоваться для сканирования одного хоста или целой сети, но в первую очередь предназначен для обнаружения целей в диапазоне IP-адресов. Сканирование может занять много времени, пожалуйста, наберитесь терпения.
Detailed Scan — использует nmap для определения живых хостов, открытых портов, попытки определения ОС, захвата баннеров/определения версий работающего ПО. Nmap не выполняет ping sweep перед сканированием. User-Agent nmap заменяется на строку браузера Microsoft Edge, чтобы затруднить обнаружение через HTTP. Все TCP-порты цели (имя хоста/IP/подсеть) сканируются. Хотя модуль может сканировать один хост или множество, его основное назначение — сбор информации об одной системе. Сканирование может занять много времени, пожалуйста, наберитесь терпения.
UDP scan — использует nmap для сканирования открытых UDP-портов. Сканируются все UDP-порты.
Check Server Uptime — оценивает время работы цели, опрашивая открытый TCP-порт с помощью hping3. Точность результатов варьируется от машины к машине; работает не со всеми серверами.
IPsec Scan — пытается обнаружить IPsec VPN-сервер с помощью ike-scan и различных предложений фазы 1. Любой текстовый вывод этого модуля, будь то "handshake" или "no proposal chosen", указывает на наличие IPsec VPN-сервера. См. http://nta-monitor.com/wiki/index.php/Ike-scan_User_Guide для отличного обзора ike-scan и фазы 1 VPN.
МОДУЛИ DOS
ICMP Echo Flood — использует hping3 для традиционной ICMP-эхо-флуд-атаки на цель. На современной системе эффект будет минимальным, но это полезно для проверки поведения межсетевых экранов. Используйте 'Ctrl C' для остановки флуда. Исходный адрес флуд-пакетов настраивается. Обратите внимание: целью может быть IP (например, 127.0.0.1) или имя хоста (например, localhost.localnet.com). Не включайте протокол в состав цели (например, http://localhost.localnet.com).
ICMP Blacknurse Flood — использует hping3 для ICMP-флуда на цель. ICMP-пакеты имеют тип "Destination Unreachable, Port Unreachable". Эта атака может вызвать высокую загрузку процессора на многих системах. Используйте 'Ctrl C' для остановки. Подробнее см. http://blacknurse.dk/. Исходный адрес флуд-пакетов настраивается.
TCP SYN Flood — отправляет поток TCP SYN-пакетов с помощью hping3. Если hping3 не найден, используется утилита nmap-nping. Предпочтение отдаётся hping3, так как он отправляет пакеты максимально быстро. Доступны опции: использовать исходный IP вашего интерфейса, указать (подделать) исходный IP или подделывать случайный исходный IP для каждого пакета. Опционально можно добавить данные в SYN-пакет. Все SYN-пакеты имеют установленный бит фрагментации и используют виртуальный MTU hping3 в 16 байт, что гарантирует фрагментацию. При использовании nmap-nping отправляется X пакетов в секунду до достижения Y пакетов, и разрешено только использование IP интерфейса или указанного (поддельного) исходного IP. TCP SYN-флуд вряд ли выведет из строя сервер, но является хорошим способом проверить инфраструктуру коммутаторов/маршрутизаторов/межсетевых экранов и таблицы состояний. Обратите внимание: хотя hping будет сообщать об исходящем интерфейсе и IP, что может привести к мысли, что скрипт работает не так, как ожидалось, исходный IP будет установлен, как указано; при необходимости проверьте захват пакетов трафика! Поскольку источник можно задать, легко запустить, например, LAND-атаку (см. https://en.wikipedia.org/wiki/LAND). Возможность установки источника также позволяет, например, отправлять SYN-пакеты на одну цель и принуждать SYN-ACK-ответы на другую.
TCP ACK Flood — предлагает те же опции, что и SYN-флуд, но устанавливает флаг ACK (Acknowledgement) вместо SYN. Некоторые системы будут тратить избыточные циклы процессора на обработку таких пакетов. Если исходный IP установлен как IP установленного соединения, эта 'слепая' TCP ACK-флуд-атака может нарушить это соединение. Атака считается 'слепой', так как не учитывает детали установленного соединения (например, порядковые номера или номера подтверждения).
TCP RST Flood — предлагает те же опции, что и SYN-флуд, но устанавливает флаг RST (Reset) вместо SYN. Такая атака может прервать установленные соединения, если исходный IP установлен как IP существующего соединения. См., например, https://en.wikipedia.org/wiki/TCP_reset_attack.
TCP XMAS Flood — аналогичен SYN и ACK-флудам, с теми же опциями, но отправляет пакеты со всеми установленными TCP-флагами (CWR, ECN, URG, ACK, PSH, RST, SYN, FIN). Пакет считается 'подсвеченным как рождественская ёлка'. По крайней мере теоретически, такой пакет требует больше ресурсов для обработки получателем, чем стандартный. Однако такие пакеты довольно характерны для необычного поведения (например, атаки) и обычно легко идентифицируются IDS/IDP.
UDP Flood — очень похож на TCP SYN-флуд, но отправляет UDP-пакеты на указанные хост:порт. Как и TCP SYN-флуд, использует hping3, но если он не найден, пытается использовать nmap-nping. Все опции те же, что и для TCP SYN-флуда, за исключением того, что необходимо указать данные для отправки в UDP-пакетах. Опять же, это хороший способ проверить пропускную способность коммутатора/маршрутизатора или протестировать VOIP-системы.
SSL DOS — использует OpenSSL для попытки DOS цели по протоколу host:port. Это достигается открытием множества соединений, заставляя сервер выполнять дорогие вычисления рукопожатия. Это не самый красивый или элегантный код, не ожидайте, что он остановится сразу после нажатия 'Ctrl C', но он может быть жестоко эффективен. Предоставляется опция для повторного согласования (renegotiation) со стороны клиента; если целевой сервер поддерживает инициированное клиентом повторное согласование, следует выбрать эту опцию. Даже если целевой сервер не поддерживает повторное согласование со стороны клиента (например, CVE-2011-1473), атака всё равно может повлиять на сервер или вызвать DOS. Очень полезно запускать это против балансировщиков нагрузки/прокси/серверов с SSL (не только HTTPS, но и любых сервисов, зашифрованных SSL или TLS!), чтобы проверить, как они справляются с нагрузкой.