РАЗБОР Статья

Методологии пентеста и рабочий набор инструментов

Сергей Попов
Сергей Попов Red Team · 6,7 тыс. сообщений
Подписаться
649
[ обложка статьи ]
Режим чтения
Тёмный антистатический коврик с ноутбуком, на экране которого светится терминал с выводом nmap и надписью PTES // OWASP WSTG. Рядом разложены USB-адаптер, сетевой кабель и телефон с графом BloodHou...


По данным IBM Cost of a Data Breach Report за 2024 год, средняя стоимость утечки - $4,88 млн, плюс 10% к прошлому году. Структурированный пентест обнаруживает уязвимости до того, как они конвертируются в эти цифры. Но результативность теста определяет не количество запущенных сканеров, а выбор методологии (methodology) - формализованного плана, который задаёт порядок действий, границы тестирования и формат отчёта. Это пятый выпуск серии по OWASP Web Security Testing Guide (WSTG). Разберём, как подобрать методологию пентеста под конкретное задание, и переведём приложения B и C WSTG: каталог рабочих инструментов и рекомендуемую литературу - с проверкой актуальности.

Методологии пентеста: какую выбрать под задачу​

OWASP WSTG и PTES: pentest фреймворк или методология​

OWASP Web Security Testing Guide (WSTG) - методология тестирования веб-приложений и API. WSTG описывает конкретные тестовые сценарии по категориям: управление идентификацией, аутентификация, авторизация, управление сессиями, валидация ввода, обработка ошибок, криптография, бизнес-логика и клиентская сторона. Каждый сценарий - цель проверки, способ тестирования, ожидаемый результат.

Тут стоит разделить роли смежных материалов OWASP. WSTG отвечает на вопрос "как проверять" - это методология. ASVS (Application Security Verification Standard) отвечает на вопрос "что должно выполняться" - это каталог требований для верификации. OWASP Top 10 описывает наиболее распространённые риски и указывает, куда смотреть в первую очередь. OWASP Developer Guide адресован разработчикам и объясняет, как писать безопасный код. WSTG и ASVS работают в связке: методология описывает процедуру проверки, каталог требований определяет критерии соответствия. Подменять одно другим - ошибка. Получишь либо формальную проверку без глубины, либо бессистемное тестирование без измеримых критериев.

PTES (Penetration Testing Execution Standard) - pentest фреймворк, покрывающий семь фаз: предварительные договорённости, сбор информации, моделирование угроз, анализ уязвимостей, эксплуатация, пост-эксплуатация и подготовка отчёта. PTES создавался практиками для реальных проектов и ближе всего к универсальному шаблону для профессионального пентестера. Его сильная сторона - структурирование полного цикла проекта: от согласования границ до финальной документации. Зрелые команды комбинируют PTES как каркас проекта с OWASP WSTG для глубины на прикладном уровне. И это, пожалуй, самая рабочая связка.

NIST SP 800-115 и OSSTMM: инфраструктура и операционная безопасность​

1792898636995.webp

NIST SP 800-115 - техническое руководство Национального института стандартов и технологий США. Назначение - помочь организациям в планировании и проведении технических тестов ИБ, анализе результатов и разработке мер по снижению рисков. NIST SP 800-115 ориентирован на регулируемые отрасли: госсектор, финансы, здравоохранение. Документ вписывается в NIST Cybersecurity Framework - результаты пентеста подключаются к программе управления рисками организации.

OSSTMM (Open Source Security Testing Methodology Manual) - методология операционной безопасности от ISECOM. OSSTMM определяет пять каналов тестирования: безопасность человека, физическая безопасность, беспроводная связь, телекоммуникации и сети передачи данных. Главное отличие - метрика RAV (Risk Assessment Value), которая позволяет измерять уровень безопасности количественно. OSSTMM не ограничивается веб-приложениями и охватывает операционную безопасность в целом.

PCI DSS (текущая версия - v4.0.1, опубликована PCI SSC) - стандарт индустрии платёжных карт. PCI DSS включает требования к тестированию на проникновение для организаций, обрабатывающих данные держателей карт. Это не методология тестирования, а набор обязательных требований - для их выполнения привлекается одна из перечисленных выше методологий.

Мобильные и встроенные системы​

Для мобильных приложений OWASP поддерживает MASTG (Mobile Application Security Testing Guide) - руководство по тестированию и реверс-инжинирингу мобильных приложений. MASTG проверяет слабые места из каталога OWASP MASWE (Mobile Application Security Weakness Enumeration), выровненные с контролями MASVS (Mobile Application Security Verification Standard).

Для прошивок и встроенных систем есть Firmware Security Testing Methodology (FSTM) - методология из девяти этапов для оценки безопасности прошивок, адресованная исследователям, разработчикам и консультантам.

МетодологияОбластьЗадачаКогда выбирать
OWASP WSTGВеб-приложения, APIТестовые сценарии по категориямПентест веб-приложения
PTESПолный цикл пентестаСтруктура проекта от start до отчётаКомплексный пентест
NIST SP 800-115ИТ-инфраструктураПланирование и документированиеРегулируемые отрасли, аудит
OSSTMMОперационная безопасностьИзмеримая оценка через RAVКомплексная проверка организации
PCI DSS v4.0.1Платёжные данныеОбязательные требованияОбработка данных карт
OWASP MASTGМобильные приложенияТестирование и реверсМобильный пентест
FSTMПрошивки, IoTОценка безопасности прошивокEmbedded/IoT-устройства

Ни одна методология не покрывает всё - они дополняют друг друга. MITRE ATT&CK дополняет картину: это не методология тестирования, а база знаний о тактиках, техниках и процедурах реальных атакующих. Пентестер использует ATT&CK для маппинга находок на реальное поведение угроз, Blue Team - для оценки готовности к конкретным техникам.

Набор инструментов для пентеста по задачам​

1792898750882.webp

Набор рабочих инструментов (toolchain) - не коллекция всех возможных утилит, а минимальный комплект под конкретную задачу. Приложение B WSTG содержит каталог свободно доступных инструментов для тестирования веб-приложений. Включение в каталог не означает рекомендацию OWASP - это перечень инструментов, доступных для скачивания (лицензии некоторых ограничивают коммерческое применение).

Ниже - перевод каталога, организованный по задачам.

Перехватывающие прокси и расширения браузера​

Перехватывающий прокси - центральный инструмент пентеста веб-приложений. Через него проходит весь HTTP(S)-трафик, и ты можешь просматривать и модифицировать запросы на лету.

ZAP (Zed Attack Proxy) - интегрированный инструмент для поиска уязвимостей в веб-приложениях. Содержит автоматические сканеры и средства ручного поиска. Спроектирован для людей с разным уровнем опыта - подходит разработчикам и функциональным тестировщикам, которые только начинают осваивать пентест. Лицензия - Apache 2. Поддерживает работу в режиме демона (-daemon) без GUI и переопределение конфигурации через -config key=value.

Burp Suite Community Edition - перехватывающий прокси для тестирования безопасности. Перехватывает и модифицирует HTTP(S)-трафик в обоих направлениях, работает с пользовательскими TLS-сертификатами и приложениями без поддержки прокси.

Telerik Fiddler - перехватывающий прокси, заточенный под разработчиков. Интегрируется с Windows HTTP API, перехватывая трафик приложений, которые не поддерживают настройку прокси.

Gori (hahwul/gori) - перехватывающий прокси с терминальным интерфейсом (TUI): вкладки для истории запросов, повторителя, фаззера, проверки контроля доступа, анализа JWT и токенов сессии, внеполосного тестирования. Поддерживает скриптовое выполнение через gori run и доступен для LLM-приложений через сервер Model Context Protocol (MCP - открытый протокол на базе JSON-RPC для подключения LLM-приложений к внешним инструментам и данным; сам по себе MCP не средство тестирования). Лицензия - Apache 2.0.

