Криптографические угрозы в экосистеме .NET: вредоносные пакеты NuGet атакуют кошельки Ethereum

information security

Исследовательская группа безопасности Socket Threat Research Team обнаружила серию вредоносных  пакетов в репозитории NuGet, которые использовали технику тайпсквоттинга (typosquatting) для кражи ключей криптокошельков. Целью атак стал популярный проект Nethereum - стандартная библиотека .NET для работы с блокчейном Ethereum, имеющая десятки миллионов загрузок через NuGet.

Описание

Атака началась в октябре 2025 года, когда злоумышленники опубликовали пакет Netherеum.All, в названии которого использовалась кириллическая буква «е» (U+0435) вместо латинской. Эта техника, известная как homoglyph-атака, позволяла пакету успешно маскироваться под легитимную библиотеку при беглом просмотре. Визуально название выглядело идентично оригинальному Nethereum, что повышало вероятность случайной установки разработчиками.

Внутренний анализ показал, что вредоносный код был аккуратно интегрирован в функционал библиотеки. Основная нагрузка скрывалась в методе EIP70221TransactionService.Shuffle, который использовал XOR-шифрование для декодирования командного сервера. Исходная строка «jwwrs:./ronaoanettorkinstance[.]info/api/gads» после применения XOR-маски преобразовывалась в "https://solananetworkinstance[.]info/api/gads". Полученный URL использовался для exfiltration (несанкционированного вывода) конфиденциальных данных через HTTPS POST запросы с полем "message".

Особенностью атаки стало то, что пакет сохранял полную функциональность оригинальной библиотеки, ссылаясь на легитимные зависимости Nethereum.Hex, Nethereum.Signer, Nethereum.Util и Nethereum.RPC. Это обеспечивало нормальную компиляцию и выполнение Ethereum-операций, маскируя вредоносную активность. Код активировался только при вызове конкретного метода Shuffle, который мог запускаться при выполнении стандартных операций: импорте мнемонических фраз, расшифровке keystore, подписании транзакций или работе с сериализованными данными транзакций.

Исследователи также установили связь с ранее удаленным пакетом NethereumNet, использовавшим идентичный код для exfiltration. Оба пакета были опубликованы одним threat actor (злоумышленником) под разными псевдонимами - nethereumgroup и NethereumCsharp.

Важным аспектом кампании стала искусственная накрутка счетчиков загрузок. Пакет Netherеum.All показал 11.6 миллионов загрузок всего через несколько дней после публикации, что практически невозможно для новой библиотеки без зависимых проектов. Такой паттерн характерен для автоматизированного накручивания показателей через скрипты, использующие nuget.exe install и dotnet restore с опцией no-cache из облачных хостов.

После обнаружения 18 октября 2025 года исследователи немедленно уведомили команду безопасности NuGet. К 20 октября пакет был удален, а связанные учетные записи приостановлены. Однако четыре дня активности оказались достаточным временем для потенциального компрометирования секретов, если разработчики успели установить вредоносную библиотеку.

Проблема homoglyph-атак особенно актуальна для NuGet, поскольку правила идентификаторов этого реестра не ограничивают имена ASCII-символами, в отличие от npm, PyPI, Maven Central, Crates и других популярных экосистем. Как отмечал Карло Занки из ReversingLabs еще в 2024 году, злоумышленники активно используют эту особенность для подмены доверенных пакетов.

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

Современные системы защиты, такие как Socket AI Scanner, способны автоматически обнаруживать подобные угрозы, анализируя XOR-декодирование командных серверов и отслеживая подозрительные сетевые подключения. Интеграция таких решений в процесс разработки позволяет блокировать рискованные зависимости до их попадания в продакшен-среду.

В случае потенциального контакта с компрометированными пакетами необходимо рассматривать все раскрытые секреты как скомпрометированные и немедленно выполнить их ротацию. Удаление пакета из реестра не очищает среды разработки, где он мог быть установлен, поэтому требуется тщательная проверка всех систем.

Ожидается, что в будущем злоумышленники будут использовать более сложные техники обфускации, ротировать домены и потенциально внедрять выполнение кода во время установки через модульные инициализаторы или MSBuild. Это требует постоянного совершенствования мер безопасности и повышения осведомленности разработчиков о современных угрозах цепочке поставок программного обеспечения.

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

URLs

  • https://solananetworkinstance.info/api/gads

Malicious Packages

  • Netherеum.All
  • NethereumNet

Threat Actor’s NuGet Aliases

  • nethereumgroup
  • NethereumCsharp
Комментарии: 0