Кампания заразила 5 400 сайтов через блокчейн и WebRTC
Продолжающаяся вредоносная кампания затронула более 5 400 веб-сайтов, принадлежащих свыше 2 200 организациям по всему миру. В основном скомпрометированные ресурсы относятся к малому бизнесу, используют WordPress и иногда PrestaShop. Общей отраслевой или географической принадлежности у них не выявлено.
Первоначальный способ компрометации сайтов неизвестен. После получения доступа злоумышленники внедряют небольшой JavaScript-загрузчик в легитимные ресурсы сайта или размещают его в поддельном каталоге плагина.
Вредоносная нагрузка хранится в blockchain
При загрузке скомпрометированной страницы загрузчик выполняет JSON-RPC-вызов eth_call к smart contract в тестовой сети BNB Smart Chain. Контракт хранит JavaScript-нагрузку следующего этапа.
Такой подход позволяет операторам менять содержимое, которое получают все заражённые сайты, обновляя только один контракт. Blockchain-based dead drop обеспечивает централизованный контроль над кампанией и снижает зависимость от традиционной hosting-инфраструктуры.
Атака ClickFix использует поддельную CAPTCHA
Одна из полезных нагрузок доставляет overlay социальной инженерии ClickFix. Он закрывает веб-страницу и показывает поддельную CAPTCHA или аналогичный запрос. Пользователю предлагают открыть диалоговое окно «Выполнить» в Windows и вставить подготовленную команду.
Команда, помещённая в буфер обмена, извлекает и запускает конечную полезную нагрузку вредоносного программного обеспечения через PowerShell.
WebRTC скрывает канал управления
Новый вариант кампании использует доставленный через blockchain скрипт в качестве стейджера для управления по протоколу WebRTC. Он создаёт соединение между одноранговыми узлами WebRTC и канал передачи данных, генерирует offer, а затем локально формирует собственный answer. Обмен деталями сессии через сервер сигнализации не происходит.
В коде скрипта содержатся следующие параметры:
- IP-адрес сервера управления;
- UDP-порт;
- пароль ICE;
- отпечаток сертификата DTLS.
IP-адрес собирается из отдельных числовых значений, поэтому не выглядит как обычный строковый литерал. Техника позволяет обойти стандартную сигнализацию и избежать связанных с ней индикаторов в DNS, STUN/TURN и стандартных рукопожатиях.
После установления зашифрованного канала передачи данных C2-сервер отправляет в браузер JavaScript-код. Стейджер буферизует входящие сообщения, восстанавливает полезную нагрузку и выполняет её при закрытии канала или по истечении десяти секунд.
Кампания остаётся активной и продолжает расширяться. Операторы сочетают blockchain-based distribution полезной нагрузки со скрытым зашифрованным транспортом WebRTC.
Отчет получен из сервиса CTT Report Hub. Права на отчет принадлежат его владельцу.
Ознакомиться подробнее с отчетом можно по ссылке.



