Исследователи Darktrace сообщили о выявлении ShadowV2 — DDoS-ботнета, который целенаправленно компрометирует неправильно настроенные контейнерные окружения Docker и предоставляет доступ к ним по модели DDoS-as-a-Service. Особенность кампании — опора на современные DevOps-инструменты, включая использование GitHub Codespaces в качестве управляющей инфраструктуры, и фокус на поведенческую незаметность вместо классического распространения готовых образов.
Чем уникален ShadowV2: платформенный подход к DDoS
Вместо традиционного централизованного управления и единых командных серверов операторы ShadowV2 развернули управляющий сервер на Python, который, по оценке исследователей, размещается в GitHub Codespaces и скрыт за защитой Cloudflare. Неправильная конфигурация позволила аналитикам получить копию API-документации сервера и перечисление эндпоинтов. Наличие многоуровневой аутентификации, ролей и ограничений по типам атак указывает на коммерческую модель: клиенты арендуют доступ и самостоятельно запускают DDoS-кампании.
Цепочка компрометации: от открытого Docker до рабочей нагрузки
Инфекция начинается с Python-скрипта, размещенного в GitHub Codespaces, который автоматизирует взаимодействие с Docker API и нацелен на открытые из интернета демоны Docker, в том числе на AWS-инстансах. Вместо загрузки готовых образов из Docker Hub злоумышленники создают «setup»-контейнер, доустанавливают инструменты, собирают кастомный образ и развертывают его как рабочий контейнер. Такой подход снижает сигнатурную заметность и усложняет блокировку на уровне статических индикаторов.
Инструментарий атаки: Go-бинарник, FastHTTP и обход облачной защиты
Внутри контейнера скрывается написанный на Go бинарник, выступающий движком атаки. Он порождает несколько потоков с настраиваемыми HTTP-клиентами на базе открытой библиотеки FastHTTP (Valyala), оптимизированной для высокопроизводительных запросов, и реализует HTTP flood. Исследователи отмечают применение техник обхода, включая HTTP/2 Rapid Reset (CVE-2023-44487), подделку forwarding-заголовков со случайными IP-адресами и приемы обхода Cloudflare Under Attack Mode (UAM). Две версии вредоноса были загружены на VirusTotal 25 июня и 30 июля, при этом изначально бинарник не детектировался движками на платформе.
Монетизация и операционная модель: DDoS-as-a-Service без «классического» ботнета
Ключевой признак платформенного подхода — пользовательский API, через который заказчики передают список уже зараженных узлов для задействования в атаке. Это ломает привычную логику ботнетов, где операторы централизованно управляют всеми «зомби»-хостами. По сути, ShadowV2 предоставил клиентам интерфейс для сборки собственных ударных сетей под конкретные кампании. Аналогии наблюдались и ранее в злоупотреблении облачными и DevOps-сервисами, однако столь законченная платформа встречается редко.
Что и как детектировать: поведенческие признаки в облаке и CI/CD
Поскольку фиксированные индикаторы компрометации здесь малополезны, фокус защиты следует сместить на аномалии поведения: нестандартные вызовы Docker API, автоматизированные операции с контейнерами, систематические исходящие соединения к временным узлам, скачки egress-трафика и неожиданное появление высокопроизводительных HTTP-клиентов внутри контейнеров. Исторически (например, в кампаниях Kinsing и TeamTNT) массовые инциденты начинались с открытых Docker сокетов; по данным открытых сканеров интернета, таких экспонированных эндпоинтов стабильно насчитываются тысячи.
Практики снижения риска: от конфигурации Docker до сетевой сегментации
— Ограничьте доступ к Docker API: отключите открытый TCP-сокет, используйте защищенный UNIX-сокет, включите TLS и обязательную аутентификацию, ограничьте доступ через Security Groups и VPC ACL в AWS.
— Включите политики минимально необходимых прав (least privilege), используйте иммутабельные образы и контроль целостности.
— Мониторьте build/run-события и обращения к Docker/Containerd, внедрите алерты на создание «setup»-контейнеров и нетипичные команды сборки.
— Ограничьте egress на уровне VPC/подсетей, применяйте прокси с аутентификацией, отслеживайте высокочастотный HTTP/2-трафик и попытки Rapid Reset.
— На периметре включайте rate limiting, защиту от L7-HTTP flood, анализ заголовков (в т.ч. X-Forwarded-For) и принудительную проверку клиента.
— Регулярно сканируйте внешнюю поверхность: проверяйте экспозицию Docker, Kubelet, Prometheus, Redis и других часто компрометируемых сервисов.
ShadowV2 демонстрирует, как злоумышленники превращают DevOps-инструменты в платформу для DDoS, минимизируя сигнатурный след и повышая гибкость атак. Организациям стоит усилить контроль доступа к Docker и облачным средам, переключиться на поведенческую аналитику и пересмотреть сетевые политики egress. Проведите аудит экспонированных сервисов и автоматизируйте мониторинг Docker API — это позволит опередить следующую итерацию подобных «платформенных» ботнетов.