Вредоносные NuGet-пакеты маскировались под китайские .NET-библиотеки
В экосистеме NuGet обнаружена масштабная вредоносная кампания: пять пакетов под аккаунтом ‘bmrxntfj’ оказались частью схемы, в которой злоумышленники имитировали популярные китайские .NET UI libraries и распространяли stealer, ориентированный на кражу конфиденциальных данных разработчиков и корпоративной инфраструктуры.
Что произошло
По данным отчета, злоумышленники использовали технику typosquatting, подбирая названия пакетов так, чтобы они напоминали легитимные и широко применяемые китайские .NET libraries. Такой подход повышал вероятность того, что разработчики установят их по ошибке, особенно в средах, где эти зависимости уже используются.
Внутри пакетов скрывался вредоносный stealer, упакованный с помощью .NET Reactor. Это позволяло маскировать его функциональность и визуально сближать с обычной библиотекой, снижая шансы на быстрое обнаружение при ручной проверке.
Масштаб кампании
Отмечается, что пакеты были опубликованы в 224 версиях, причем большинство релизов намеренно скрывались из публичных поисковых выдач. Это создавало ложное впечатление низкой активности и потенциальной легитимности проекта.
- около 65 000 загрузок;
- десятки тысяч зараженных рабочих станций разработчиков и CI/CD build servers;
- пакеты по-прежнему доступны в NuGet registry, несмотря на вредоносный характер.
Как работает вредоносная нагрузка
При выполнении payload использует .NET module initializer, который активируется до запуска кода приложения. Это означает, что вредоносная логика может сработать уже на этапе восстановления зависимости пакета — без необходимости дополнительного вмешательства со стороны пользователя.
Инициализация включает механизмы перехвата, позволяющие actor:
- проверять целостность сборки;
- выделять память под payload;
- выполнять ключевые процедуры до старта основного приложения.
По сути, это помогает обходить традиционные меры security, поскольку вредоносная активность запускается на ранней стадии жизненного цикла .NET-сборки.
Кроссплатформенное воздействие
Особую опасность представляет кроссплатформенная природа угрозы. Payload активируется в средах Windows, Linux и macOS, что резко расширяет круг потенциальных жертв — от локальных рабочих станций до серверов сборки и автоматизированных инфраструктур.
Вредоносное ПО также использует obfuscation и маскирует свою активность внутри легитимных directory structures, что затрудняет анализ и реагирование со стороны защитных команд.
Что именно крадет stealer
Функциональность вредоносной программы ориентирована на кражу широкого спектра данных:
- сохраненные credentials из 12 популярных Chromium-based browsers;
- данные из пяти криптовалютных wallet extensions;
- local files на зараженных системах;
- SSH keys и другие чувствительные артефакты.
Такая конфигурация делает угрозу особенно опасной для разработчиков, DevOps-команд и организаций, где активно используются .NET-сборки и связанные с ними инструменты.
Инфраструктура и признаки атаки
Судя по отчету, злоумышленники тщательно выстроили C2 infrastructure и использовали конкретные registered domains для exfiltration, маскируя активность под легитимные операции.
Для защиты рекомендуются меры, основанные на выявленных indicators of compromise, включая:
- blocking DNS permissions для известных C2 domains;
- alerting on suspicious file creation;
- контроль outbound connections, указывающих на вредоносную активность.
Вывод
Эта операция демонстрирует, насколько опасными остаются supply chain threats в экосистеме .NET. Использование typosquatting, упаковки через .NET Reactor, раннего запуска через module initializer и кроссплатформенной доставки payload делает атаку одновременно скрытной, масштабируемой и труднообнаружимой.
Для организаций, использующих .NET-технологии, это сигнал усилить контроль за зависимостями, мониторингом build-сред и проверкой внешних пакетов перед установкой.
Отчет получен из сервиса CTT Report Hub. Права на отчет принадлежат его владельцу.
Ознакомиться подробнее с отчетом можно по ссылке.



