Исследователи Zscaler ThreatLabz зафиксировали новую кампанию по доставке программ-вымогателей, в которой применяется нестандартный механизм заражения. Злоумышленники, связанные с группировкой Payouts King, используют вредоносное расширение для браузера Microsoft Edge, способное покидать пределы изолированной среды браузера и напрямую взаимодействовать с операционной системой жертвы. Этот метод получил название Edgecution.
Описание
Кампания ориентирована на корпоративных пользователей. Первичный доступ осуществляется через социальную инженерию в Microsoft Teams. Атакующий представляется сотрудником ИТ-отдела компании и сообщает жертве о необходимости обновления антиспам-фильтра. Пользователю отправляется ссылка на поддельный сайт Microsoft, замаскированный под консоль управления обновлениями Outlook. На этом сайте расположены кнопки, при нажатии на которые загружаются различные сценарии: обфусцированный скрипт AutoHotKey, легитимный исполняемый файл AutoHotKey, зашифрованный ZIP-архив (с удаленными магическими байтами для обхода сетевых сигнатур), а также команды для буфера обмена - пакетный файл Windows и сценарий PowerShell. Последняя кнопка "Updates Registration" выводит форму для ввода пароля от учётной записи Microsoft 365 или Outlook, что позволяет атакующему собрать учётные данные.
При выполнении любого из переданных сценариев на системе жертвы последовательно выполняются несколько действий. Сначала создается каталог для вредоносного расширения браузера по пути %LOCALAPPDATA%\Microsoft\Edge\User Data\test1. Затем исправляются заголовки зашифрованного ZIP-архива, извлекаются файлы. Архив содержит встроенную сборку Python версии 3.13.3, папку extension с файлами расширения и папку native с обфусцированным Python-бэкдором. В реестр Windows (HKCU\SOFTWARE\Microsoft\Edge) записывается значение AppKey - шестнадцатеричная строка, используемая для расшифровки строк внутри бэкдора. Без корректного ключа Python-скрипт не сможет запуститься, что дополнительно затрудняет анализ.
Для связи расширения с бэкдором создается пакетный файл native_host.bat в папке native. Этот файл запускает Python-скрипт с ключом -u (отключающим буферизацию ввода-вывода). Одновременно формируется манифест Chrome native messaging, который регистрирует имя com.[случайные_символы].api, путь к native_host.bat и идентификатор разрешённого расширения. Такой манифест разрешает расширению вызывать внешнее приложение и обмениваться с ним данными через стандартные потоки ввода-вывода. Имя сервера управления сохраняется в отдельном файле внутри папки native.
Завершающий этап установки - создание запланированной задачи, которая запускает Microsoft Edge с параметрами --user-data-dir, --load-extension, --no-first-run, --disable-sync и --headless=new. Браузер загружает расширение в скрытом окне без каких-либо предупреждений пользователю.
Расширение Edgecution маскируется под "Edge Monitoring Agent". Оно устанавливает соединение с сервером управления по протоколу websocket. Все наблюдаемые серверы C2 использовали поддомены cloudfront.net и размещались в инфраструктуре Amazon Web Services. После установления связи расширение отправляет приветственное сообщение, затем поддерживает связь через ping-пакеты каждые 20 секунд. Полученная от сервера команда содержит идентификатор и аргументы. Часть команд выполняется непосредственно в расширении - например, отслеживание ключевых слов в URL открытых вкладок или сбор статистики. Однако основная вредоносная функциональность реализована через бэкдор. Команды с идентификаторами 106-112 передаются в Python-скрипт через механизм chrome.runtime.sendNativeMessage.
Предоставленный отчёт Zscaler ThreatLabz детально описывает соответствие между командами расширения и бэкдора. Python-бэкдор умеет собирать сведения о системе (команда 106), выполнять произвольные команды оболочки (107), записывать данные в указанный файл (108), исполнять произвольный Python-код (109), получать список активных процессов (110), запускать команды PowerShell (111) и менять адрес сервера управления в локальном хранилище расширения (112). Каждый раз при обработке команды бэкдор запускается как новый процесс, выполняет задачу и завершается, отправляя результат обратно через стандартный вывод. Дополнительно, после успешного соединения с C2, расширение передаёт бэкдору команды на обновление URL сервера и удаление конфигурационного файла, чтобы замести следы.
Пользователь не видит расширение в обычном браузере, поскольку оно запущено в headless-режиме отдельной задачей. Функция мониторинга ключевых слов в URL является ложной - при скрытом окне браузера просмотр веб-страниц не ведётся, так что эта возможность не используется. Основная угроза исходит от возможностей Python-бэкдора, которые позволяют злоумышленнику полностью контролировать систему.
Данная кампания демонстрирует эволюцию методов начального доступа со стороны брокеров, связанных с программами-вымогателями. Использование штатного механизма Chrome native messaging для обхода песочницы браузера и выполнение бэкдора на Python делает атаку сложной для обнаружения традиционными средствами защиты конечных точек. Организациям следует контролировать установку расширений браузера, ограничивать регистрацию native messaging хостов и обучать сотрудников не переходить по ссылкам, полученным в мессенджерах от имени технической поддержки, особенно с требованием ввести корпоративные учётные данные.
Индикаторы компрометации
WebSocket Secure
- wss://d1jp293q9tvi92.cloudfront.net/ws
- wss://d23l50n6ubud7p.cloudfront.net/ws
- wss://d2g6dl71gua1qa.cloudfront.net/ws
- wss://d3nh8sl98s2554.cloudfront.net/ws
SHA256
- 3d1158884fb339b3328bd330fcc27598e1f1c94bcac39e75d1a272afa4deee1a
- a08d8e63b0cd3638fb40b8e6da546e26da69439597565827f9cec87915f78568