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


На каждом втором проекте по внешнему пентесту - одна и та же тройка: 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-запрос на примитивы. Он ищет паттерн в потоке байтов, не понимая структуру запроса.

1777471021302.webp

На практике: классическая 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 FirewallUserGate NGFWКонтинент WAFКонтинент 4 NGFW
Класс продуктаWAF (L7)NGFW (L3–L7)WAF (L7)NGFW (L3–L7)
Режим работыReverse proxyInlineReverse proxyInline
Глубина разбора 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 действительно обрабатываются корректно, или это по-прежнему рабочий вектор? Делитесь, интересно сверить наблюдения.
 
Последнее редактирование модератором:
  • Нравится
Реакции: migu
Мы в соцсетях:

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

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

HackerLab