Исследователи информационной безопасности выявили новую сложную кампанию, в которой злоумышленники используют блокчейн Polygon для создания неуязвимой к блокировкам инфраструктуры распространения вредоносного ПО. Одновременно они проводят целенаправленные фишинговые атаки, детально имитируя реальную криптовалютную компанию Betfin для социальной инженерии.
Описание
Новый метод распространения: блокчейн как «мертвая точка»
Вместо традиционных серверов или публичных платформ вроде Pastebin, которые можно заблокировать, злоумышленники разместили конфигурацию для управления вредоносным ПО (так называемую «мертвую точку», Dead Drop Resolver, DDR) в смарт-контрактах NFT на блокчейне Polygon. Атака использует два контракта для хранения обфусцированного JavaScript-кода. Когда жертва открывает подготовленный проект в VSCode, вредоносный скрипт автоматически запрашивает и исполняет полезную нагрузку (payload), полученную из этих контрактов.
Главное преимущество этого метода - практическая невозможность удаления данных. В отличие от учетной записи на Pastebin, которую можно заблокировать, смарт-контракт в публичном блокчейне остается неизменным и реплицируется на тысячи узлов по всему миру. Блокировка доступа к RPC-провайдерам Polygon нарушит работу всех легитимных веб3-приложений. Злоумышленники могут легко менять используемые адреса контрактов, обновляя конфигурацию в уже распространенном вредоносе.
Социальная инженерия под прикрытием реального бренда
Для привлечения целей, в основном блокчейн-разработчиков, злоумышленники проводят тщательно спланированные кампании в LinkedIn. Они выдают себя за представителей реально существующей компании Betfin - легальной платформы для крипто-ставок с собственным токеном и присутствием в медиа. Для убедительности атакующие делятся с потенциальными жертвами профессиональными макетами в Figma и полностью функциональным кодом на GitHub, что имитирует реальный процесс найма.
Как показал случай с одним разработчиком, атака начинается с предложения о работе, подкрепленного конкретными деталями о финансировании. Затем следуют звонки только с голосовой связью под предлогом технических проблем, давление на немедленный запуск предоставленного кода и отказ демонстрировать проект на своей машине. Подобные «красные флаги» должны насторожить специалиста.
Цепочка заражения и функционал вредоноса
Полный компрометации системы занимает около шести секунд с момента открытия папки проекта в редакторе VSCode. Ключевую роль играет автоматический запуск задачи, прописанный в файле ".vscode/tasks.json". После этого вредоносный код, интегрированный в "package.json", запускает фоновый процесс и обращается к блокчейну за основной полезной нагрузкой.
Исследователям удалось получить модуль похитителя информации объемом 72 КБ. Этот модуль нацелен на сбор данных с более чем 50 криптокошельков (включая MetaMask и Phantom), 10 менеджеров паролей (таких как 1Password и LastPass), 60+ браузеров, а также учетных данных из "~/.ssh/" и "~/.aws/". Интересно, что вредоносное ПО проверяет MAC-адрес системы и не активирует полный функционал на виртуальных машинах с адресами VirtualBox, что усложняет анализ в песочницах.
Уязвимости в защите и параллельные кампании
При анализе кода бэкенда была обнаружена критическая уязвимость: в контроллере аутентификации сравнение хэша пароля было заменено на константу "true", что позволило бы войти в систему с любым паролем. Кроме того, в одной из параллельных кампаний злоумышленники использовали для управления облачный хостинг Vercel, а механизм аутентификации JWT (JSON Web Token) был скомпрометирован из-за тривиального секрета для подписи - строки ""secret"".
Всего обнаружено три параллельные кампании, использующие разную инфраструктуру: выделенные серверы, «пуленепробиваемый» хостинг и легитимные облачные платформы. Такая диверсификация указывает на высокую операционную зрелость группы и позволяет им продолжать операции даже при блокировке одного из каналов.
Рекомендации по защите
Для предотвращения подобных атак эксперты рекомендуют в первую очередь активировать функцию Workspace Trust в VSCode для всей организации, что требует явного подтверждения доверия к файлам в новой рабочей среде. Кроме того, необходимо проводить аудит файлов "tasks.json" на наличие триггера ""folderOpen"" и проверять "package.json" на предмет подозрительных команд, запускаемых через символ pipe ("|").
Сетевые администраторы могут заблокировать известные IP-адреса командных серверов (C2), например, "87.236.177.9". Также следует насторожиться, если бэкенд-сервисы, не связанные с блокчейном, начинают отправлять запросы к RPC-провайдерам Polygon, таким как "polygon-rpc.com". Для охотников за угрозами появление блокчейн-варианта DDR открывает новые возможности для обнаружения: необходимо отслеживать использование библиотек "ethers.js" или "web3.js" в приложениях, где эта функциональность не предусмотрена.
Индикаторы компрометации
IPv4
- 11.34.242.92
- 147.124.212.125
- 45.59.163.55
- 66.235.168.238
IPv4 Port Combinations
- 87.236.177.9:3000
Domains
- codeviewer-three.vercel.app
SHA256
- 3e2d9bcf6ff5ae441493df87e8c46b68c12985d88152cd4ab047b236a77dd30d
- 43223ce324e65b694bb8dd6bbf7992e29f75605a366532fe993bfdd924193f84
- e695f6628abade062d5a2310e16c5b2d1707795c0214b939d328e0772a776fea