Malvér vložený do balíka NPM UAParser.js s 8 miliónmi stiahnutí za týždeň

Príbeh o odstránení troch škodlivých balíkov, ktoré skopírovali kód knižnice UAParser.js z úložiska NPM, sa dočkal nečakaného pokračovania – neznámi útočníci sa zmocnili kontroly nad účtom autora projektu UAParser.js a vydali aktualizácie obsahujúce kód pre kradnutie hesiel a ťažba kryptomien.

Problém je v tom, že knižnica UAParser.js, ktorá ponúka funkcie na analýzu hlavičky HTTP User-Agent, má asi 8 miliónov stiahnutí za týždeň a používa sa ako závislosť vo viac ako 1200 projektoch. UAParser.js údajne používajú spoločnosti ako Microsoft, Amazon, Facebook, Slack, Discord, Mozilla, Apple, ProtonMail, Autodesk, Reddit, Vimeo, Uber, Dell, IBM, Siemens, Oracle, HP a Verison.

Útok bol vykonaný hacknutím účtu vývojára projektu, ktorý si uvedomil, že niečo nie je v poriadku po tom, čo do jeho poštovej schránky zapadla nezvyčajná vlna spamu. Ako presne bol účet vývojára napadnutý, nie je hlásené. Útočníci vytvorili vydania 0.7.29, 0.8.0 a 1.0.0 tak, že do nich vstrekli škodlivý kód. V priebehu niekoľkých hodín vývojári opäť získali kontrolu nad projektom a vygenerovali aktualizácie 0.7.30, 0.8.1 a 1.0.1, ktoré problém opravili. Škodlivé verzie boli publikované iba ako balíčky v úložisku NPM. Projektový Git repozitár na GitHub nebol ovplyvnený. Všetkým používateľom, ktorí si nainštalovali problematické verzie, ak nájdu súbor jsextension v systéme Linux / macOS a súbory jsextension.exe a create.dll v systéme Windows, sa odporúča zvážiť ohrozenie systému.

Pridané škodlivé zmeny boli podobné tým, ktoré boli predtým navrhnuté v klonoch UAParser.js, ktoré boli podľa všetkého vydané na testovanie funkčnosti pred spustením rozsiahleho útoku na hlavný projekt. Spustiteľný súbor jsextension bol načítaný a spustený v systéme používateľa z externého hostiteľa, ktorý bol vybraný v závislosti od platformy používateľa a podporovanej práce v systémoch Linux, macOS a Windows. Pre platformu Windows útočníci okrem programu na ťažbu kryptomien Monero (bol použitý miner XMRig) zorganizovali aj zavedenie knižnice create.dll na zachytávanie hesiel a ich odosielanie na externý hostiteľ.

Kód na stiahnutie bol pridaný do súboru preinstall.sh, ktorý obsahoval vloženie IP=$(curl -k https://freegeoip.app/xml/ | grep 'RU|UA|BY|KZ'), ak [ -z " $ IP" ] ... stiahnuť a spustiť spustiteľný súbor fi

Ako je z kódu vidieť, skript najprv skontroloval IP adresu v službe freegeoip.app a nespustil škodlivú aplikáciu pre používateľov z Ruska, Ukrajiny, Bieloruska a Kazachstanu.

Zdroj: opennet.ru

Pridať komentár