Четыре вредоносных пакета в репозитории npm

Новая вредоносная кампания по охоте за токенами Discord и данными кредитных карт действует через зараженные пакеты npm.

LofyLife: вредоносные пакеты в репозитории npm

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

Такие репозитории широко используются при разработке практически любого современного программного обеспечения: веб-приложений, мобильных приложений, умных устройств, роботов и так далее. Самые популярные пакеты еженедельно скачиваются миллионами программистов и лежат в основе многих разработок — от любительских проектов до известных технологических стартапов.

По некоторым оценкам, 97% кода современных веб-приложений составляют модули npm. Однако их популярность и свободный доступ неизбежно привлекают киберпреступников. Например, в 2021 году неизвестные злоумышленники скомпрометировали несколько версий популярной библиотеки JavaScript UAParser.js (которую в среднем загружают от 6 до 8 миллионов раз в неделю), снабдив их вредоносным кодом. Продукты, содержащие вредоносную библиотеку, позволяли киберпреступникам добывать криптовалюту и красть с зараженных устройств конфиденциальную информацию, такую ​​как файлы cookie браузера, пароли и учетные данные операционной системы.

А вот и более свежий пример: 26 июля 2022 года наши исследователи обнаружили новую угрозу, появившуюся в репозитории npm, которую они назвали LofyLife.

Что же такое LofyLife?

Используя внутреннюю автоматизированную систему мониторинга репозиториев, наши исследователи выявили в репозитории npm вредоносную кампанию LofyLife. В кампании использовались четыре вредоносных пакета, распространяющих вредоносные программы Volt Stealer и Lofy Stealer, которые служили для слежки за жертвами и сбора различной информации с их компьютеров, включая токены Discord и информацию о привязанных кредитных картах.

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

Описание зараженного пакета под названием proc-title

Описание одного из зараженных пакетов под названием proc-title (перевод с португальского: благодаря этому пакету заглавные буквы в ваших заголовках соответствуют Чикагскому руководству по стилю)


Пакеты содержали обфусцированный вредоносный код, что затрудняло их анализ при загрузке в репозиторий. Вредоносная нагрузка состояла из ПО на Python под названием Volt Stealer (вредоносный скрипт с открытым исходным кодом) и ПО на JavaScript, получившего название Lofy Stealer, которое имеет множество функций.

Volt Stealer служит для кражи токенов Discord с зараженных машин и загрузки их через HTTP злоумышленникам (вместе с информацией об IP-адресе жертвы). Lofy Stealer, новая разработка преступников, способна заражать файлы клиента Discord и отслеживать действия жертвы, обнаруживая, когда пользователь входит в систему, меняет зарегистрированный адрес электронной почты или пароль, включает или отключает многофакторную аутентификацию или добавляет новый метод оплаты (в этом случае Lofy Stealer крадет данные кредитной карты). Он также умеет загружать собранную информацию на удаленную конечную точку.

Как защититься от вредоносных пакетов

Репозитории позволяют любому пользователю публиковать свои собственные пакеты, и никто не может дать гарантий их безопасности. Например, злоумышленники могут выдавать свои поделки за популярные пакеты npm, изменяя пару букв в названии (чтобы заставить пользователя думать, что он загружает подлинный пакет). Поэтому рекомендуем всегда быть настороже и не относиться к даже к знакомым пакетам как к доверенным.

В целом среды разработки или сборки являются удобными целями для злоумышленников, пытающихся организовать атаки на цепочку поставок. Это означает, что в таких средах обязательно требуется надежная защита от зловредов, такая как Kaspersky Hybrid Cloud Security. Наши продукты успешно обнаруживают компоненты LofyLife с вердиктами HEUR:Trojan.Script.Lofy.gen и Trojan.Python.Lofy.a.

Если вы хотите быть в числе первых, кто узнает о новых вредоносных кампаниях, в том числе и распространяющихся с помощью открытого исходного кода, подпишитесь на отчеты об угрозах, например те, которые предоставляются через Threat Intelligence Portal.

Советы