Ein bösartiger npm-Paket namens „oscompatible“, der am 9. Januar 2024 veröffentlicht wurde, wurde entdeckt, da es einen ausgeklügelten Fernzugriff-Trojaner auf kompromittierten Windows-Maschinen einsetzt. Bevor es entfernt wurde, zog das Paket insgesamt 380 Downloads an.
Das Paket enthielt mehrere ungewöhnliche Binärdateien, darunter eine ausführbare Datei, eine dynamische Link-Bibliothek (DLL) und eine verschlüsselte DAT-Datei, zusammen mit einer JavaScript-Datei. Diese JavaScript-Datei („index.js“) führt ein „autorun.bat“-Batch-Skript aus, jedoch erst nachdem überprüft wurde, ob das Zielgerät unter Microsoft Windows läuft. Ist das nicht der Fall, wird dem Benutzer eine Fehlermeldung angezeigt.
Das Batch-Skript überprüft, ob es über Admin-Rechte verfügt. Wenn nicht, führt es eine legitime Microsoft Edge-Komponente namens „cookie_exporter.exe“ über einen PowerShell-Befehl aus. Durch die Ausführung des Binärs wird eine Benutzerkontensteuerungs-Aufforderung (UAC) ausgelöst, die das Ziel dazu auffordert, es mit Administratorrechten auszuführen.
Anschließend setzt der Angreifer den Angriff fort, indem er die DLL („msedge.dll“) ausführt und dabei eine Technik namens DLL-Suchreihenfolge-Hijacking nutzt. Die trojanisierte Version der Bibliothek ist darauf ausgelegt, die DAT-Datei („msedge.dat“) zu entschlüsseln und eine weitere DLL („msedgedat.dll“) zu starten, die Verbindungen zu einer vom Angreifer kontrollierten Domain namens „kdark1[.]com“ herstellt, um ein ZIP-Archiv abzurufen.
Das ZIP-Archiv enthält die AnyDesk-Remote-Desktop-Software sowie einen Remote-Access-Trojaner („verify.dll“), der Anweisungen von einem Command-and-Control-Server (C2) über WebSockets abrufen und sensible Informationen vom Host sammeln kann. Es installiert auch Chrome-Erweiterungen, konfiguriert AnyDesk, verbirgt den Bildschirm, deaktiviert das Herunterfahren von Windows und erfasst Tastatur- und Mausereignisse.
Obwohl „oscompatible“ das einzige npm-Modul zu sein scheint, das in dieser Kampagne verwendet wird, zeigt die Entwicklung erneut, dass Bedrohungsakteure zunehmend Open-Source-Software (OSS)-Ökosysteme für Angriffe auf die Lieferkette ins Visier nehmen.
Die Offenlegung erfolgt, nachdem das Cloud-Sicherheitsunternehmen Aqua enthüllte, dass 21,2% der 50.000 am häufigsten heruntergeladenen npm-Pakete veraltet sind und Benutzer Sicherheitsrisiken aussetzen. Dies schließt archivierte und gelöschte GitHub-Repositorys ein, die mit den Paketen in Verbindung stehen, sowie solche, die ohne sichtbares Repository, Commit-Verlauf und Issue-Tracking gepflegt werden.
Diese Situation wird kritisch, wenn die Betreuer anstatt Sicherheitslücken mit Patches oder CVE-Zuweisungen zu beheben, betroffene Pakete als veraltet kennzeichnen. Besonders besorgniserregend ist, dass diese Betreuer manchmal das Paket nicht offiziell als veraltet auf npm markieren, was eine Sicherheitslücke für Benutzer hinterlässt, die sich möglicherweise nicht über potenzielle Bedrohungen im Klaren sind.