Вредоносный npm-пакет imgdecode прячет загрузчик шелл-кода в нативном аддоне Windows
Специалисты по кибербезопасности из SafeDep описали вредоносный npm-пакет imgdecode, входящий в недавно раскрытую кампанию по атакам на цепочку поставок под названием MALFEX. Пакет загрузил в реестр 30 сентября 2026 года пользователь malfexteste8; на момент публикации он скачан 979 раз, остаётся доступным, а последняя версия — 1.0.3.
Всего в девяти строках JavaScript пакет подгружает скомпилированную Windows-библиотеку (DLL). Когда Node.js-программа вызывает require('imgdecode') из консоли Windows, библиотека скачивает с GitHub зашифрованный шелл-код, расшифровывает его и внедряет результат в новый процесс dllhost.exe.
Долгая кампания
MALFEX впервые задокументировали Checkmarx и CloudSEK. По их данным, неизвестный злоумышленник публикует вредоносные пакеты в npm с 6 августа 2023 года, используя пять учётных записей издателя. Из восьми выявленных пакетов три выступали загрузчиками трояна Overlord RAT, ещё три — cdn-img-fetch, img-to-native и native-runner — совместно скачивали и запускали стилер на Node.js. Третий путь заражения опирался на хук postinstall.
Любопытно, что оператор реагирует на публичные разоблачения и удаления из npm, оперативно выпуская замены: после удаления native-runner и img-to-native в течение двух дней появились runhelper и imgbundle, а в тот же день — первая версия imgdecode. От версии 1.0.1 библиотека сама скачивает и расшифровывает полезную нагрузку, а версия 1.0.3 вовсе избавилась от зависимостей от других пакетов MALFEX.
Встроенный рубильник
Аддон представляет собой 64-битную DLL, собранную в MSVC. Сначала она проверяет, не запущена ли в терминале разработчика, затем скачивает из репозитория cavecrew/proj файл banner.jpg, расшифровывает вложенную нагрузку ключом nif-runtime-2027 и внедряет её в dllhost.exe. При этом, если первые байты расшифрованных данных совпадают с сигнатурой JPEG или PNG, DLL останавливается — по мнению исследователей, так оператор может «выключить» загрузчик, подсунув картинку.
Финальная полезная нагрузка — стилер и средство удалённого доступа movinlike. Он проверяет наличие виртуальных машин, песочниц и инструментов вроде Process Monitor и Wireshark, после чего собирает файлы с seed-фразами и расширениями .kdbx, .pem, .ppk, .env, а также данные браузеров на Chromium, Discord, Telegram, криптокошельков и игровых сервисов. Через WebSocket он получает команды от C2-сервера, а для закрепления добавляет ключ в Registry Run и задачу планировщика с именем MicrosoftEdgeUpdateService.
Разработчикам, установившим любой из этих пакетов, рекомендуют считать систему скомпрометированной: изолировать её, проверить механизмы закрепления, сменить учётные данные и перевести средства на новые кошельки.
Источник: The Hacker News
Комментарии
Войдите, чтобы комментировать.