Шкідливе програмне забезпечення NodeCordRAT
Аналітики з кібербезпеки виявили три шкідливі npm-пакети, розроблені для розповсюдження раніше недокументованого трояна віддаленого доступу (RAT), який тепер відстежується як NodeCordRAT. Ці пакети були видалені з реєстру npm у листопаді 2025 року, і всі вони були опубліковані обліковим записом, що працює під іменем «wenmoonx».
Виявлені шкідливі пакети:
- bitcoin-main-lib (≈2300 завантажень)
- bitcoin-lib-js (≈193 завантажень)
- bip40 (≈970 завантажень)
Зловмисники навмисно вибрали назви, які дуже схожі на легітимні репозиторії з відомої екосистеми bitcoinjs, що є очевидною спробою ввести розробників в оману та збільшити ймовірність випадкового встановлення.
Зміст
Ланцюг зараження та доставка корисного навантаження
Компрометація починається після встановлення bitcoin-main-lib або bitcoin-lib-js. Обидва пакети містять спеціально створений файл package.json, який визначає скрипт postinstall.cjs. Цей скрипт непомітно завантажує bip40, на якому розміщено фактичний шкідливий код.
Після виконання bip40 розгортає остаточне корисне навантаження: NodeCordRAT, повнофункціональний троян віддаленого доступу з вбудованими функціями збору даних.
Що таке NodeCordRAT?
Назва NodeCordRAT походить від двох основних рішень у дизайні: npm як механізм поширення та Discord як платформа командування та управління (C2). Після встановлення шкідливе програмне забезпечення фіксує відбитки пальців ураженої системи, щоб створити унікальний ідентифікатор на хостах Windows, Linux та macOS.
Троян здатний збирати конфіденційну інформацію, зокрема:
- Облікові дані Google Chrome
- Токени API
- Секрети криптовалютних гаманців, такі як дані MetaMask та сідельні фрази
Усі зібрані дані передаються зловмиснику через інфраструктуру Discord.
Командування та управління на основі Discord
Замість того, щоб покладатися на традиційні сервери C2, NodeCordRAT використовує жорстко запрограмований сервер Discord та токен для встановлення прихованого каналу зв'язку. Через цей канал оператори можуть видавати команди та отримувати викрадені дані.
Підтримувані команди зловмисника включають:
- !run – Виконання довільних команд оболонки за допомогою функції exec у Node.js
- !screenshot – Зробіть повний скріншот робочого столу та витягніть його у форматі PNG
- !sendfile – Завантажити вказаний локальний файл до каналу Discord
Вилучення даних через API Discord
Викрадання здійснюється повністю через REST API Discord. Використовуючи вбудований токен, шкідливе програмне забезпечення публікує викрадений контент безпосередньо в приватному каналі, прикріплюючи файли через кінцеву точку:
/channels/{id}/messages
Такий підхід дозволяє зловмисникам поєднувати шкідливий трафік із легітимною активністю Discord, що ускладнює виявлення в середовищах, де Discord дозволено.
Наслідки для безпеки
Ця кампанія підкреслює постійне зловживання екосистемами з відкритим кодом та надійними платформами для співпраці. Маскуючи себе під знайомі бібліотеки, пов'язані з Bitcoin, та використовуючи пост-інсталяційні скрипти як зброю, зловмисники створили шлях зараження з низьким тертям, здатний забезпечити кросплатформну атаку RAT, спрямовану на крадіжку облікових даних та віддалене керування.
Для команд розробників та фахівців з безпеки цей інцидент підкреслює важливість суворої перевірки залежностей, моніторингу скриптів під час встановлення та виявлення аномалій для вихідного трафіку на споживчі платформи, такі як Discord.