Центр анализа угроз AhnLab (ASEC) выявил активную кампанию по распространению сложного вредоносного программного обеспечения, получившего название EtherRAT. Атака эксплуатирует недавно раскрытую критическую уязвимость React2Shell (CVE-2025-55182) в серверах Node.js. Основные цели злоумышленников - получение долговременного доступа к системам, кража конфиденциальной информации и криптовалюты.
Описание
Многоэтапная атака с автоматическим сканированием
По данным исследователей, угроза не имеет целевой географической направленности. Злоумышленники используют автоматизированные скрипты для сканирования случайно сгенерированных IP-адресов. Первый этап атаки начинается с проверки доступности сервера на порту 80. Затем, если система использует фреймворк Next.js, отправляется специально сформированный пакет данных, эксплуатирующий уязвимость React2Shell. Эта уязвимость позволяет выполнить произвольные команды на целевом сервере.
В данном случае успешная эксплуатация приводит к выполнению команды, которая загружает и запускает скрипт-загрузчик с удаленного сервера под контролем злоумышленников. Этот скрипт устанавливает в системе Node.js версии 20.10.0, создает зашифрованный файл с полезной нагрузкой и расшифровывает его. В результате в память загружается основной модуль вредоноса - EtherRAT.
Инновационный механизм управления через смарт-контракт
Главной отличительной чертой EtherRAT является нестандартный способ получения адреса своего центра управления (C2). Вместо того чтобы хранить адрес жестко в коде или скачивать его из файла, вредонос запрашивает данные из публичного смарт-контракта в сети Ethereum. Это позволяет операторам угрозы динамически менять адреса своих серверов, просто обновляя информацию в блокчейне, что значительно осложняет обнаружение и блокировку инфраструктуры.
После получения адреса C2, EtherRAT периодически соединяется с ним для получения команд. На момент анализа вредонос поддерживал пять основных функций, реализованных в виде отдельных скриптов.
Функционал и особенности вредоноса
Первый скрипт отвечает за обеспечение устойчивости (persistence) в системе. Он добавляет заранее подготовленный SSH-ключ, что дает злоумышленникам постоянный удаленный доступ к скомпрометированному серверу. Примечательно, что в коде этого модуля присутствуют сообщения об ошибках на русском языке.
Второй модуль занимается распространением. Он сканирует случайные IP-адреса на предмет наличия уязвимых React-серверов, используя ряд популярных портов. Атака носит массовый, а не целевой характер.
Третий скрипт реализует функцию перенаправления трафика. Инфицированная система начинает отвечать на HTTP-запросы перенаправлением на сторонний сайт, одновременно отправляя информацию о системе на указанный вебхук. Исследователи полагают, что это может быть мерой противодействия сканированию со стороны других хакерских групп.
Четвертый модуль занимается сбором системной информации: данных об операционной системе, установленном антивирусе, домене и графическом адаптере. Однако здесь действует важное исключение: если локаль системы соответствует кодам стран бывшего СССР (Россия, Беларусь, Казахстан и другие), сбор данных не производится.
Пятый, и наиболее опасный скрипт, нацелен на кражу криптовалюты. Он проводит глубокий поиск по файловой системе, разыскивая данные, связанные с криптокошельками: приватные ключи, мнемонические фразы для восстановления (стандарт BIP39), историю консольных команд и конфигурации облачных сервисов. Найденная информация отправляется на серверы злоумышленников.
Рекомендации по защите и обнаружению
Специалисты ASEC рекомендуют администраторам, использующим React и Next.js, немедленно обновить свои системы до версий, в которых уязвимость CVE-2025-55182 устранена.
Для обнаружения уже состоявшейся атаки следует проверить системы по нескольким направлениям. Во-первых, необходимо искать несанкционированные установки Node.js, особенно версии 20.10.0, в нестандартных путях, таких как "$HOME/.local/share/.05bf0e9b". Во-вторых, важно мониторить сетевую активность на предмет HTTPS-запросов к публичным RPC-нодам Ethereum с целью вызова определенного смарт-контракта. В-третьих, в журналах сетевых соединений следует искать контакты с известными адресами C2, например, "91.215.85[.]42:3000".
Данная кампания демонстрирует растущую тенденцию к использованию легитимных веб-технологий и публичной блокчейн-инфраструктуры для создания устойчивых и труднообнаруживаемых угроз. Комбинация автоматизированного сканирования, эксплуатации свежих уязвимостей и децентрализованного механизма управления делает подобные атаки особенно опасными для организаций по всему миру.