Более 5400 взломанных сайтов малого бизнеса стали частью кампании, где злоумышленники раздают ClickFix через блокчейн, а не через привычные серверы с вредоносным кодом. По данным BleepingComputer, нагрузка хранится в смарт-контрактах BNB Smart Chain Testnet, что делает инфраструктуру дешевле, живучее и неприятнее для блокировок. Для владельцев WordPress и PrestaShop это еще один сигнал: даже небольшой сайт-визитка может внезапно стать звеном цепочки доставки malware.
Кампанию описали исследователи Netskope. За последние месяцы они нашли больше 5400 скомпрометированных сайтов, большинство из них работали на WordPress и PrestaShop. Как именно атакующие получали доступ к этим ресурсам, пока неизвестно. Зато известен следующий этап: на сайты внедряли скрипт, который обращался к BSC Testnet RPC endpoint и забирал оттуда код из смарт-контракта. Такой прием называют EtherHiding.
Идея EtherHiding проста и неприятна. Вместо того чтобы держать вредоносный JavaScript или конфигурацию на обычном домене, который можно быстро заблокировать, атакующий кладет данные в смарт-контракт. BNB Smart Chain Testnet создан для разработчиков и похож по механике на основную сеть, но доступен бесплатно. Для легитимной разработки это удобно. Для криминальной инфраструктуры — тоже: код можно менять в контракте, а защитникам приходится думать не только про домены, IP и CDN, но и про обращения к блокчейн-инфраструктуре.
На стороне посетителя схема выглядела как типичный ClickFix. Человек открывал зараженный сайт и видел поддельную CAPTCHA. Дальше его просили открыть окно Windows Run и вставить PowerShell-команду. Если пользователь выполнял инструкцию, команда скачивала и запускала финальную нагрузку на машине. Трюк старый, но все еще работает: пользователь сам становится механизмом обхода защиты, потому что действие выглядит как «починить проверку» или «подтвердить, что я не робот». В реальности это ручной запуск кода с правами текущего пользователя.
Важная деталь — атакующие не застыли на одной версии. Netskope пишет, что позднее оператор кампании заменил ClickFix-нагрузку в смарт-контракте на WebRTC data-channel stager. Новый вариант открывал скрытый зашифрованный канал к атакующему и выполнял полученный код. Скрипт создавал peer connection и data channel, формировал offer как при обычном WebRTC-обмене, но вместо нормального согласования сам подставлял ответ. В итоге классического рукопожатия не происходило, а канал к инфраструктуре злоумышленника все равно появлялся.
После этого stager принимал JavaScript с жестко заданного C2-адреса, буферизовал его и выполнял после закрытия канала либо через десять секунд. Полученный код собирался в памяти браузера и запускался динамически через добавление в head DOM, без сохранения файла на диск. Для защитных средств это неприятный сценарий: меньше артефактов на файловой системе, больше активности внутри браузера и сетевого стека, который часто воспринимается как нормальная часть веб-приложений.
Масштаб тоже не декоративный. По оценке Netskope, операция каждый день использует больше 300 зараженных сайтов. С весны число ресурсов, обращавшихся к BSC Testnet RPC endpoints, стабильно росло. В августе телеметрия показывала почти 400 таких сайтов в день, а максимум достиг 536. Это уже не единичная «умная» техника для отчета на конференции, а рабочая промышленная схема, где малые сайты становятся расходным материалом.
Для команд безопасности практический вывод довольно приземленный. Netskope рекомендует блокировать весь пул BSC testnet RPC endpoints и мониторить не-web UDP-трафик, связанный с WebRTC. Но здесь есть нюанс: блокировка testnet-эндпоинтов может задеть разработчиков, если компания реально использует BNB Smart Chain для тестов. Значит, нужен не только запрет по списку, но и нормальная инвентаризация: кто в компании должен ходить к этим RPC, из каких сетей, в какое время и с какими приложениями. Без этого SOC снова окажется между «сломали разработку» и «оставили дыру».
Для владельцев сайтов история еще проще и неприятнее. WordPress и PrestaShop давно живут в режиме постоянной охоты за уязвимыми плагинами, слабыми паролями, забытыми админками и дешевым хостингом без нормального мониторинга. Конкретный первичный вектор в этой кампании не раскрыт, но паттерн знакомый: атакующему не нужен ваш бизнес, ему нужна ваша репутация, домен и поток случайных посетителей. Малый сайт с устаревшей CMS ценен не контентом, а тем, что браузер пользователя ему доверяет чуть больше, чем свежему подозрительному домену.
ClickFix через блокчейн показывает, куда смещается инфраструктура атак: вредоносный код прячут там, где удаление сложнее, а поведение можно быстро менять без массовой перепрошивки зараженных сайтов. Следующий вопрос для защитников — как отличать легитимное использование Web3- и WebRTC-механик от криминальной доставки кода, не превращая корпоративную сеть в музей запретов. Ответ, похоже, будет не в одном волшебном индикаторе, а в связке контроля исходящих соединений, браузерной телеметрии и скучной, но спасительной гигиены CMS.