NUL1DROPPER: 700 вредоносных npm-пакетов разносят троян по трём ОС
Более 700 malicious packages наводнили npm благодаря новой тактике обхода защиты. Исследователи раскрыли детали multi-stage loader, который получает payload через Cloudflare Workers и скрытые DNS TXT-записи, а затем бесшумно запускает бинарные файлы с функциями credential theft и persistence.
Многоэтапный loader без install script
Загрузчик, получивший имя NUL1DROPPER, ломает привычные представления о цепочке атаки в экосистеме npm. В отличие от большинства вредоносных модулей, он не полагается на скрипты жизненного цикла (lifecycle scripts). Внедрение начинается сразу после импорта пакета с помощью функции require(), а это значит, что компрометация может происходить не только на этапе инсталляции, но и в любой момент, когда приложение подгружает заражённый компонент.
Схема доставки payload
Разработчики NUL1DROPPER создали отказоустойчивый механизм из двух независимых каналов. На первом этапе loader отправляет HTTPS-запросы к трём разным хостам Cloudflare Workers. Если сетевые ограничения или защитные средства блокируют это соединение, срабатывает запасной вариант — извлечение payload напрямую через DNS TXT-записи на домене wel1.ru.
- Primary: HTTPS-запросы к инфраструктуре Cloudflare Workers.
- Fallback: Парсинг DNS TXT-ответов с wel1.ru.
Такой подход особенно опасен для организаций, где DNS-трафик не анализируется с той же глубиной, что HTTP-сессии. Нестандартное использование протокола позволяет долгое время оставаться незамеченным стандартными системами мониторинга.
Техники обфускации и уклонения
Получив достаточно данных, NUL1DROPPER генерирует случайный идентификатор, записывает payload на диск и запускает его в detached mode — процесс полностью отвязывается от стандартного ввода и вывода. Такая маскировка усложняет отслеживание вредоносной активности среди легитимных файлов, особенно с учётом того, что имена сохраняемых объектов подражают безобидным соглашениям системных каталогов.
Кампания активно применяет приёмы антианализа. Полезная нагрузка умеет обнаруживать debugging environments и virtual machines, что затрудняет реверс-инжиниринг и автоматизированную детонацию в «песочницах».
Кроссплатформенный размах и anti-analysis
Зловред метит в три ключевые операционные системы. Помимо Windows, доставляются хорошо замаскированные native binaries для macOS и Linux. Образец, нацеленный на macOS, способен с помощью библиотек libcurl и libresolv загружать дополнительные модули уже после первичного проникновения.
Linux-вариант упакован утилитой UPX, чтобы обойти статический анализ, и, по предварительным данным, представляет собой имплант Sliver — широко эксплуатируемого C2-фреймворка. Именно второй этап содержит основные вредоносные функции: кражу учётных данных, механизмы закрепления в системе и команды управления.
Атрибуция: российский след
Специалисты связывают NUL1DROPPER с деятельностью Russian threat actors, ранее фигурировавших в кампаниях вредоносного ПО, в частности в операциях группировки Moika. Та известна атаками на российские финансовые учреждения и постоянным обновлением тактик уклонения. Сходство инструментов, инфраструктуры и методик обфускации указывает на эволюцию того же арсенала.
Рекомендации защитникам
Учитывая особенности доставки и запуска payload, исследователи советуют сфокусироваться на следующих индикаторах компрометации:
- Мониторинг DNS-логов: фиксировать TXT-запросы к домену wel1.ru.
- Проверка proxy-логов на обращения к хостам Cloudflare Workers, задействованным в кампании.
- Глубокая телеметрия endpoint-систем: искать признаки запуска процессов в detached mode и детектировать характерные имена файлов payload.
- Контроль импорта npm-пакетов в рантайме, а не только на этапе установки.
NUL1DROPPER демонстрирует, что ставка на изолированный канал вроде DNS и отказ от install script позволяют эффективно обходить многоуровневую защиту. Реагирование требует пересмотра политик мониторинга и аудита как сетевых протоколов, так и поведенческих артефактов на хостах.
Отчет получен из сервиса CTT Report Hub. Права на отчет принадлежат его владельцу.
Ознакомиться подробнее с отчетом можно по ссылке.



