Источник: https://github.com/AnaktaCTF/CTF/blob/main — WEB/MITRE_ATT&CK_T1071.md

Обход фильтрации и обход WAF с использованием Application Layer Protocol (MITRE ATT&CK T1071)

image

В современном мире безопасности веб-приложений и серверных инфраструктур одним из наиболее распространенных средств защиты являются Web Application Firewalls (WAF). WAF системы предназначены для защиты от различных типов атак, таких как SQL-инъекции, XSS, RCE (Remote Code Execution) и других угроз. Однако, несмотря на свою эффективность, WAF могут быть обойдены с помощью определённых техник.

Одной из таких техник является использование Application Layer Protocols (T1071), которая включает в себя использование стандартных протоколов прикладного уровня, таких как HTTP, DNS или другие для обхода фильтрации и защиты. В этой статье мы рассмотрим, как можно применить этот метод для обхода WAF и других типов фильтрации на примере реальных CTF-задач.

Но перед тем как углубиться в эту технику, давайте кратко рассмотрим, что такое MITRE ATT&CK и как эта база знаний помогает в контексте кибербезопасности.

Что такое MITRE ATT&CK?

image

MITRE ATT&CK (Adversarial Tactics, Techniques, and Common Knowledge) — это база знаний, которая описывает поведение противников в киберпространстве. Она включает в себя набор тактик и техник, которые могут быть использованы злоумышленниками в ходе атак на информационные системы. ATT&CK используется как для моделирования атак, так и для разработки эффективных методов защиты и обнаружения угроз.

Матрица MITRE ATT&CK делит атакующие действия на несколько уровней, таких как тактики (общие цели злоумышленников) и техники (конкретные методы, с помощью которых эти цели могут быть достигнуты). Каждая техника в базе ATT&CK также может включать примеры использования, уязвимости и способы защиты.

Тактика T1071 — это одна из техник в матрице MITRE ATT&CK, которая касается использования Application Layer Protocols для обхода фильтрации и защиты, таких как WAF. Эта техника может быть использована для уклонения от детекции и проникновения в защищённые системы.

image

Техники обхода с использованием Application Layer Protocol

WAF (Web Application Firewall) — это система защиты веб-приложений, которая предназначена для фильтрации и мониторинга HTTP-запросов, направленных к веб-серверу, с целью защиты от различных типов атак, таких как SQL-инъекции, межсайтовые скрипты (XSS), обход аутентификации, атаки на уязвимости веб-приложений и многие другие.

image

Обход WAF и фильтрации, как правило, основывается на манипуляции с данными, которые передаются между клиентом и сервером. Протоколы прикладного уровня предоставляют широкие возможности для таких манипуляций. Одним из самых популярных методов является использование нестандартных заголовков, параметров или методов HTTP для уклонения от обнаружения и фильтрации.

Использование нестандартных HTTP методов

Одним из основных способов обхода является использование нестандартных HTTP методов, таких как OPTIONS, TRACE или CONNECT. Эти методы могут быть разрешены на сервере, но часто не фильтруются WAF. В CTF-задачах мы часто видим, как такие методы можно использовать для получения доступа к уязвимостям веб-серверов или скрытых сервисов.

Для иллюстрации этого метода, представим задачу, где WAF ограничивает использование стандартных POST и GET запросов, но не фильтрует OPTIONS. В этом случае злоумышленник может отправить запрос с методом OPTIONS, чтобы выявить разрешённые HTTP методы, которые могут быть использованы для дальнейших атак.

image

Манипуляции с заголовками HTTP

Другим эффективным методом является манипуляция с заголовками HTTP. Например, злоумышленник может использовать заголовок X-Forwarded-For для подмены IP-адреса или отправить запросы с изменёнными заголовками User-Agent, чтобы избежать детекции. Протоколы, такие как HTTP, позволяют злоумышленнику подменить практически любой из заголовков, что даёт возможность скрыть реальное происхождение запроса и обойти фильтрацию WAF.

Одной из классических техник является использование X-Forwarded-For для обхода защиты, когда сервер использует WAF только для блокировки исходящих запросов с определённых IP-адресов. Однако, манипулируя этим заголовком, атакующий может подставить IP адрес из доверенного диапазона.

Обход WAF с использованием DNS

Ещё одна техника обхода, использующая Application Layer Protocol, заключается в применении DNS-туннелирования. В задачах CTF мы часто сталкиваемся с подобными приёмами, когда необходимо скрыть команду или данные от фильтрации, передавая их через DNS-запросы. Это позволяет создавать скрытые каналы связи между клиентом и сервером, обойдя все ограничения, установленные на HTTP уровне.

