На одном из red team проектов в финансовом секторе я гонял C2-сессию через
dnscat2, выгружая хеши из NTDS.dit. Suricata молчала. SIEM — пусто. SOC-аналитики разбирали HTTP-логи, а DNS-трафик спокойно уходил через корпоративный резолвер наружу. Никто не проверял энтропию поддоменов, никто не считал длину запросов.Почему так происходит? DNS и HTTP — протоколы, которым инфраструктура доверяет по умолчанию. Файрвол пропускает, прокси не лезет вглубь, baseline никто не строил.
🔍 Как работает DNS tunneling
Атакующий регистрирует домен, поднимает авторитетный DNS-сервер. Агент на скомпрометированном хосте кодирует данные прямо в поддомен:
base64data.c2.attacker.tld. Корпоративный резолвер по цепочке рекурсии доставляет запрос на сервер атакующего. Ответ приходит в TXT, CNAME или A-записи — внутри лежит команда.Ограничение: максимальная длина DNS-метки — 63 байта, полного имени — 253 байта. Скорость — единицы кбит/с. Для C2-команд хватает, для эксфильтрации терабайтов — забудьте.
🎇Инструменты, которые стоит знать
•
iodine — туннелирует IPv4 через DNS, создаёт виртуальный интерфейс dns0. Главный артефакт для детекта — фиксированная частота опроса в idle-режиме и непечатаемые символы в запросах.•
dnscat2 — полноценный C2-фреймворк только через DNS. Шифрованная сессия, shell, загрузка файлов. Характерный след — последовательные hex-паттерны в hostname запросов.• Cobalt Strike DNS beacon — использует TXT, A и AAAA-записи. Поддерживает jitter и sleep, чтобы имитировать нерегулярный трафик. Часто работает как fallback: HTTPS основной, DNS на случай блокировки.
Из реальных кампаний: SUNBURST (SolarWinds, 2020) использовал DNS-запросы к поддоменам
avsvmcloud.com как stage-1 selector — идентификатор жертвы кодировался в поддомене, ответы классифицировали цели. В 2023-м Infoblox раскрыла кампанию Decoy Dog — Pupy RAT поверх DNS через TXT-записи. Два года разницы — одна схема.❓Как ловить
Три ключевых индикатора:
1. Энтропия поддоменов — легитимные запросы типа
mail.google.com имеют низкую энтропию. Base64/hex-кодированные поддомены дают энтропию выше 3.5 бит на символ.2. Длина и частота — запросы длиннее 50 символов с регулярным интервалом к одному домену — красный флаг.
3. Нетипичные типы записей — массовые TXT или NULL-запросы от рабочих станций в нормальной среде не встречаются.
Если ваш SOC не мониторит DNS-трафик на эти аномалии — у вас слепая зона размером с весь периметр.
Полный разбор с HTTP covert channels, примерами конфигов и правилами детекта — в статье на форуме.
https://codeby.net/threads/skrytyye-kanaly-peredachi-dannykh-c2-dns-tunneling-i-http-covert-channels-ot-nastroiki-do-detekta.93927/
