Зловредный npm-пакет атакует соискателей через фиктивные собеседования

information security

Специалисты компании SlowMist обнаружили сложную схему кибератаки, при которой злоумышленники используют фиктивные вакансии в сфере Web3 для распространения вредоносного npm-пакета. Атака направлена на кражу конфиденциальных данных, включая криптовалютные кошельки и учетные записи браузеров.

Описание

Механизм заражения через трудоустройство

Инцидент начался, когда самопровозглашенная украинская Web3-команда предложила кандидату выполнить тестовое задание в рамках первого этапа собеседования. Соискателю было поручено клонировать репозиторий EvaCodes-Community/UltraX с GitHub и запустить код. Заподозрив неладное, кандидат обратился в компанию SlowMist, чьи эксперты выявили в зависимостях проекта троянизированный пакет [email protected].

Пакет заменил ранее удаленный npm-модуль [email protected], который в марте 2024 года был снят с публикации за распространение вредоносного ПО. Исходный код rtk-logger был оперативно удален злоумышленниками с GitHub, однако SlowMist успели провести детальный анализ.

Техника обфускации и вредоносный функционал

Исследование показало, что пакет содержал искусно замаскированный вредоносный код в директории /rtk-logger/lib/utils/smtp-connection. Файл index.js считывал и обрабатывал данные из файла LICENSE с помощью функции parseLib(), которая расшифровывала шестнадцатеричный шифротекст алгоритмом AES-256-CBC. Полученный код исполнялся через eval(), что позволяло обходить базовые системы защиты.

Расшифрованный скрипт представлял собой многофункциональный шпионский модуль, нацеленный на:

  • Браузеры: Chrome, Brave, Opera, Firefox;
  • Криптокошельки (MetaMask, Exodus);
  • Системные данные: пароли macOS Keychain, SSL-сертификаты, скриншоты, буфер обмена.

Данные эксфильтрировались на сервер 144.172.112.106 через функцию uploadFiles() в открытом виде, без шифрования. Дополнительно модуль runP() загружал с этого же IP-адреса zip-архив с расширенным вредоносным инструментарием.

Сетевая инфраструктура и C2-серверы

Пакет поддерживал связь с командным сервером на 172.86.64.67 через библиотеку socket.io-client, что позволяло злоумышленникам:

  • Выполнять произвольные команды на системе жертвы;
  • Определять среду исполнения (виртуализация/песочница);
  • Активировать дополнительные модули: кейлоггер (al), сбор данных файловой системы (am), перехват скриншотов (ak).

Для Windows-систем функция Xt() проверяла наличие python.exe и запускала удаленный скрипт, на других ОС использовался python3. Это указывает на кросс-платформенный характер угрозы.

Масштаб угрозы и рекомендации

Форки оригинального репозитория от пользователей kylengn, taqveemahsan и zinping сохранили уязвимую зависимость [email protected], расширяя зону поражения. SlowMist подчеркивает, что подобные атаки через фиктивные вакансии особенно опасны для криптосообщества, где утечка приватных ключей ведет к прямой потере активов.

Эксперты настоятельно рекомендуют:

  1. Запускать незнакомые проекты исключительно в изолированных средах (песочницах);
  2. Контролировать сетевую активность npm-зависимостей;
  3. Проверять подозрительные репозитории через сервисы вроде Socket.dev или VirusTotal.

SlowMist, специализирующаяся на аудите криптобирж (Binance, OKX) с 2018 года, отмечает рост подобных атак на инфраструктуру Web3. Инцидент демонстрирует необходимость комплексной защиты цепочки поставок ПО, особенно при взаимодействии с непроверенными участниками сообщества.

На момент публикации пакет rtk-logger доступен в npm-регистре, что требует повышенного внимания разработчиков.

Индикаторы компрометации

IPs

  • 144.172.112.106
  • 172.86.64.67

URLs

  • http://144.172.112.106:1224/pdown
  • http://144.172.112.106:1224/client/5346/64
  • https://api.npoint.io/96979650f5739bcbaebb
  • http://172.86.64.67/api/service/makelog
  • http://172.86.64.67/api/service/process/
  • http://172.86.64.67:4181
  • http://172.86.64.67:4188/upload
  • http://172.86.64.67:4186/upload
  • http://172.86.64.67:4187/upload

SHA256

  • af46c7917f04a9039eb0b439a7615ec07b7ad88048cb24fe23c454c16dffcd57

GitHub Repositories Using [email protected]

  • https://github.com/EvaCodes-Community/UltraX

GitHub Repositories Using [email protected]

  • https://github.com/kylengn/UltraX
  • https://github.com/taqveemahsan/UltraX
  • https://github.com/zinping/Pain_project

Malicious NPM Packages

  • https://www.npmjs.com/package/rtk-logger
  • https://www.npmjs.com/package/redux-ace

NPM Package Download Link

  • https://registry.npmjs.org/rtk-logger/-/rtk-logger-1.11.5.tgz
Комментарии: 0