На каждом втором проекте по внешнему пентесту - одна и та же тройка: PT Application Firewall перед вебом, UserGate или Континент на границе сети. Маркетинговые даташиты обещают «полную защиту от OWASP Top 10» и «инспекцию трафика нового поколения». Ну, на заборе тоже написано. Между документацией вендора и реальным поведением продукта под нагрузкой - пропасть размером с типовой пентест-отчёт. Эта статья - не пересказ рекламных листов. Это разбор архитектуры трёх российских продуктов с позиции атакующего: что каждый из них ловит на практике, где заканчиваются возможности сигнатурного движка и какие конкретные техники обхода WAF работают в боевых условиях.
Зачем пентестеру понимать архитектуру российских средств защиты периметра
Первый этап любого внешнего пентеста - разведка, включая идентификацию средств сетевой безопасности. В терминологии MITRE ATT&CK это техника Network Security Appliances (T1590.006, Reconnaissance): определение типа, версии и конфигурации защитных решений на периметре. От результатов этого этапа зависит весь дальнейший вектор атаки.Архитектурное различие между WAF и NGFW - не маркетинговое, а принципиальное, и оно определяет набор применимых техник обхода. WAF - специализированный прокси уровня приложений (L7), который разбирает HTTP-запрос на составляющие: заголовки, URI, параметры, тело - и анализирует каждый элемент отдельно. NGFW - межсетевой экран нового поколения, работающий на уровнях L3–L7, но с иной глубиной инспекции трафика DPI: он охватывает трафик «широко», но не «глубоко».
Для атакующего это простая развилка. WAF нужно обманывать на уровне семантики HTTP - мутировать payload, играть с кодировками, эксплуатировать парсерные дифференциалы между WAF и бэкендом. NGFW обходят иначе - туннелированием через разрешённые протоколы (Protocol Tunneling, T1572), фрагментацией пакетов на сетевом уровне, уклонением от DPI-сигнатур. Смешивать эти подходы - терять время и оставлять лишние следы в логах.
Отдельная боль: импортозамещение средств сетевой безопасности привело к тому, что многие организации развернули российские продукты, но не настроили их. По опыту аудитов в финансовом и госсекторе, значительная часть инсталляций WAF работает в режиме мониторинга, а не блокировки. Причина банальна - тюнинг политик под конкретное приложение требует ресурсов, которых у команды ИБ нет. А WAF в мониторинге - это дорогой логгер, не более.
PT Application Firewall обзор: механизмы анализа и реальное поведение
PT Application Firewall (PT AF) - флагманский WAF от Positive Technologies и наиболее зрелый продукт этого класса на российском рынке. Разберём, что он реально ставит перед пентестером.Архитектура и режимы работы PT AF
PT AF разворачивается преимущественно как обратный прокси (reverse proxy) перед защищаемым веб-приложением. Это ключевой архитектурный момент: в режиме reverse proxy продукт полностью разбирает HTTP-запрос, терминирует TLS-соединение и пересобирает запрос перед отправкой на бэкенд. Глубина анализа - максимальная, но одновременно запрос нормализуется. Часть техник обхода, построенных на парсерных дифференциалах между WAF и целевым приложением, здесь работает иначе, чем против WAF в transparent mode.Механизмы детекта PT AF: сигнатурный анализ угроз, поведенческий анализ и машинное обучение для выявления аномалий. Продукт заявляет защиту от атак из OWASP Top 10, включая Injection (A03:2021 - SQL, NoSQL, OS, LDAP-инъекции) и Broken Access Control (A01:2021 - по данным OWASP, 94% протестированных приложений имели проблемы этого класса). На практике сигнатурный движок стабильно ловит классические SQL-инъекции и XSS в стандартных GET/POST-параметрах. С атаками в глубоко вложенных JSON/XML-структурах и запросах с нестандартным Content-Type - сложнее.
Что PT AF детектирует стабильно
Стандартные SQLi и XSS, path traversal, базовые шаблоны command injection, типовые сканеры (nuclei со стандартными шаблонами, nikto - палятся моментально). Виртуальный патчинг - реально сильная сторона: если PT AF интегрирован с PT Application Inspector, он закрывает конкретные уязвимости приложения без изменения кода. Штука практически полезная, и ни один NGFW её не заменит.Где начинаются проблемы
Атаки на бизнес-логику - слепое пятно любого WAF, и PT AF не исключение. IDOR, mass assignment, race conditions - сигнатурами не ловятся в принципе. Поведенческий движок может обнаружить аномалии, но только после обучения на нормальном трафике и с ощутимым процентом false positive, который команда ИБ вынуждена разгребать руками. (Лично видел инсталляции, где ML-модуль выключали через неделю - устали от алертов.)Второй момент - обработка нестандартных кодировок. Когда payload проходит через двойное URL-кодирование или Unicode-нормализацию, результат зависит от того, как PT AF и бэкенд-приложение по-разному интерпретируют одни и те же байты. Именно эту зону парсерных дифференциалов подробно разбирали на BlackHat в докладе «Web Application Firewalls: Analysis of Detection Logic». Принцип актуален для любого WAF, включая отечественные.
UserGate NGFW возможности: DPI, IPS и пределы инспекции
UserGate - российский NGFW, развивающийся с 2009 года, часть экосистемы UserGate SUMMA. Для пентестера главное: UserGate - не WAF. Его задача - контроль трафика между сегментами сети и защита периметра, а не глубокий разбор HTTP-запросов на уровне приложения.UserGate архитектура и настройка DPI
UserGate работает inline, инспектируя трафик на проходе. Модуль инспекции трафика DPI идентифицирует приложения по сигнатурам и применяет политики по типу приложения: разрешить HTTPS к определённым ресурсам, заблокировать мессенджеры или торрент-клиенты.Для инспекции зашифрованного трафика UserGate выполняет TLS-инспекцию (SSL bump), подменяя сертификат. Стандартный подход для NGFW, но с важным следствием: TLS-инспекция обычно направлена на контроль исходящего трафика внутренних пользователей. При внешнем пентесте (Exploit Public-Facing Application, T1190, Initial Access) входящий трафик к публичным сервисам TLS-инспекции через NGFW, как правило, не подвергается. Его анализирует WAF - если он вообще есть.
IPS-модуль: сигнатурный анализ угроз в UserGate
IPS в UserGate работает на базе сигнатур, обновляемых через подписку. Для HTTP-трафика сигнатуры IPS - регулярные выражения, применяемые к потоку данных. Принципиальное отличие от WAF: IPS не декомпозирует HTTP-запрос на примитивы. Он ищет паттерн в потоке байтов, не понимая структуру запроса.На практике: классическая SQL-инъекция
' OR 1=1-- будет обнаружена IPS-сигнатурой в открытом HTTP-трафике. Но стоит применить chunked transfer encoding, разбив payload между чанками, - и сигнатура не срабатывает. IPS видит каждый чанк как отдельный фрагмент данных и не собирает полное тело HTTP-запроса перед анализом. Вот так просто.Ограничения UserGate для защиты веб-приложений
UserGate NGFW не предназначен для защиты веб-приложений от целевых атак. Он решает другую задачу: сегментация сети, контроль доступа, фильтрация трафика на периметре. Попытки использовать NGFW как замену WAF - одна из типичных ошибок при импортозамещении. Пентестер, обнаруживший такую конфигурацию, мысленно потирает руки - это существенное тактическое преимущество.Континент межсетевой экран: экосистема «Код Безопасности»
«Код Безопасности» предлагает линейку продуктов Континент, включающую NGFW (Континент 4) и отдельный WAF-модуль (Континент WAF). Это разные продукты с разной NGFW архитектурой, хотя маркетинг иногда заворачивает их в один красивый фантик.Континент 4 как NGFW
Межсетевой экран нового поколения с функциями IPS, VPN-шлюза, контроля приложений. Сертифицирован ФСТЭК - стандартный выбор для госструктур, обязанных соответствовать требованиям по защите информации (в том числе ФЗ-152 «О персональных данных» - обработка ПДн в ИСПДн требует применения сертифицированных средств защиты). Архитектура Континент 4 типична для класса NGFW: inline-инспекция, сигнатурный IPS, базовый application control.Континент WAF: отдельный модуль защиты веб-приложений
Континент WAF - продукт для защиты периметра сети на уровне веб-приложений. По архитектуре - обратный прокси, аналогично PT AF. Заявлена защита от OWASP Top 10, обнаружение аномалий, интеграция с российскими SIEM-системами. Но зрелость продукта и полнота сигнатурной базы отличаются от PT AF: Positive Technologies развивает свой WAF значительно дольше и накопил более глубокую экспертизу в разборе HTTP-трафика.По наблюдениям с проектов, где встречался Континент WAF: продукт стабильно детектирует стандартные атаки - базовые инъекции (Injection, A03:2021) и типовой XSS в очевидных параметрах. При усложнении payload - нестандартные HTTP-заголовки со встроенными атакующими конструкциями, вложенные JSON-структуры - результаты начинают расходиться с заявленными возможностями. Иногда заметно.
Обход WAF: техники против российских средств защиты периметра
Переходим к основному. Ниже - WAF bypass методы, которые регулярно работают при тестировании периметров, защищённых отечественными продуктами. Всё описанное относится к легальному пентесту в рамках подписанного договора.
📚 Этот материал доступен участникам сообщества с рангом One Level или выше
Получить доступ просто — достаточно зарегистрироваться и проявить активность на форуме
Получить доступ просто — достаточно зарегистрироваться и проявить активность на форуме
Обход NGFW: архитектурные слабости и методы эксплуатации
Если WAF обходят на уровне HTTP-семантики, то NGFW - на уровне сетевых протоколов и инкапсуляции. Описанные ниже техники применимы к UserGate и Континент 4 в типовых конфигурациях.
📚 Этот материал доступен участникам сообщества с рангом One Level или выше
Получить доступ просто — достаточно зарегистрироваться и проявить активность на форуме
Получить доступ просто — достаточно зарегистрироваться и проявить активность на форуме
Сводное сравнение российских WAF и NGFW
| Критерий | PT Application Firewall | UserGate NGFW | Континент WAF | Континент 4 NGFW |
|---|---|---|---|---|
| Класс продукта | WAF (L7) | NGFW (L3–L7) | WAF (L7) | NGFW (L3–L7) |
| Режим работы | Reverse proxy | Inline | Reverse proxy | Inline |
| Глубина разбора HTTP | Полная декомпозиция | Базовая, через DPI | Декомпозиция | Базовая, через DPI |
| Защита от SQLi/XSS | Да, с нормализацией | Через IPS-сигнатуры | Да | Через IPS-сигнатуры |
| Защита от IDOR | Частично (ML) | Нет | Частично | Нет |
| Виртуальный патчинг | Да | Нет | Частично | Нет |
| TLS-инспекция входящего | Нативно | Через SSL bump | Нативно | Через SSL bump |
| Защита API | Да | Базовая | Частично | Базовая |
| Обнаружение сканеров | Да | Через IPS | Да | Через IPS |
| Сертификация ФСТЭК | Да | Да | Да | Да |
| Актуальность для пентестера | Основной барьер на L7 | Барьер на L3–L4 | Барьер на L7 | Барьер на L3–L4 |
Таблица подтверждает очевидное: WAF и NGFW - не взаимозаменяемые решения. Попытка закрыть защиту веб-приложений одним NGFW - архитектурная ошибка, которую пентестер эксплуатирует в первую очередь.
Практическая методология тестирования периметра
Требования к окружению
- ОС: Kali Linux или дистрибутив с Burp Suite Pro, sqlmap, nuclei, Python/Scapy
- Версии: sqlmap >= 1.7, nuclei >= 3.0, Python >= 3.10 для Scapy
- Сеть: прямой доступ к периметру целевой организации (внешний пентест) или к сегменту с WAF/NGFW (внутренний аудит)
- Обязательно: подписанный договор на тестирование и согласованный скоуп
Пошаговый подход к тестированию
Шаг 1: Fingerprinting. Определяем тип и версию средства защиты на периметре. PT AF оставляет характерные заголовки ответа и специфическую страницу блокировки. UserGate идентифицируется по странице авторизации и TLS-сертификатам. Утилитаwafw00f даёт первичную идентификацию, а анализ ответов на заведомо вредоносные запросы - подтверждение.Шаг 2: Определение режима. Отправляем очевидный payload - простой
<script>alert(1)</script> в параметре. Блокировка = WAF в режиме enforce. Запрос проходит и payload отражается в ответе = WAF отсутствует или работает в мониторинге. Этот шаг определяет дальнейшую стратегию целиком.Шаг 3: Тестирование обработки кодировок. Последовательно проверяем: double URL-encoding, Unicode-нормализацию, null-byte injection, chunked encoding с extensions. Каждый тест - отдельно, с фиксацией того, какие преобразования WAF нормализует, а какие пропускает. Не торопитесь - именно здесь находятся рабочие bypass.
Шаг 4: Проверка логирования. Критический аспект, связанный с Security Logging and Monitoring Failures (A09:2021 - сюда входят ситуации, когда события аудита не логируются и предупреждения не генерируются). Если WAF или NGFW не создаёт алертов на тестовые запросы - это отдельный finding для отчёта. По опыту, многие инсталляции не отправляют алерты в SIEM, или SOC не реагирует на них в приемлемое время. Бывало, что SOC замечал наши тесты через трое суток.
Шаг 5: Документирование bypass. Нашли обход - фиксируем: версию продукта, конфигурацию (если известна), конкретный payload, условия воспроизведения. Это позволяет заказчику не просто «узнать о проблеме», а починить её.
На курсах Codeby по пентесту веб-приложений эти техники отрабатываются на стендах с настроенными WAF - от базовых bypass-мутаций до продвинутых request smuggling-сценариев.
Вопрос к читателям
Chunked transfer encoding с extensions - техника, которая на бумаге закрыта уже несколько лет, но на проектах она до сих пор проходит через российские WAF в нестандартных конфигурациях. Коллеги, у кого свежий опыт тестирования PT AF или Континент WAF в актуальных версиях: chunk extensions действительно обрабатываются корректно, или это по-прежнему рабочий вектор? Делитесь, интересно сверить наблюдения.
Последнее редактирование модератором: