Исследователи компании Censys, занимающейся мониторингом сетевой инфраструктуры, выявили 412 веб-ресурсов на 236 хостах, работающих под управлением открытого пост-эксплуатационного C2-фреймворка AdaptixC2. Причиной столь масштабного обнаружения стало использование операторами стандартной конфигурации, которая оставляет уникальные HTTP-заголовки в ответах на любой незапросный запрос. Данная находка представляет интерес для специалистов по информационной безопасности, поскольку позволяет идентифицировать инфраструктуру злоумышленников пассивными методами, без необходимости аутентификации или знания конечных точек.
Описание
AdaptixC2 - это публично доступный фреймворк для пост-эксплуатации, написанный на Go (серверная часть) и C++/Qt (клиент). Предназначен для легитимных red team-операций, однако, как и многие подобные инструменты, активно используется в несанкционированных атаках. В отличие от более старых аналогов (например, Cobalt Strike или Sliver), AdaptixC2 имеет меньше публичных аналитических обзоров, что делает его привлекательным для операторов, стремящихся избежать быстрой детекции.
Ключевая особенность, сделавшая фреймворк легко обнаруживаемым, заложена в файле конфигурации profile.yaml. В блоке обработки ошибок по умолчанию установлены заголовки Server: AdaptixC2 и Adaptix-Version: v1.2. Они появляются в ответе на любой запрос, не соответствующий настроенному эндпоинту - не требуется ни аутентификация, ни знание пути. Пассивный сканер видит баннер при первом же зондировании. Более того, даже если оператор изменяет заголовок Server, остаётся тело страницы 404, содержащее характерную строку "You need to enter the correct connection details." Таким образом, комбинация проверки заголовков и тела ответа позволяет выявлять не только "чистые" дефолтные установки, но и попытки обхода.
Согласно данным Censys, в сканированной выборке выделяются три крупных кластера серверов-прослушивателей (beacon listener). Они расположены у провайдеров Hivelocity, M247 и PSB Hosting. Каждый кластер включает несколько IP-адресов из соседних подсетей и использует идентичные TLS-сертификаты, сгенерированные OpenSSL с настройками по умолчанию. Такая картина свидетельствует о скоординированном развёртывании: операторы целенаправленно создают избыточную инфраструктуру обратного вызова, распределяя её между разными провайдерами и портами. Например, кластер Hivelocity насчитывает восемь и более IP-адресов в диапазонах 23.227.203.0/24 и 46.21.153.0/24, все на случайных высоких портах (42215, 43211, 43435 и другие). Аналогичная ситуация с M247 и PSB Hosting.
Отдельного внимания заслуживает хост 2.26.229[.]254. На нём одновременно работали два прослушивателя AdaptixC2 (на портах 4433 и 4455) и открытый HTTP-каталог на порту 7000, откуда без аутентификации распространялись полезные нагрузки. В каталоге находились пять файлов: установочный скрипт install.sh для Linux, ELF-агент Gopher, три Windows-импланта Beacon (x64 и x86) и легитимный файл распространяемого пакета VC_redist.x86.exe, вероятно, необходимый для работы рантайма. Анализ скрипта install.sh выявил 12 механизмов закрепления в системе, включая создание скрытого пользователя с SSH-ключом, подмену службы systemd, несколько заданий cron, внедрение в initramfs и GRUB, LD_PRELOAD-библиотеку и маскировку процессов под ядерные потоки. Все комментарии в скрипте написаны на русском языке.
Извлечение конфигурации из Windows-образцов показало, что все три импланта обращаются к одному и тому же C2-серверу: http://2.26.229[.]254:4433, используют три URI для обратной связи, кастомный заголовок X-ISS и RC4-ключ 1baccab4cbd2b84f6bc54bf8e6551f93. Агенты используют стандартные водяные знаки: для Beacon - be4c0149, для Gopher - 904e5493. Если оператор не меняет эти значения, их можно обнаружить в памяти или в бинарном дампе.
Инфраструктура AdaptixC2 неоднородна: помимо кластеров с дефолтными настройками, встречаются хосты с частичной кастомизацией. Например, на 89.125.255[.]29 оператор изменил TLS-сертификат, указав C=RU, ST=as, O=as - по всей видимости, "as" было вписано дважды в ответ на запросы о штате и организации. На 185.190.142[.]66 вместе с AdaptixC2 открыт порт RDP (3389), что указывает на возможную работу оператора непосредственно на сервере без использования шлюза. На 38.147.173[.]24 обнаружен порт 50050, стандартный для Cobalt Strike, что говорит об одновременном применении нескольких инструментов. Также зафиксирован вариант "TestCoonection", когда оператор изменил заголовок Server, но оставил неизменным тело 404-страницы - такой способ обхода легко выявляется через проверку контента.
Пассивное сканирование не может отличить легитимные red team-проекты от злонамеренных кампаний, однако оно даёт аналитикам возможность увидеть инфраструктуру и принять решение о блокировке или мониторинге. Censys уже присвоила данной угрозе метку THREAT-0210 и включила в неё как детекцию по заголовкам, так и по телу 404-страницы, включая вариант "TestCoonection". Специалистам по безопасности рекомендуется использовать приведённые выше запросы для выявления экземпляров AdaptixC2 в своих системах защиты и реагирования на инциденты.
Индикаторы компрометации
IPv4
- 146.70.87.218
- 146.70.87.23
- 146.70.87.237
- 146.70.87.64
- 146.70.87.96
- 156.225.22.201
- 167.17.47.121
- 185.190.142.66
- 185.242.245.120
- 185.242.245.27
- 185.242.245.4
- 202.95.8.92
- 202.95.8.97
- 202.95.8.98
- 23.227.203.205
- 38.132.122.141
- 38.132.122.145
- 38.132.122.161
- 38.147.173.24
- 45.155.69.106
- 45.155.69.153
- 45.155.69.175
- 46.21.153.146
- 46.21.153.148
- 89.125.255.29
- 91.230.94.235
SHA256
- 06b13dfd84493b01a020eecdabff6308b5b790ed4cd4c7a96a30ae6be1ca325d
- 479b7abd5df2f6ab3de8c32a36478c15012dbc8217f9fa825fd4b9cb7e9b8d13
- 51fba778dae6f108f7afa800bdb7745e6a0f6d2630a37ecc84c1d4a1609f9692
- 7d35d687ae8d4056e394905e9f8962512e6d55ff98664ed1facee6554a565624
- fb1f4f5a4ef76960577462634f4a104fb307e161fc2791b9231a07a2c751beca