Xakep #305. Многошаговые SQL-инъекции
В популярную JavaScript-библиотеку UA-Parser-JS внедрили вредоносный код, который загружал и устанавливал в системы пользователей инструмент для кражи паролей и криптовалютный майнер.
UA-Parser-JS – крайне популярное решение, которое загружают миллионы раз в неделю, согласно статистике npm (более 24 миллионов загрузок только в текущем месяце). Согласно официальному сайту, библиотека используется такими компаниями, как Facebook, Apple, Amazon, Microsoft, Slack, IBM, HPE, Dell, Oracle, Mozilla, Shopify, Reddit и так далее.
В конце прошлой неделе о компрометации сообщил Фейсал Салман (Faisal Salman), разработчик UAParser.js.
«Я заметил кое-что необычное, когда мою электронную почту внезапно залило спамом с сотен сайтов (вероятно, это было сделано для того, чтобы я не заметил, что что-то происходит, но, к счастью, эффект оказался прямо противоположным). Я полагаю, кто-то взломал мою учетную запись npm и опубликовал ряд скомпрометированных пакетов (версии 0.7.29, 0.8.0, 1.0.0), которые, вероятно, устанавливают вредоносное ПО», — писал он.
Анализ вредоносного кода выявил дополнительные скрипты, которые загружали и запускали бинарники с удаленного сервера. Эти файлы были предоставлены как для Linux, так и для Windows.
Помимо крупновалютного майнера jsextension (это майнер XMRig Monero, который будет использовать только 50% ЦП устройства, чтобы его нельзя было легко обнаружить), в Windows-системы также загружался троян-инфостилер (возможно, вариация малвари Danabot), который способен похищать файлы cookie и пароли из браузера, а также учетные данные ОС и других приложений, включая FTP-клиенты, VNC, мессенджеры, почтовые клиенты и так далее.
Всего через несколько часов после обнаружения взлома Салман удалил скомпрометированные версии библиотеки и вновь выложил «чистые»: 0.7.30, 0.8.1 и 1.0.1.
Команда безопасности GitHub уже приняла инцидент к сведению и тоже выпустила сообщение, в котором призвала к немедленному сбросу паролей и ротации токенов в системах, где UA-Parser-JS использовалась как часть процессов разработки.
Интересно, что специалисты компании Sonatype связывают произошедшее с другим инцидентом, имевшим место на прошлой неделе. Тогда исследователи выявили три вредоносных пакета npm, которые так же содержали скрытый криптовалютный майнер. Теперь в Sonatype полагают, что атака на UA-Parser-JS была проведена тем же злоумышленником.