Ssylka

Как одна кириллическая буква и 11 миллионов загрузок позволили украсть криптовалюту?

Атака на цепочку поставок, нацеленная на репозиторий пакетов NuGet, была обнаружена компанией Socket. Злоумышленники опубликовали вредоносную библиотеку под названием Netherеum.All, которая имитировала популярную.NET-платформу для интеграции с Ethereum — Nethereum. Основной целью атаки была кража ключей от криптовалютных кошельков и других конфиденциальных данных пользователей.
Как одна кириллическая буква и 11 миллионов загрузок позволили украсть криптовалюту?
Изображение носит иллюстративный характер

Вредоносный пакет был загружен 16 октября 2025 года пользователем с ником "nethereumgroup". Спустя всего четыре дня, 20 октября 2025 года, он был удален администрацией NuGet за нарушение условий использования. За короткий срок своего существования пакет успел продемонстрировать несколько изощренных методов обмана, направленных на усыпление бдительности разработчиков.

Ключевой уловкой стал омоглифический трюк: в названии пакета Netherеum.All последняя латинская буква "e" была заменена на визуально неотличимую кириллическую «е» (U+0435). При беглом просмотре или копировании названия такая подмена практически незаметна, что позволяет вредоносному пакету маскироваться под легитимный.

Для придания пакету ложной популярности и авторитетности злоумышленники искусственно завысили счетчик его загрузок до 11,7 миллиона. Такой показатель для новой библиотеки был охарактеризован как «огромный красный флаг». Исследователь безопасности Кирилл Бойченко объяснил, что подобная накрутка достигается путем публикации множества версий пакета и последующей автоматизации их скачивания с использованием v3 flat-container.

Технически для накрутки счетчика использовались циклические команды, такие как nuget.exe install и dotnet restore с опцией no-cache, запускаемые с большого количества облачных хостов. Чтобы обходить кэширование и системы защиты, скрипты постоянно меняли IP-адреса и user-агенты, а также распараллеливали запросы для достижения максимального объема загрузок.

Вредоносный код был спрятан внутри функции EIP70221TransactionService.Shuffle. Эта функция декодировала строку, зашифрованную с помощью XOR, чтобы получить адрес командного сервера (C2): solananetworkinstance[.]info/api/gads. После активации полезная нагрузка приступала к сбору и отправке на этот сервер конфиденциальных данных жертвы.

Целью злоумышленников были данные, связанные с криптовалютными кошельками. Пакет был спроектирован для поиска и кражи мнемонических фраз, приватных ключей и данных из файлов хранилищ ключей (keystore), что давало атакующим полный доступ к цифровым активам жертв.

Данный инцидент не был единичным. Тот же злоумышленник в начале октября 2025 года загрузил другой вредоносный пакет под названием "NethereumNet", который содержал идентичную функциональность и также был оперативно удален командой безопасности NuGet. Это указывает на систематические попытки компрометации разработчиков в.NET-экосистеме.

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

Коренная причина уязвимости кроется в политике именования пакетов NuGet. Платформа налагает минимальные ограничения, запрещая лишь пробелы и небезопасные для URL символы, но при этом не требует использования символов исключительно из набора ASCII. Это кардинально отличает NuGet от других крупных репозиториев.

Такие платформы, как PyPI, npm, Maven Central, Go Module и RubyGems, применяют более строгие правила именования. Они ограничивают использование символов набором ASCII, что эффективно предотвращает атаки с применением омоглифов и делает подобные методы обмана невозможными.

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


Новое на сайте