Расширения Firefox: HTTP Header Live (просмотр заголовков в реальном времени), Multi-Account Containers (изолированные контейнеры с отдельными cookies - для проверки контроля доступа между пользователями), Web Developer (набор инструментов разработчика).

Расширения Chrome: Web Developer (официальный порт), Cookie Editor (быстрое создание и редактирование cookies текущей вкладки - при тестировании управления сессиями).

Инструменты пентестера для специфических уязвимостей​

Каждый класс уязвимостей требует своего средства. В терминах MITRE ATT&CK: эксплуатация SQL-инъекций соответствует технике Exploit Public-Facing Application (T1190, Initial Access), подбор паролей - Brute Force (T1110, Credential Access).

SQL-инъекции: sqlmap - автоматизация обнаружения и эксплуатации SQL-инъекций, вплоть до перехвата контроля над сервером БД. Лицензия - GPLv2.

Проверка TLS: OWASP O-Saft, sslyze, testssl.sh, SSLScan - анализ TLS-конфигурации сервера. SSLLabs - онлайн-сервис для оценки TLS.

Подбор паролей. Локальный взлом хешей: John the Ripper, hashcat. Удалённый перебор: ZAP, Patator, THC Hydra, Burp Suite Community Edition (модуль Intruder).

Фаззинг. ffuf - быстрый веб-фаззер для перебора директорий, параметров и виртуальных хостов. Лицензия - MIT. Ключевые флаги: -w (путь к словарю и ключевое слово), -u (целевой URL с маркером подстановки), -recursion (рекурсивный обход), -json (вывод в JSON). Wfuzz, Jdam - альтернативные фаззеры из каталога WSTG.

Google Hacking: Google Hacking Database - база поисковых дорков для обнаружения раскрытой информации через поисковые системы.

Slow HTTP: Slowloris, slowhttptest - проверка устойчивости сервера к медленным HTTP-запросам. Эти инструменты потенциально нарушают доступность цели и приведены исключительно как справочный каталог.

Обнаружение контента и поверхности атаки​

Зеркалирование сайта: wget, curl - скачивание структуры и содержимого для офлайн-анализа.

Обнаружение контента (Content Discovery): Gobuster (перебор директорий и файлов), Waybackurls (извлечение URL из Wayback Machine: waybackurls example.com), GAU (сбор URL из публичных архивов: gau example.com), Unfurl (разбор URL на поддомены, пути и параметры).

Обнаружение поверхности атаки (Attack Surface Detection). OWASP Noir - анализирует исходный код и выводит список эндпоинтов, методов и параметров для множества языков и фреймворков. Поддерживает вывод в JSON, OpenAPI или curl-команды; может воспроизвести найденные эндпоинты через ZAP или Burp Suite. Соответствует фазе Active Scanning (T1595, Reconnaissance). OWASP Attack Surface Detector - статический анализ кода для выявления эндпоинтов; доступен как CLI и как плагин для ZAP и Burp Suite.

Сканирование портов и сервисов: Nmap - обнаружение хостов, открытых портов и запущенных сервисов. Соответствует технике Network Service Discovery (T1046, Discovery) по MITRE ATT&CK.

Сканеры безопасности, фреймворки и дистрибутивы​

Сканеры уязвимостей: ZAP, Nikto, Nuclei (YAML-шаблоны для обнаружения конкретных уязвимостей и ошибок конфигурации; сообщество поддерживает открытый репозиторий шаблонов), SecOps Solution.

Фреймворки эксплуатации: Metasploit - открытый фреймворк (лицензия BSD-style) с базой известных уязвимостей и эксплойтов, генератором полезных нагрузок и средствами пост-эксплуатации. Основной интерфейс - msfconsole. Предустановлен в Kali Linux. BeEF (Browser Exploitation Framework) - фреймворк для эксплуатации уязвимостей браузера.

Дистрибутивы Linux: Kali, Parrot, Samurai, Santoku, BlackArch - готовые сборки с предустановленными инструментами для пентеста.

Анализаторы кода и автоматизация браузера​

