EtherHiding: вредоносный JavaScript атакует GitHub и VS Code
EtherHiding представляет собой многоэтапную вредоносную кампанию, нацеленную на среды разработки. Атака использует вредоносный JavaScript, скрытый в изменённом файле tailwind.config.js. В проанализированном инциденте несанкционированный коммит добавил сильно дополненный однострочный загрузчик в закрытый репозиторий GitHub.
Когда проект открывался или обрабатывался в среде Node.js, скрытый код выполнялся без ведома разработчика. Первоначальный полезный груз получил идентификатор jadesnow. Он извлекает транзакционные хеши из жёстко закодированных кошельков в блокчейнах TRON или Aptos, после чего обращается к Binance Smart Chain через запрос JSON-RPC для получения зашифрованного полезного груза.
Многоэтапная доставка полезной нагрузки
Полученный код расшифровывается с помощью операции XOR с жёстко закодированным ключом и выполняется как JavaScript. Последующие этапы загрузчика jadesnow повторяют процесс извлечения и расшифровки на основе данных блокчейна, используя различные комбинации кошельков.
В результате на устройство загружается JavaScript-бэкдор InvisibleFerret. Одна из вариаций загрузчика проверяет переключатель остановки process.env.jsbot, пытается развернуть компоненты Python, включая python.zip, python.7z и 7zr.exe, а затем запускает скрипты boot и client.
Возможности InvisibleFerret
InvisibleFerret функционирует в среде выполнения Node.js, встроенной в Visual Studio Code или Cursor AI. Вредоносная программа может изменять или перехватывать модуль VS Code @vscode/deviceid, который используется для генерации или управления идентификаторами машин.
Для связи с операторами бэкдор использует жёстко закодированные IP-адреса и URI, контролируемые злоумышленниками. Обмен данными выполняется через HTTP POST. Значения URL, по сообщениям, кодируют информацию о кампании или версии ВПО.
Дополнительно бэкдор обращается к ip-api.com/json, чтобы получить внешний IP-адрес жертвы и географическую информацию. Поддерживаемые команды позволяют оператору:
- изменять рабочие каталоги;
- собирать сведения о Node.js и операционной системе;
- получать информацию о внешнем IP-адресе;
- загружать отдельные файлы или целые каталоги;
- внедрять JavaScript в VS Code;
- выполнять произвольный JavaScript через
eval.
Похищение исходного кода и конфигураций
Для рекурсивной эксфильтрации каталогов используются модули Node.js, включая Axios и form-data. Они отправляют multipart HTTP POST-запросы, с помощью которых злоумышленники могут похищать исходный код, конфигурационные файлы и другие конфиденциальные данные.
Деятельность EtherHiding демонстрирует атаку на цепочку поставок через инструментарий разработчика. Кампания сочетает многоэтапную обфускацию и доставку, закрепление или выполнение внутри доверенного программного обеспечения для разработки, выполнение команд и масштабное похищение данных.
Отчет получен из сервиса CTT Report Hub. Права на отчет принадлежат его владельцу.
Ознакомиться подробнее с отчетом можно по ссылке.



