Angreifer konnten das Konto des Hauptverwalters übernehmen und zwei bösartige Versionen des NPM-Pakets axios, einem HTTP-Client für Browser und Node.js, herausgeben. Das axios-Paket verzeichnet über 100 Millionen Downloads pro Woche und wird als Abhängigkeit von 174.000 anderen Paketen verwendet. Die bösartigen Änderungen wurden in die Versionen Axios 1.14.1 und 0.30.4 integriert, indem eine gefälschte Abhängigkeit namens plain-crypto-js 4.2.1 eingesetzt wurde, die Code zum Herunterladen von Komponenten enthielt, die Befehle von einem Server der Angreifer entgegennahmen. Die bösartigen Versionen waren am 31. März fast 3 Stunden lang zum Download verfügbar — von 03:21 bis 06:15 (MSK).
Die bösartigen Versionen wurden direkt im NPM unter Verwendung der Zugangsdaten des Hauptverwalters des axios-Projekts („jasonsaayman“) veröffentlicht, wodurch der reguläre Veröffentlichungsmechanismus über GitHub Actions umgangen wurde. Es wird vermutet, dass die Angreifer das NPM-Token des Verwalters übernommen haben, woraufhin sie sich in das Konto einloggten und die E-Mail-Zuordnung änderten. Wie genau das Zugangstoken übernommen wurde, bleibt unklar.
Der gestartete Schadcode war im Paket plain-crypto-js in der Datei setup.js enthalten, aktivierte sich nach der Installation des NPM-Pakets über den postinstall-Handler (‘postinstall: «node setup.js»‘) und wurde verwendet, um ein Trojanisches Pferd herunterzuladen und zu installieren, das Systeme mit Windows, macOS und Linux angreift. Um seine Präsenz nach dem Start zu verbergen, löschte die bösartige Komponente die Datei setup.js und ersetzte package.json durch eine Version ohne postinstall-Hook. 
Unter macOS wurde die bösartige ausführbare Datei als «/Library/Caches/com.apple.act.mond» heruntergeladen, unter Windows — als «%PROGRAMDATA%\wt.exe», unter Linux — als «/tmp/ld.py». Nach der Aktivierung in Linux und macOS wurde alle 60 Sekunden eine Anfrage an die Angreifer gesendet, um Kommandos auf dem infizierten System auszuführen, die zum Herunterladen zusätzlicher bösartiger Komponenten, zur Ausführung beliebiger Shell-Kommandos und zum Suchen/Versenden bestimmter Dateien verwendet werden konnten. der Server Die bösartige Aktivität unter Linux und macOS sah keine Persistenz nach einem Neustart vor und war darauf ausgelegt, schnell sensible Daten, Passwörter, Tokens und Zugangsschlüssel zu sammeln. Unter Windows wurde eine Datei «%PROGRAMDATA%\system.bat» erstellt, die die bösartige Komponente extrahierte.
Schadhafte Aktivität in Linux und macOS sah keine Speicherung der Präsenz nach einem Neustart vor und war darauf ausgelegt, schnell vertrauliche Daten, Passwörter, Tokens und Zugangsschlüssel zu sammeln. Unter Windows wurde die Datei „%PROGRAMDATA%\system.bat“ erstellt, die die schadhafte Komponente extrahierte. сервера Angreifer bei jeder Anmeldung.
Quelle: opennet.ru