DNS-запросы могут быть использованы для маскировки трафика, а так как DNS-трафик часто не фильтруется и не блокируется, это даёт возможность злоумышленникам передавать команды и данные скрытно. Например, с помощью DNS tunneling можно провести скрипт, который будет передавать данные через DNS-запросы, минуя WAF.

image

Примеры атак и решений на CTF

Теперь давайте рассмотрим конкретные примеры атак, где использовалась техника T1071 для обхода WAF в реальных CTF-задачах. В одной из задач, встречающихся на соревнованиях, была поставлена цель — пройти через WAF, который фильтровал стандартные HTTP запросы. Решением стало использование нестандартных методов HTTP, таких как CONNECT, для обхода WAF. В другом примере, через манипуляцию с заголовками User-Agent удалось обойти защиту на уровне WAF, что привело к получению флага.

Как можно использовать MITRE ATT&CK для защиты?

Использование базы данных MITRE ATT&CK предоставляет ценную информацию для защиты информационных систем от современных угроз. Она помогает специалистам по безопасности более осознанно подходить к созданию и настройке систем защиты, а также позволяет более эффективно реагировать на атаки. Рассмотрим, как конкретно MITRE ATT&CK может быть использован для защиты.

Мониторинг и анализ угроз

Одной из важнейших задач в области кибербезопасности является мониторинг трафика и активностей в сети для своевременного обнаружения возможных атак. Знание техник из MITRE ATT&CK позволяет настроить системы мониторинга таким образом, чтобы они могли детектировать подозрительную активность, которая может быть связана с конкретными методами атак. Например, если злоумышленник использует технику T1071 для обхода WAF с помощью стандартных протоколов, таких как HTTP или DNS, системы безопасности, понимающие суть этих техник, могут быть настроены на детекцию аномального поведения в запросах, включая нестандартные HTTP-заголовки или странные DNS-запросы. Это знание позволяет анализировать паттерны трафика и активностей, выявляя признаки того, что атака может быть на подходе или уже осуществляется.

Внедрение такого подхода к мониторингу помогает оперативно реагировать на инциденты, минимизировать ущерб и проводить глубокий анализ атак в реальном времени, повышая общую защищённость сети.

Тестирование на проникновение

Другим важным применением MITRE ATT&CK в области защиты является использование его техник для проведения тестов на проникновение. Профессиональные специалисты по безопасности могут использовать известные техники, такие как T1071: Application Layer Protocol, для проверки защищенности своих систем. Например, зная, что злоумышленники могут обходить WAF, манипулируя заголовками HTTP или используя нестандартные методы HTTP-запросов, тестировщики могут намеренно использовать эти методы для проверки, насколько эффективна система фильтрации трафика.

image

Такой подход позволяет выявить слабые места в системе безопасности, которые могут быть не заметны на первый взгляд. Процесс тестирования на проникновение с применением техник MITRE ATT&CK помогает не только обнаружить уязвимости, но и отработать сценарии, в которых атакующие могут попытаться скрыться от стандартных средств защиты. Это помогает создать более стойкие системы защиты, которые способны справляться с угрозами, использующими эти техники.

Разработка системы защиты

Знание техник атак, представленных в MITRE ATT&CK, даёт возможность разрабатывать более совершенные системы защиты. Например, если известно, что злоумышленники используют HTTP-заголовки для обхода защиты, специалисты могут интегрировать дополнительные механизмы, которые будут тщательно анализировать все заголовки и запросы, чтобы выявить аномальные или подозрительные данные. В случае с техникой T1071, это может включать в себя внедрение дополнительных слоёв защиты на уровне прикладных протоколов, таких как глубокая проверка HTTP-трафика или DNS-запросов на предмет попыток эксфильтрации данных.

Кроме того, понимание того, какие методы атаки используются на каждом этапе атаки, позволяет внедрить многоуровневую защиту. Это может включать использование фильтров на уровне сети, детектирование необычного трафика или аномальных моделей поведения, а также продвинутые алгоритмы машинного обучения для распознавания атак, которые иначе могли бы пройти незамеченными. Знание техник из MITRE ATT&CK помогает строить стратегии защиты, направленные на конкретные способы атаки, что значительно повышает общий уровень безопасности.


Использование Application Layer Protocols для обхода фильтрации и WAF является важной техникой, которую можно применить в реальных атаках, а также на соревнованиях CTF. Эта техника открывает широкие возможности для манипуляций с запросами, использующими нестандартные методы, заголовки и другие параметры протоколов. Однако, важно помнить, что WAF и другие системы фильтрации продолжают эволюционировать, и атаки через Application Layer Protocols также будут совершенствоваться.

Для защиты от подобных техник необходимо постоянно обновлять и усиливать механизмы фильтрации и мониторинга, а также проводить регулярные тесты на проникновение для выявления слабых мест.