В июле 2026 года зафиксирован новый инцидент, в ходе которого рабочая станция под управлением macOS была заражена вредоносной программой, получавшей адрес управляющего сервера из смарт-контракта в сети Polygon. Атака началась с фальшивого собеседования: жертва присоединилась к видеозвонку в AWS Chime, после чего загрузила и выполнила вредоносный скрипт под видом технической настройки. Этот сценарий повторяет тактику, известную как "Contagious Interview", которую связывают с северокорейскими группировками. Сам сервис видеосвязи не был скомпрометирован - он использовался лишь как канал социальной инженерии для установления доверия.
Описание
После первоначального заражения злоумышленники обеспечили себе закрепление в системе. Они создали специальный элемент автозагрузки (Launch Agent), который каждый час запускал замаскированный скрипт. Этот скрипт был закодирован и спрятан внутри системного файла, а его содержимое восстанавливалось только в момент выполнения. Благодаря такой обфускации операционные детали вредоноса - включая адрес, с которого он получает команды, - никогда не появляются на диске или в видимых командах в читаемом виде. Вся дальнейшая активность после записи файла автозагрузки происходила исключительно в памяти, без создания новых файлов.
Ключевая особенность этой кампании - использование блокчейна для скрытой доставки командно-контрольных адресов. Вместо того чтобы хранить адрес сервера в самом вредоносе или получать его через DNS, программа обращается к публичному смарт-контракту в сети Polygon и считывает оттуда текущий домен. Как показал анализ компании Prophet Security, эта техника, названная EtherHiding, значительно усложняет блокировку: если традиционные DNS-записи можно перехватить или заблокировать через провайдера, то блокчейн-контракт не зависит от единого центра управления и использует множество независимых узлов для ответа на запросы. Кроме того, сам вредонос не хранит никаких ключей - запросы на чтение контракта бесплатны и не требуют подписи, что делает их трудно отличимыми от легитимной сетевой активности.
Процесс работы вредоноса выглядит следующим образом. При каждом срабатывании таймера программа обращается к одному из публичных провайдеров сети Polygon и отправляет запрос на чтение данных из конкретного смарт-контракта. В ответ она получает зашифрованный адрес командно-контрольного сервера. Затем вредонос соединяется с этим сервером, передаёт идентификатор кампании и сразу же выполняет полученный ответ, что даёт злоумышленникам полный удалённый доступ к компьютеру. При этом сам адрес сервера отсутствует в теле вредоносной программы - он определяется только во время работы, что делает статический анализ практически бесполезным.
Поскольку все операции записи в смарт-контракт являются необратимыми и публичными, исследователи смогли восстановить полную историю смены командно-контрольных доменов. Контракт был создан в мае 2026 года, а первые рабочие адреса появились в середине мая. Операторы меняли домены примерно раз в неделю, а к моменту публикации отчёта адрес уже снова изменился - новый домен не фигурировал в собранных ранее данных. Это подтверждает главную рекомендацию: эффективнее отслеживать не отдельные домены, а сам блокчейн-контракт, поскольку он остаётся единственным стабильным артефактом атаки. Аналитики Prophet Security восстановили всю цепочку атаки, от обнаружения на конечной точке до истории смены доменов и кошельков операторов, менее чем за десять минут - задача, которая вручную заняла бы часы.
Для защиты от подобных атак специалисты рекомендуют несколько мер. Прежде всего, следует ограничить доступ к публичным блокчейн-провайдерам с корпоративных устройств - в большинстве компаний нет легитимной причины для использования таких сервисов обычными сотрудниками. Необходимо также контролировать запуск интерпретаторов команд (например, osascript) через веб-запросы: если программа-интерпретатор инициирует внешнее сетевое соединение, это почти всегда признак вредоносной активности. Дополнительно стоит настроить оповещения о появлении новых файлов автозагрузки в пользовательских папках, а также ограничить права администратора для обычных учётных записей. Регулярное обновление операционной системы и использование корпоративных решений для управления конфигурациями помогут снизить риск закрепления злоумышленников. Самый важный урок этой атаки - блокчейн становится не только инструментом для криптовалют, но и новой платформой для скрытого управления вредоносными программами, что требует пересмотра подходов к мониторингу сетевого трафика и анализу угроз.
Индикаторы компрометации
Domain
- 67sixcebeh.surf
- apdhlhs3.xyz
- bduwih8.pro
- citcix6.xyz
- gesck4m.pro
- hf98x4d.site
- j9af4sr.guru
- johncon.my
- sj98xe4.xyz
- smdh7.surf
- xuiaxwx.com
YARA
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | rule EtherHiding_macOS_LaunchAgent_Loader { meta: description = "Obfuscated macOS EtherHiding loader: base64 payload piped to osascript, delivered via a Launch Agent plist" author = "Prophet Security" tlp = "CLEAR" reference = "EtherHiding macOS C2" date = "2026-07-21" strings: $decode_exec1 = "base64 -d | osascript" ascii $decode_exec2 = "base64 --decode | osascript" ascii // base64 of "set __", the start of the char-code-obfuscated AppleScript $applescript_b64 = "c2V0IF9f" ascii $pa = "ProgramArguments" ascii $la = "LaunchAgents" ascii $osa = "osascript" ascii $echo = "echo '" ascii condition: any of ($decode_exec*) or ($applescript_b64 and $osa) or ($pa and $la and $echo and $osa) } |
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | rule EtherHiding_macOS_OnChain_Resolver { meta: description = "EtherHiding Polygon C2 resolver: eth_call to the operator contract and getter selector" author = "Prophet Security" tlp = "CLEAR" reference = "EtherHiding macOS C2" date = "2026-07-21" strings: $contract = "0xA3a603F8a454a9c905b4c579Bb72628F7C15C2A0" ascii nocase $getter = "0x2686ecea" ascii nocase $ethcall = "eth_call" ascii $beacon = "&bmodule" ascii condition: $contract or ($getter and $ethcall) or ($ethcall and $beacon) } |