Мёртвые точки: как блокчейны скрывают инфраструктуру управления вредоносным ПО
В новом отчете рассматривается эволюция так называемых Dead Drop Resolvers (DDRs) — компонентов вредоносного ПО, которые извлекают инфраструктуру управления (C2) во время выполнения не из встроенных в код адресов, а из контролируемых злоумышленниками сторонних сервисов. Традиционно для этих целей использовались Telegram, сайты для хранения текста и GitHub, однако теперь операторы вредоносных программ все чаще обращаются к публичным блокчейнам. Такой подход позволяет обновлять C2-инфраструктуру, меняя лишь одно значение в блокчейне, без пересборки вредоносного ПО или регистрации новых доменов.
Что такое Dead Drop Resolvers и почему они меняются
Dead Drop Resolvers (DDRs) — это механизмы, которые позволяют вредоносному ПО динамически получать адреса управления, не храня их в собственном коде. Вместо жестко зашитых IP-адресов, доменов или URL-адресов загрузчики обращаются к сторонним сервисам, контролируемым злоумышленниками. Исторически для этого применялись Telegram-каналы, pastebin-подобные сайты и репозитории GitHub. Однако такие платформы активно модерируются и блокируются, что вынуждает злоумышленников искать более устойчивые каналы. Публичные блокчейны предоставляют децентрализованное, неизменяемое и практически не поддающееся цензуре хранилище, что делает их привлекательными для размещения управляющих данных.
Техника работы на EVM-совместимых блокчейнах
На блокчейнах, совместимых с Ethereum Virtual Machine (EVM), загрузчики обычно отправляют запрос eth_call к смарт-контракту и декодируют полученный ответ в формате ABI. Полезная нагрузка может храниться в различных формах:
- открытый текст в кодировке UTF-8;
- Base64-закодированные данные;
- данные, зашифрованные с помощью XOR;
- сжатый gzip и затем закодированный в Base64;
- однострочная bash-команда.
Использование eth_call не требует подтверждения транзакции и выполняется мгновенно, что позволяет вредоносному ПО быстро и незаметно получать актуальные C2-адреса.
Примеры вредоносного ПО
Среди образцов, использующих EVM-совместимые блокчейны, выделяются несколько примечательных семейств.
TroyDen извлекает открытый IP-адрес управляющего сервера из смарт-контракта в сети Polygon. DeadLock (вымогательское ПО) получает ротационные URL-адреса ретрансляторов мессенджера Session, что обеспечивает постоянную смену каналов связи. CLEARSHORT и JADESNOW извлекают зашифрованный JavaScript-код или shell-stagers из контрактов BNB Smart Chain.
Отдельного внимания заслуживает компрометация цепочки поставок npm под названием ChainDrop, которую в отчете называют «мини Shai-Hulud». Вредоносный пакет использует dropped-бинарный файл Bun, который отправляет 136-байтовый запрос eth_call провайдерам RPC Ethereum mainnet и эксфильтрует полученные данные на домен из списка разрешенных. Для повышения отказоустойчивости задействуются несколько RPC-эндпоинтов: llamarpc, GetBlock и NodeReal. Если один из провайдеров недоступен, вредоносная программа автоматически переключается на другой.
Non-EVM варианты: Solana и TON
Загрузчики на базе блокчейна Solana опрашивают историю транзакций с помощью вызовов getSignaturesForAddress и getTransaction, извлекая полезную нагрузку, например закодированные в Base64 URL-адреса C2, из инструкций memo.
Вредоносное ПО на базе TON использует REST API, такие как tonapi.io или toncenter, для вызова get_domain в смарт-контрактах и получения доменов C2. В качестве примеров в отчете указаны SalatStealer и TONResolver.
Рекомендации по обнаружению и расследованию
Для эффективного выявления подобной активности исследователям и специалистам по кибербезопасности рекомендуется захватывать следующие артефакты:
- URL используемого RPC- или API-провайдера;
- адрес смарт-контракта или кошелька;
- селектор функции;
- декодированный ответ;
- контекст процесса, инициировавшего запрос.
Особое подозрение должен вызывать процесс, не являющийся браузером (например, node, bun или curl), который выполняет запросы к блокчейну для разрешения адресов. Подобная активность из браузера или криптовалютного кошелька выглядит нормально, но из нетипичного процесса — почти наверняка вредоносна.
Декодированное значение, полученное из блокчейна, может предоставить активный адрес C2 для блокировки и дальнейшего расследования. Если ответ оказывается пустым (0x), это может указывать на то, что значение в блокчейне было заменено или удалено оператором.
Таким образом, переход вредоносного ПО на блокчейн-ориентированные Dead Drop Resolvers существенно усложняет обнаружение и нейтрализацию C2-инфраструктуры. Специалистам необходимо учитывать новые техники и адаптировать инструменты мониторинга для отслеживания подозрительных запросов к публичным блокчейнам.
Отчет получен из сервиса CTT Report Hub. Права на отчет принадлежат его владельцу.
Ознакомиться подробнее с отчетом можно по ссылке.