Анализаторы исходного кода: SpotBugs, Find Security Bugs (расширение SpotBugs для безопасности Java), phpcs-security-audit (PHP), PMD (Java/Apex), Microsoft .NET Analyzers, SonarQube Community Edition.

Автоматизация браузера. Инструменты этой категории применяются для проверки функциональности веб-приложений и адаптируются для тестов безопасности.

HtmlUnit - безголовый (GUI-less) браузер для Java-программ. Моделирует HTML-документы и предоставляет API для навигации по страницам, заполнения форм, перехода по ссылкам и взаимодействия с JavaScript. Может имитировать Chrome, Firefox или Edge в зависимости от конфигурации. Работает как Selenium-совместимый браузер через htmlunit-driver. Актуальная версия: официальная страница htmlunit.org указывает последний релиз - версия 5.6.0 (11 октября 2026), пример Maven-зависимости - org.htmlunit:htmlunit:5.3.0. Текст Приложения B WSTG на дату снимка указывал 4.21.0 - эта информация устарела.

Selenium - зонтичный проект (umbrella project), включающий набор инструментов и библиотек для автоматизации веб-браузеров: WebDriver, IDE и Grid. Кроссплатформенный, поддерживает множество языков программирования. Исходный текст WSTG описывал Selenium как "JavaScript based testing framework" - это упрощение; по официальной документации Selenium это семейство компонентов для управления браузерами.

Ресурсы для сравнения инструментов​

Помимо отдельных инструментов, практикам нужны ресурсы для сравнения средств безопасности по категориям (SAST, DAST, SCA, API Security):
  • AppSec Santa - курируемое сравнение более 160 инструментов безопасности приложений.
  • SecurityHeaders - онлайн-анализатор HTTP-заголовков безопасности (CSP, HSTS, X-Frame-Options и др.).
  • ZAP Documentation - официальная документация и учебные материалы ZAP.
  • Nuclei Templates - открытый репозиторий шаблонов для автоматизированного сканирования уязвимостей.

Автоматизация и ручная проверка​

1792898789782.webp

Автоматические сканеры (ZAP, Nuclei, Nikto) решают задачу покрытия: за минуты проверяют тысячи шаблонов уязвимостей. Но у автоматизации три системных ограничения, без понимания которых этапы пентеста превращаются в формальность.

Первое - ложное срабатывание (false positive). Сканер сообщает об уязвимости, которая не воспроизводится в конкретном окружении. Каждое автоматическое предупреждение без ручной проверки - гипотеза, а не доказательство. Заказчик тратит ресурсы на устранение ложных находок вместо реальных рисков.

Второе - слепые зоны бизнес-логики. Сканеры находят технические уязвимости (SQL-инъекции, XSS, ошибки конфигурации TLS), но не умеют тестировать логику приложения: оформить заказ по нулевой цене, обойти workflow одобрения, получить доступ к чужим данным через манипуляцию идентификатором. Такие проверки требуют ручного анализа поведения приложения и понимания его бизнес-контекста. Сканер тут бесполезен.

Третье - воспроизводимость. Автоматический алерт без описания условий воспроизведения (версия приложения, состояние сессии, параметры запроса) невозможно проверить и невозможно передать разработчику для исправления. Каждая находка должна сопровождаться конкретным запросом и ответом, зафиксированными с указанием версий всех компонентов. Критичные приложения стоит тестировать ежеквартально - промежуток между тестами оставляет месяцы необнаруженного риска. Непрерывное автоматизированное сканирование не заменяет целевых ручных проверок, а дополняет их.

Рекомендуемая литература и учебные лаборатории​

Приложение C WSTG содержит список рекомендованных публикаций, сайтов и учебных приложений. Ниже - перевод каталога с проверкой актуальности.

Книги​

Все книги из каталога WSTG - исторические издания. Принципы безопасной разработки, модели угроз и подходы к тестированию в них по-прежнему актуальны, но конкретные инструменты и протоколы - нет. Годы изданий, подтверждённые по страницам издательств, помечены звёздочкой; остальные указаны по данным WSTG.

