Исследователи кибербезопасности из Socket обнаружили в репозитории npm вредоносный пакет nodejs-smtp, который маскируется под популярную библиотеку nodemailer для отправки электронной почты. Этот пакет, однако, содержит скрытую функциональность для компрометации криптокошельков и перенаправления транзакций на контролируемые злоумышленниками адреса.
Описание
Пакет nodejs-smtp умно имитирует легитимный проект nodemailer, который еженедельно скачивается около 3,9 миллиона раз. Он сохраняет полную функциональность почтовой библиотеки, что позволяет ему проходить стандартные тесты и не вызывать подозрений у разработчиков. Однако при импорте модуль выполняет дополнительный вредоносный код, нацеленный на пользователей криптовалютных кошельков Atomic Wallet и Exodus в среде Windows.
Механизм атаки использует инструментарий Electron для распаковки архива app.asar кошелька, замены vendor-бандла на вредоносную нагрузку и повторной упаковки приложения. После этого модуль удаляет рабочие директории, скрывая следы вмешательства. Внедренный код модифицирует логику работы кошелька, подменяя адреса получателей на заранее заданные кошельки злоумышленника при проведении транзакций в Bitcoin (BTC), Ethereum (ETH), Tether (USDT и TRX USDT), XRP (XRP) и Solana (SOL).
Анализ кода показывает, что модуль использует точное сопоставление по символам криптовалют. Для BTC это адрес 17CNLs7rHnnBsmsCWoTq7EakGZKEp5wpdy, для ETH и USDT - 0x26Ce898b746910ccB21F4C6316A5e85BCEa39e24, для TRX-USDT - TShimPsmriHr2GVL7ktVWofMBWCKU5aV8a, для XRP - rh3UuQvbnBXSSXhSp3KEb98YhnU2JnXXhK, а для SOL - 47iMzKY8KfqgawsT3Xm4cBoRZYx6PQpCae3978GFHxSV.
Угроза особенно опасна тем, что не требует от пользователя никаких дополнительных действий - изменение происходит автоматически при импорте пакета в проект. Интерфейс кошелька остается неизменным, и жертва не подозревает, что средства направляются не тому получателю.
Автором пакета значится пользователь nikotimon с email darkhorse.tech322@gmail[.]com. На текущий момент злоумышленнику не удалось накопить значительные средства, что вероятно связано с недавним началом кампании. Однако исследователи предупреждают, что низкая финансовая активность не означает низкого уровня риска - инструментарий хорошо продуман, многократно используем и масштабируем.
Пакет остается доступным в npm-репозитории на момент публикации материала. Представители Socket уже обратились в службу безопасности npm с требованием удалить вредоносный модуль и заблокировать аккаунт злоумышленника.
Эксперты отмечают растущую тенденцию использования пакетных менеджеров для распространения криптодрэйнеров - вредоносных программ, предназначенных для кражи криптовалют. Современные атаки становятся все более сложными, охватывая multiple блокчейны и использующие методы социальной инженерии.
Для защиты от подобных угроз рекомендуется использовать специализированные инструменты безопасности, такие как Socket GitHub App, который сканирует pull-запросы в реальном времени, и Socket CLI, проверяющий пакеты при установке. Browser-расширение Socket предупреждает пользователей о подозрительных пакетах при их просмотре или скачивании.
Разработчикам следует проявлять особую бдительность при выборе зависимостей, проверять репутацию пакетов и использовать инструменты статического анализа кода. Регулярное обновление кошельков и их переустановка из официальных источников также может помочь mitigate риски, связанные с подобными атаками.
Индикаторы компрометации
Malicious npm Package
- nodejs-smtp
Threat Actor’s npm Alias and Registration Email
- nikotimon
- darkhorse.tech322@gmail[.]com
Threat Actor’s Wallet Addresses
- BTC: 17CNLs7rHnnBsmsCWoTq7EakGZKEp5wpdy
- ETH and USDT on Ethereum: 0x26Ce898b746910ccB21F4C6316A5e85BCEa39e24
- TRX USDT on TRON: TShimPsmriHr2GVL7ktVWofMBWCKU5aV8a
- XRP: rh3UuQvbnBXSSXhSp3KEb98YhnU2JnXXhK
- SOL and SOLToken: 47iMzKY8KfqgawsT3Xm4cBoRZYx6PQpCae3978GFHxSV