[ON] Фишинг позволил получить контроль над несколькими популярными NPM-пакетами

Обсуждение новостей, соответствующих тематике форума

Модератор: Модераторы разделов

Аватара пользователя
rssbot
Бот
Сообщения: 6001
ОС: gnu/linux

[ON] Фишинг позволил получить контроль над несколькими популярными NPM-пакетами

Сообщение rssbot »

Зафиксирована фишинг-атака на сопровождающих JavaScript-библиотеки, в ходе которой от имени сервиса NPM было разослано сообщение, уведомляющее о необходимости подтвердить свой email. Проведённая атака позволила злоумышленникам
получить NPM-токены сопровождающего одного из крупных JavaScript-проектов и выпустить обновления с вредоносным кодом для пяти NPM-пакетов, в сумме насчитывающих около 100 млн загрузок в неделю.



Отправленное сопровождающим сообщение было стилизовано под типовые уведомления NPM, отправляемые с адреса "support@npmjs.org", но в качестве ссылки для перехода был указан домен "npnjs.com" вместо "npmjs.com" (третья буква "n" вместо "m"). Атакующие воспользовались психологическим эффектом, из-за которого мозг, предвосхищая ожидаемый результат, не замечает незначительные искажения, такие как замена букв на похожие или изменение порядка следования букв в слове. При переходе по ссылке открывалась полная копия сайта npmjs.com (вероятно, был настроен прокси, перехватывающий токен доступа).
Изображение

В ходе атаки были сформированы новые версии пакетов:
В сформированные выпуски был добавлен вредоносный код для атаки на пользователей, использующих платформу Windows. Внесённые изменения загружали библиотеку node-gyp.dll, содержащую функциональность для удалённого выполнения команд в системе.


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


Не уточняется сколько пользователей успело загрузить вредоносные версии (например, вредоносная версия пакета eslint-plugin-prettier оставалась в репозитории около двух дней). За прошлую неделю пакет eslint-config-prettier насчитывал 30 млн загрузок и использовался в качестве зависимости у 11762 тысячи пакетов, пакет eslint-plugin-prettier - 21 млн загрузок (8468 зависимых пакетов), synckit - 18 млн, @pkgr/core - 16 млн и napi-postinstall - 10 млн.



Дополнение 1: Выявившие фишинг-атаку исследователи несколько дней назад обратили внимание на 28 NPM-пакетов, авторами которых было включено изменение категории Protestware. Изменение приводило к воспроизведению украинского гимна
и отключению обработки событий от мыши на сайтах в доменных зонах "ru", "su", "by" и "рф", если пользователь ранее уже открывал сайт более трёх дней назад и в его браузере была включена поддержка русского языка. Изначально изменение было реализовано около трёх лет назад в пакете Sweetalert2, насчитывающем 700 тысяч загрузок в неделю и используемого в 2403 других пакетах как зависимость. Наличие протестной активности было отдельно упомянуто на странице проекта. Через какое-то время изменение стало заимствоваться авторами других пакетов, как правило насчитывающие несколько сотен загрузок в неделю.


Дополнение 2: Жертвами фишинг-атаки также стали сопровождающие пакеты is и got-fetch. Пакет is насчитывает 2.8 млн загрузок в неделю и используется в качестве зависимости у 636 других пакетов. Пакет got-fetch насчитывает 53 тысячи загрузок в неделю. После получения контроля над пакетами злоумышленники сформировали вредоносные выпуски is 3.3.1 и 5.0.0, got-fetch 5.1.11 и 5.1.12. В пакет is был встроен кросс-платформенный загрузчик вредоносного ПО, реализованный на JavaScript и открывающий WebSocket-соединение для удалённого выполнения кода в системе. Вредоносный код также передавал данные о системе и содержимом переменных окружения.



Источник: https://www.opennet.ru/opennews/art.shtml?num=63610
(opennet.ru, основная лента)
Последний раз редактировалось rssbot 27.07.2025 09:19, всего редактировалось 3 раза.
Причина: Updated upstream
Спасибо сказали: