Вредоносная реклама SourTrade собирает EXE прямо в браузере из фрагментов — ни один бинар не существует в сети целиком

Кампания вредоносной рекламы (malvertising) под названием SourTrade заставляет браузер жертвы самостоятельно собрать финальный Windows-исполняемый файл, используя легитимный Bun runtime в качестве основы. Вредонос никогда не существует в сети как единый бинарный файл, доставляемый с фиксированного URL.

Исследователи Confiant опубликовали анализ кампании 23 июля 2026 года. SourTrade активна с конца 2024 года и подделывает TradingView, Solana и Luno, нацеливаясь на розничных трейдеров и инвесторов в криптовалюты в 12 странах на 25 языках.

Как злоумышленники собирают EXE в браузере

Посадочная страница SourTrade проверяет посетителя: подозреваемым исследователям и ботам показывается пустая страница, а отобранным целям — убедительная копия подделываемого сервиса.

Сразу после загрузки страница начинает подготовку цепочки доставки, не дожидаясь клика по рекламе:

  1. Регистрируется ServiceWorker области страницы (/sw.js).
  2. Строится SharedWorker из JavaScript, уже встроенного в страницу — worker никогда не загружается как отдельный файл.
  3. SharedWorker запрашивает /config, который возвращает:
  4. шаблон сборки,
  5. URL вторичного runtime,
  6. сессионные случайные значения.
  7. Браузер загружает и распаковывает чистый Bun runtime с домена purelogicbox[.]org.
  8. Base64-блоб в конфигурации содержит PE-заголовок, таблицу секций и .bun-секцию с вредоносным JavaScriptCore-байткодом файла app.js.
  9. Worker генерирует псевдослучайный поток байтов через AES в режиме счётчика (AES-CTR).
  10. По шаблону собирается исполняемый файл: из runtime, сгенерированного потока и атакующего материала.

Уникальный хеш для каждой жертвы

Каждая жертва получает собранный файл с другим хешем: ротация seed и размера в ответах /config меняет хеш, сохраняя полезную нагрузку. «Ни один готовый вредонос никогда не существует в сети», — отметил Майкл Стил из команды Confiant. PE-структуры и байткод действительно приходят как Base64 в /config, но весь файл целиком никогда не передаётся.

Собранный исполняемый файл передаётся ServiceWorker как читаемый поток. Скрытый iframe переходит на URL того же источника, и worker возвращает байты с заголовком Content-Disposition: attachment. Запись Mark of the Web (MotW) указывает посадочную страницу как источник загрузки, а не отдельный домен.

Что делать

Confiant не сообщает об эксплуатации уязвимостей браузера или обходе MotW. Анализ описывает доставку, а не исполнение файла внутри браузера, и не уточняет, начинается ли загрузка автоматически или требует клика. Основная рекомендация — устанавливать торговое и криптокошелёчное ПО только с официального сайта вендора.

Источник: thehackernews.com