КнигаАвторыГодISBN
The Web Application Hacker's Handbook, 2nd Ed.Dafydd Stuttard, Marcus Pinto20119781118026472
The Tangled WebMichal Zalewski (No Starch Press)2011*9781593273880
Hacking Exposed: Web Applications 3Joel Scambray, Vincent Liu, Caleb Sima2010*-
Secure Programming HOWTODavid Wheeler2015- (онлайн)
The Art of Software Security TestingChris Wysopal и др. (Addison-Wesley)2006*0321304861
Software Security: Building Security InGary McGraw (Addison-Wesley Professional)2006*0321356705
Building Secure SoftwareGary McGraw, John Viega (Addison-Wesley)2002*020172152X
Web Security Testing CookbookPaco Hope, Ben Walther (O'Reilly)20080596514832
Writing Secure Code, 2nd Ed.Mike Howard, David LeBlanc (Microsoft Press)2002*0735617228
Secure Coding: Principles and PracticesMark Graff, Kenneth R. Van Wyk (O'Reilly)20030596002424

Whitepapers: The Economic Impacts of Inadequate Infrastructure for Software Testing (NIST), Fundamental Practices for Secure Software Development, OWASP Developer Guide.

Полезные сайты и стандарты OWASP​

  • CERT Secure Coding Standards - стандарты безопасного кодирования.
  • SANS Internet Storm Center (ISC) - ежедневная аналитика угроз.
  • OWASP (The Open Worldwide Application Security Project), OWASP Cheat Sheet Series - краткие практические руководства.
  • OWASP GenAI Red Teaming Guide - тестирование генеративного ИИ.
  • OWASP AI Exchange - ресурс по безопасности ИИ.
  • OWASP OpenCRE (Open Common Requirements Enumeration) - связывание требований безопасности из разных стандартов.
  • Pentestmonkey - шпаргалки для пентеста.
  • Secure Coding Guidelines for .NET и Java SE.
  • SANS (System Administration, Networking, and Security Institute).

Учебные уязвимые приложения​

Практика на реальных системах без разрешения - уголовно наказуема. Учебные уязвимые приложения позволяют отрабатывать этичный хакинг в безопасной среде:
  • OWASP Vulnerable Web Applications Directory Project - каталог намеренно уязвимых приложений.
  • OWASP Juice Shop - учебный магазин с десятками уязвимостей всех уровней сложности.
  • OWASP WebGoat - платформа для обучения безопасности веб-приложений.
  • Damn Vulnerable Web App (DVWA) - намеренно уязвимое PHP-приложение.
  • Xtreme Vulnerable Web Application (XVWA), Mutillidae - дополнительные учебные приложения.

Локальная лаборатория: фиксация испытательного окружения​

Повторяемость - обязательное свойство любой находки. Если другой специалист не может воспроизвести уязвимость с тем же результатом, находка не доказана. Испытательное окружение (test harness) фиксируется по компонентам: версия каждого инструмента, настройки прокси, целевое приложение и его конфигурация.

Учебный сценарий: проверка формы логина в OWASP Juice Shop.

Шаг 1. Запуск учебного приложения. Согласно документации Juice Shop, контейнер запускается одной командой:
Код:
docker run -d -p 3000:3000 bkimminich/juice-shop
Приложение доступно по адресу http://localhost:3000. Каждый экземпляр предназначен для одного пользователя. Приложение использует механизм самовосстановления: при перезапуске база данных и пользовательские файлы сбрасываются в исходное состояние.

Шаг 2. Настройка прокси. В Firefox с расширением FoxyProxy задаётся прокси localhost:8080, где слушает ZAP или Burp Suite Community Edition. Фиксируем версии: ZAP, Firefox, ОС - всё записывается до начала тестирования.

Шаг 3. Перехват запроса логина. Вводим учётные данные на http://localhost:3000/#/login и перехватываем POST-запрос в прокси. Пример перехваченного запроса (учебные данные):
Код:
POST /rest/user/login HTTP/1.1
Host: localhost:3000
Content-Type: application/json

{"email":"test@test.local","password":"test1234"}
Этот запрос экспортируется из ZAP (History -> Export) или Burp Suite (Send to Repeater -> Copy as curl) и передаётся коллеге для воспроизведения в идентичном окружении.

Негативный контроль: если автосканер ZAP пометил /rest/user/login как уязвимый к SQL-инъекции - это гипотеза до тех пор, пока инъекция не воспроизведена вручную с конкретным payload и задокументированным ответом сервера.

Проверка актуальности ресурса. При работе с каталогом инструментов и литературы WSTG стоит различать текущую поддержку и методическую ценность. Книга "The Web Application Hacker's Handbook" (2011) описывает принципы, применимые до сих пор, но конкретные инструменты в ней устарели. Дата публикации статьи-рекомендации не подменяет версию инструмента: если WSTG указывает HtmlUnit 4.21.0, а официальная страница проекта показывает 5.6.0 - использовать нужно актуальную версию, а каталог обновить с соответствующей пометкой.

Выбор средства определяется целью проверки: прокси - для перехвата трафика, фаззер - для перебора путей и параметров, сканер - для автоматического покрытия известных шаблонов. Вывод инструмента подтверждается наблюдаемым эффектом: конкретным запросом и ответом, записанным с версиями всех компонентов.

Большинство споров о "правильной" методологии пентеста - ложная дилемма. Методология выбирается не по популярности, а по трём параметрам: что тестируем (веб-приложение, инфраструктура, прошивка), зачем (compliance, pre-release, red team) и кому предоставляем результат (аудитор, CTO, разработчик). NIST SP 800-115 и OWASP WSTG решают разные задачи - сравнивать их как конкурентов бессмысленно, как сравнивать отвёртку с мультиметром. Серьёзнее другое: пропасть между "запустить сканер" и "провести тест". Сканер - автоматизация рутины, не замена мышлению. Индустрия всё чаще продаёт "автоматический пентест" как полноценную замену ручной работе. В ближайшие пару лет AI-augmented инструменты займут нишу непрерывного мониторинга - и это полезно для покрытия промежутков между основными проверками. Но утверждать, что LLM-агент заменит пентестера в анализе бизнес-логики платёжного шлюза - примерно то же, что доверить роботу-пылесосу разминирование. Инструмент без методологии генерирует шум. Методология без практики остаётся PDF-файлом. Единственный надёжный критерий - воспроизводимость: если коллега не может повторить находку по вашему отчёту, тест не состоялся.



Источники и лицензия

Основа статьи - Appendix B. Testing Tools Resource и Appendix C. Suggested Reading из OWASP Web Security Testing Guide, OWASP Foundation. Дата снимка: 24 октября 2026.

Русский перевод и редакционная актуализация - Codeby. Изменения относительно оригинала:
  • Версия HtmlUnit обновлена с 4.21.0 (указана в тексте WSTG) до 5.6.0 (по официальной странице htmlunit.org на дату подготовки).
  • Описание Selenium скорректировано: зонтичный проект (WebDriver, IDE, Grid) вместо "JavaScript based testing framework".
  • Уточнено описание Gori (лицензия Apache 2.0, репозиторий hahwul/gori) и MCP (протокол для LLM-приложений, не инструмент тестирования).
  • Год издания Writing Secure Code скорректирован с 2004 (WSTG) на 2002 (по данным страницы издательства Microsoft Press).
  • Добавлен обзор методологий (PTES, OSSTMM, NIST SP 800-115, PCI DSS, MASTG, FSTM) с разграничением назначения.
  • Добавлен раздел по автоматизации vs ручной проверке и практический раздел по фиксации испытательного окружения.
  • Книги Приложения C помечены как исторические издания.
Лицензия перевода и адаптации: CC BY-SA 4.0.

Вся серия WSTG · Предыдущая статья
Полезно

Комментарии

1
Спасибо, информация к размышлению.