NodeCordRAT в npm: bitcoin-пакеты, typosquatting и Discord C2

В ноябре 2025 года Zscaler ThreatLabZ обнаружил три вредоносных пакета в реестре npm — bitcoin-main-lib, bitcoin-lib-js и bip40. Эти пакеты использовались для доставки удалённого троянца доступа NodeCordRAT, способного похищать конфиденциальные данные с заражённых машин и передавать их злоумышленникам через Discord.

Zscaler ThreatLabZ сообщил, что несколько тысяч загрузок этих пакетов указывают на значительную потенциальную базу пользователей, затронутых этой угрозой.

Суть атаки

Атака опиралась на классическую технику typosquatting: злоумышленники опубликовали пакеты с именами, похожими на легитимные репозитории проекта bitcoinjs, чтобы обманом заставить разработчиков установить их зависимостями. Два из пакетов — bitcoin-main-lib и bitcoin-lib-js — выполняли postinstall-скрипт, который требовал установки bip40. Пакет bip40 содержал фактическую вредоносную полезную нагрузку и мог устанавливаться автономно, что позволяло обходить цепочки зависимостей.

Технический анализ вредоносного ПО

  • Язык и среда выполнения: вредонос написан на JavaScript и работает в среде Node.js.
  • Механизм установки: использование postinstall-скриптов для подтягивания bip40 и возможность прямой установки bip40.
  • Идентификация жертвы: NodeCordRAT формирует уникальный идентификатор для каждой заражённой машины путём снятия отпечатков хоста (fingerprinting).
  • Канал C2: управление и эксфильтрация организованы через Discord. После подключения к хардкодированному серверу вредонос создаёт приватный канал в Discord для обмена командами и данными.
  • Возможности сбора данных: похищение учётных данных из браузера (включая Chrome), сессий и cookie, API-токенов, данных с криптовалютного кошелька MetaMask, поиск незащищённых учётных данных в текстовых файлах, сбор файлов с локальной машины и создание скриншотов активности пользователя.
  • Экфильтрация: собранные данные передаются непосредственно через созданный в Discord приватный канал, что затрудняет их перехват традиционными средствами мониторинга сетевого трафика.

Масштаб и риск

ThreatLabZ отметил «несколько тысяч» загрузок выявленных пакетов. Даже если часть инсталляций была случайной или нерепрезентативной, численность загрузок указывает на значительную потенциальную экспозицию: разработчики и автоматические сборки, которые доверяют внешним зависимостям, могли получить скомпрометированные модули.

Почему это опасно

  • Использование популярных экосистем (npm, Node.js) увеличивает вероятность распространения через CI/CD и локальные окружения разработчиков.
  • Применение typosquatting маскирует вредонос под легитимные пакеты, что затрудняет обнаружение на ранних стадиях.
  • Discord как C2 усложняет блокировку: трафик идет через легитимный сервис, а данные передаются в рамках приватных каналов.
  • Сбор криптографических ключей и API-токенов напрямую угрожает риску финансовых потерь и компрометации сторонних сервисов.

Рекомендации по защите

  • Аудит зависимостей: регулярно проверяйте список зависимостей и считающиеся подозрительными пакеты; используйте доверенные источники и проверенные версии.
  • Фиксация версий: применяйте lock-файлы (package-lock.json, yarn.lock) и контролируйте их в CI, чтобы предотвратить непреднамеренное подтягивание новых пакетов.
  • Инструменты SCA и сканеры: интегрируйте SCA-решения и сканеры на этапе CI, чтобы обнаруживать typosquatting и вредоносные скрипты (postinstall и т.п.).
  • Ограничение прав процесса: не запускайте установку пакетов с правами администратора/root без крайней необходимости; применяйте принцип наименьших привилегий.
  • Мониторинг и ретроспектива: проверяйте логи CI/CD и «build agents» на предмет неожиданных сетевых соединений и установок пакетов; ищите артефакты NodeCordRAT (созданные файлы, процессы, подключение к Discord API).
  • Реакция на инцидент: при подозрении на компрометацию — изолируйте машины, смените и отзовите ключи и токены, смените пароли, включите 2FA, выполните полное восстановление из доверенных бэкапов.

Вывод

Инцидент с bitcoin-main-lib, bitcoin-lib-js и bip40 — очередное напоминание о рисках, связанных с доверием к сторонним пакетам в экосистеме npm. Злоумышленники продолжают использовать typosquatting и легитимные платформы коммуникации (в данном случае Discord) для управления и эксфильтрации данных. Разработчикам и администраторам инфраструктуры важно усилить контроль зависимостей, мониторинг установки пакетов и реагирование на инциденты, чтобы снизить вероятность успешной компрометации.

Отчет получен из сервиса CTT Report Hub. Права на отчет принадлежат его владельцу.

Ознакомиться подробнее с отчетом можно по ссылке.

Технологии киберугроз
Автор: Технологии киберугроз
Технологии киберугроз (бренд RST Cloud Russia) – технологическая компания, специализирующаяся на решениях по анализу угроз для предприятий любого размера. Мы собираем, нормализуем, обогащаем информацию о киберугрозах со всего мира. Нашими источниками являют более 260 открытых фидов, более 100 открытых поставщиков Threat Intelligence-отчетов, открытые online sandbox, социальные сети и репозитории GitHub. Мы также предоставляем ряд сервисов по: семантическом анализу Threat Intelligence-отчетов и приведения их в машиночитаемый формат STIX 2.1, проверки IoC на потенциальные ложноположительные сработки, а также получению WHOIS-записей для доменных имен.
Комментарии: