Мёртвые точки: как блокчейны скрывают инфраструктуру управления вредоносным ПО

В новом отчете рассматривается эволюция так называемых 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. Права на отчет принадлежат его владельцу.

Ознакомиться подробнее с отчетом можно по ссылке.

Технологии киберугроз
Автор: Технологии киберугроз
Технологии киберугроз – технологическая компания, специализирующаяся на решениях по анализу угроз для предприятий любого размера. Мы собираем, нормализуем, обогащаем информацию о киберугрозах со всего мира. Нашими источниками являют более 260 открытых фидов, более 100 открытых поставщиков Threat Intelligence-отчетов, открытые online sandbox, социальные сети и репозитории GitHub. Мы также предоставляем ряд сервисов по: семантическом анализу Threat Intelligence-отчетов и приведения их в машиночитаемый формат STIX 2.1, проверки IoC на потенциальные ложноположительные сработки, а также получению WHOIS-записей для доменных имен.
Комментарии: