Весь контроль за кампанией переносится в блокчейн. Жертве показывают окно «докажите, что вы не робот», но за ним скрывается сценарий, где пользователя заставляют самостоятельно скопировать и запустить команды на своём устройстве. Такая связка децентрализованной инфраструктуры, социальной инженерии и техники Click-Fix (когда вредонос запускает сам пользователь) усложняет поиск инфраструктуры атакующих и делает их более гибкими, согласно Securitylab.
EtherHiding вписывается в общий тренд: создатели вредоноса уходят от фиксированных серверов и одноразовых цепочек редиректов к децентрализованным платформам. Там полезную нагрузку можно быстро менять без заметных следов. В этой схеме роль хранилища и «панели управления» берёт на себя смарт-контракт, а браузер жертвы, по сути, превращается в клиент к блокчейну. На скомпрометированный сайт достаточно один раз внедрить небольшой фрагмент JavaScript, а дальше атакующие управляют поведением цепочки через недорогие транзакции в блокчейне — без повторного доступа к самому сайту.
Censys вышла на EtherHiding, когда начала отслеживать массовое появление поддельных CAPTCHA на разных сайтах. Эти страницы имитировали привычные проверки «я не робот» и использовали логотип reCAPTCHA, взятый с Wikimedia. При анализе одного из таких ресурсов исследователи обнаружили цепочку EtherHiding: за фальшивой CAPTCHA скрывался зашифрованный скрипт, который шаг за шагом разворачивал более сложную логику и готовил браузер к работе со смарт-контрактами в блокчейне.
Дальше начиналась многоступенчатая цепочка. Сначала поисковик жертвы запрашивал данные у смарт-контрактов в тестовой сети Binance Smart Chain. Эти контракты поэтапно возвращали новые фрагменты сценария, которые расшифровывались и выполнялись в браузере. На раннем этапе код проверял, не запускается ли страница в автоматизированной среде, вроде песочницы или headless-браузера, и анализировал характеристики среды. Если что-то выглядело подозрительно, цепочка обрывалась — это снижало риск детектирования и анализа.
Если проверка проходила успешно, атака подстраивалась под операционную систему жертвы. Для Windows и macOS использовались разные ветки сценария, каждая из которых загружалась через собственные смарт-контракты. Дополнительно работал своеобразный «шлюз» доступа: браузеру назначался уникальный идентификатор, и по этому ID смарт-контракты решали, выдавать ли следующую стадию вредоносной нагрузки конкретному пользователю. За счёт этого оператор мог включать или отключать заражение для отдельных жертв, регулировать масштаб кампании или временно останавливать её — просто меняя состояние данных в блокчейне, а не правя код на заражённых сайтах.
Следующий этап отвечал за взаимодействие с жертвой. На экран поверх легитимного сайта выводилась полноэкранная фейковая CAPTCHA с понятным и привычным текстом: пользователю предлагали «подтвердить, что он человек» и следовать простым инструкциям. Главная из них — нажать кнопку копирования, а затем вставить скопированный текст в Terminal на macOS или в окно «Выполнить» (Run) на Windows. На этом шаге происходит ключевой момент: браузер уже подготовил вредоносную команду, а пользователь сам запускает её, будучи уверенным, что просто завершает проверку.
Для macOS это выливается в сценарий установки вредоносного компонента, который закрепляется в системе и запускает отдельный агент. Этот агент отвечает за кражу данных, общение с управляющим сервером и выполнение команд атакующего. На Windows схема похожая по логике: пользовательские действия приводят к запуску системного инструмента, через который загружается и выполняется вредонос. С точки зрения защитных систем всё выглядит так, будто пользователь по собственной инициативе запустил легитимные программы, что усложняет детектирование.
Отдельно исследователи описывают, как EtherHiding динамически выбирает рабочий управляющий домен (C2) для macOS-ветки. Вредоносный агент обращается к страницам в Telegram и Steam, вычитывает оттуда определённый текст и на его основе формирует адрес домена, который затем проверяет. Если ответ сервера выглядит ожидаемо, этот домен закрепляется как активный. Такой подход позволяет операторам менять инфраструктуру управления, просто редактируя текст на страницах в популярных сервисах, а не трогая изначальный вредоносный код.
После установления связи с C2 macOS-агент становится полноценным стилером и «клиентом синхронизации» с сервером. Он собирает данные о пользователе и устройстве, отправляет их оператору, а затем пытается заполучить пароль от локальной учётной записи. Для этого используются поддельные системные окна, которые выглядят как законные запросы macOS с просьбой «ввести пароль для изменения настроек». Пользователь, уверенный, что имеет дело с обычным системным диалогом, вводит пароль, а вредонос проверяет его, сохраняет и отправляет на сервер.
Дальше агент следит за тем, не изменился ли пароль пользователя, и при необходимости повторяет ту же уловку, чтобы обновить данные на стороне C2. Параллельно он собирает подробную информацию о системе — программное обеспечение, железо, параметры дисплеев — и передаёт всё это операторам. В результате у атакующих формируется подробный «паспорт» устройства с актуальными учётными данными.
Последний важный элемент — постоянный канал управления. Агент с определённым интервалом опрашивает сервер на предмет новых задач. Если управляющая сторона выдаёт команду, она выполняется на машине жертвы в фоновом режиме, без видимых окон и сообщений. Так устройство превращается в устойчивый бэкдор: оператор может красть данные, запускать произвольные команды и при этом постоянно держать под контролем логин и пароль локальной учётной записи.
Со стороны инфраструктуры EtherHiding сильно отличается от более старых кампаний вроде SocGholish. Там акцент делался на постоянной смене доменов и серверов, здесь же основной «центр тяжести» перенесён в блокчейн. Один и тот же внедрённый скрипт может годами висеть на множестве сайтов, а меняется только содержимое смарт-контрактов, определяющее, какие этапы и кому доставлять.