Исследователи облачной платформы безопасности Netskope раскрыли масштабную преступную операцию, эксплуатирующую более 5 400 взломанных веб-сайтов для распространения вредоносных полезных нагрузок среди посетителей. Большинство пострадавших сайтов принадлежат малым предприятиям и созданы с использованием WordPress и PrestaShop, тогда как первоначальный способ взлома, позволивший злоумышленникам внедрить код, по-прежнему неизвестен.
Кампания основана на технологии, известной как EtherHiding: взломанные сайты содержат код JavaScript, который запрашивает следующую полезную нагрузку из смарт-контракта через конечную точку сети BNB Smart Chain Testnet. Эта сеть, изначально предназначенная для разработчиков, предоставляет функции, схожие с основной сетью, и при этом доступна бесплатно, что делает её относительно недорогим инструментом для атакующей инфраструктуры.
Как полезная нагрузка достигает жертвы?
На этапе, обнаруженном Netskope, код показывал посетителю мошенническую страницу в виде поддельной CAPTCHA. Страница просила пользователя открыть окно «Выполнить» в Windows, а затем вставить команду PowerShell. Выполнение этого шага приводило к загрузке конечной полезной нагрузки и её запуску на устройстве.
Хранение кода в смарт-контракте позволяет злоумышленникам изменять полезную нагрузку без необходимости повторно взламывать заражённые сайты. Позднее полезная нагрузка ClickFix была заменена предварительным компонентом, использующим канал данных WebRTC, что показывает: кампания не применяет одну и ту же инфраструктуру постоянно.
Канал WebRTC для выполнения кода в браузере
Согласно объяснению исследователей, компонент создаёт одноранговое соединение и канал данных, затем генерирует предложение сеанса WebRTC, вручную формирует ответ на соединение и непосредственно вводит его в сеанс. Таким образом открывается канал данных со злоумышленником без выполнения обычного рукопожатия WebRTC.
После этого компонент получает код JavaScript с заранее заданного адреса командно-контрольного сервера, временно хранит его в памяти браузера и выполняет при закрытии канала или по истечении десяти секунд. Полученный код не сохраняется на диске: он добавляется в заголовок структуры DOM и выполняется динамически.
Что важно для команд защиты?
Netskope сообщает, что операция ежедневно использует более 300 заражённых сайтов. Данные измерений также показали, что число сайтов, подключающихся к частным RPC-узлам сети BNB Testnet, с весны продолжало расти и в августе приблизилось к 400 сайтам в день; при этом был зафиксирован пик в 536 сайтов.
На практике риск не ограничивается самим взломанным сайтом: сайт превращается в точку распространения полезных нагрузок, которые можно централизованно изменять, тогда как последующие соединения могут выглядеть как трафик, связанный с технологией WebRTC. Netskope рекомендует защитникам блокировать набор частных RPC-узлов сети BNB Testnet и отслеживать UDP-трафик, обычно не связанный с веб-сервисами.
Источник не указывает, как начались взломы, и не называет жертв или конечную полезную нагрузку, которая запускается после выполнения команды PowerShell. Поэтому характер конечных целей и масштаб воздействия на устройства посетителей остаются открытыми вопросами, хотя количество пострадавших сайтов и изменение механизма распространения делают кампанию непосредственно значимой для владельцев сайтов, а также для команд, отвечающих за безопасность браузеров и сетей.