Библиотека npm обзавелась вредоносным содержимым и раздает криптомайнеры
Эксперты Checkmarx выявили в npm вредоносную библиотеку, которая таится в репозитории уже больше года. Злоумышленники добавили в нее вредоносное содержимое уже после публикации.
Сама невинность
В репозитории npm уже более года располагается вредоносная библиотека, пишут исследователи компании Checkmarx.
Библиотека @0xengine/xmlrp изначально представляла собой совершенно невинный клиент-серверный пакет XML-RPC для Node.js.
Однако уже на следующий день после публикации она обновилась до версии 1.3.4, и вот тут в ней обнаружился целый букет вредоносных функций.
Среди прочего они позволяют собирать из системы, в которую установлена библиотека, SSH-ключи, историю bash, системные метаданные и переменные сред; сбор осуществляется каждые 12 часов, после чего весь «улов» выкачивается на внешние ресурсы - Dropbox и file.io.
В npm эта библиотека была опубликована 2 октября 2023 года. Она доступна там до сих пор, и за прошедший год ее успели скачать более 1790 раз.
Хуже того, на нее скрытно ссылался проект на GitHub под названием yawpp («Yet Another WordPress Poster»), предназначенный для автоматизированной публикации постов в системе WordPress. Один из его файлов - package.json - указывает последнюю версию @0xengine/xmlrpc в качестве зависимости, так что каждый раз, когда пользователь WordPress установит yawpp на свои системы, туда немедленно подтянется и вредонос.
Сознательно ли автор yawpp поставил ссылку на эту библиотеку или нет, точно неизвестно, однако после публикации материала об этом в издании The Hacker News, этот репозиторий с GitHub был удален.
Криптовалюты не пахнут
Вредоносные компоненты библиотеки после установки в целевую систему, не только собирают данные, но и фиксируют постоянство присутствия, а также устанавливают в систему криптомайнер XMRig.
К настоящему моменту насчитывается как минимум 68 скомпрометированных систем, которые активно генерируют криптовалюты в кошелек Monero, принадлежащий автору вредоноса.
Сверх этого, @0xengine/xmlrpc осуществляет постоянный мониторинг активных системных процессов, проверяя их на предмет присутствия таких команд как top, iostat, sar, glances, dstat, nmon, vmstat и ps. При их обнаружении, а также при обнаружении признаков активности администратора системы, криптомайнер немедленно прекращает работу.
Как отмечают эксперты Checkmarx, этот сюжет является суровым напоминанием, что ни «возраст» программного компонента, ни постоянство поддержки не являются свидетельством его безопасности.
«Это один из самых опасных видов атаки на цепочку поставок» - говорит Никита Павлов, эксперт по информационной безопасности компании SEQ. «Сторонний, с виду полезный компонент легко может оказаться внедренным в новые разработки, и даже если аудит безопасности для него изначально был произведен, сохраняется опасность внезапного появления в нем вредоносной «начинки» пост-фактум».
Эксперт отметил, что любые программные компоненты из непроверенных источников необходимо держать на подозрении даже после внедрения.