Útočníci se dokázali zmocnit účtu správce a vydat dvě škodlivé verze NPM balíčku axios, který poskytuje implementaci HTTP klienta pro prohlížeče a Node.js. Balíček axios má více než 100 milionů stažení týdně a je používán jako závislost u 174 tisíc dalších balíčků. Škodlivé změny byly integrovány do verzí Axios 1.14.1 a 0.30.4 prostřednictvím nahrazení fiktivní závislosti plain-crypto-js 4.2.1, která obsahovala kód pro stahování komponent, přijímajících příkazy z řídícího serveru útočníků. Škodlivé verze byly nabízeny k stažení 31. března po dobu téměř 3 hodin — od 03:21 do 6:15 (MSK).
Škodlivé verze byly zveřejněny v NPM přímo za použití přihlašovacích údajů hlavního správce projektu axios („jasonsaayman“) obchvatením standardního mechanismu publikování nových verzí na základě GitHub Actions. Předpokládá se, že útočníci se zmocnili přístupového tokenu k NPM od správce, poté se přihlásili do účtu a změnili vazbu na e-mail. Jakým způsobem byl přístupový token zmocněn, není upřesněno.
Spouštěný škodlivý kód byl umístěn v balíčku plain-crypto-js v souboru setup.js, aktivoval se po dokončení instalace NPM balíčku pomocí zpracovatele postinstall (‘postinstall: „node setup.js“‘) a používal se k načítání a instalaci trojana, který napadal systémy s Windows, macOS a Linux. Aby skryl svou přítomnost, po spuštění škodlivá komponenta odstraňovala soubor setup.js a nahrazovala package.json variantou bez postinstall háku. 
V macOS se škodlivý spustitelný soubor stáhl jako „/Library/Caches/com.apple.act.mond“, ve Windows jako „%PROGRAMDATA%\wt.exe“, v Linuxu jako „/tmp/ld.py“. Po aktivaci v Linuxu a macOS každých 60 sekund odesílal externím útočníkům příkazy k vykonání na napadeném systému, které mohly být použity ke stažení dalších škodlivých komponent, provedení libovolných shell příkazů a hledání/odesílání určitých souborů. server Škodlivá aktivita v Linuxu a macOS nezahrnovala uchování přítomnosti po restartu a byla navržena pro rychlé shromáždění důvěrných dat, hesel, tokenů a přístupových klíčů. V Windows se vytvářel soubor „%PROGRAMDATA%\system.bat“, který stahoval škodlivou komponentu od útočníků při každém přihlášení do systému.
Škodlivá aktivita v Linuxu a macOS nebyla navržena tak, aby si uchovávala přítomnost po restartu, a byla určena k rychlému shromáždění důvěrných dat, hesel, tokenů a přístupových klíčů. V systému Windows se vytvářel soubor „%PROGRAMDATA%\system.bat“, který stahoval škodlivou komponentu. serveru od útočníků při každém přihlášení do systému.
Zdroj: opennet.ru
