banner
Nachrichtenzentrum
Sofortige Lieferung

Es wurden legitim aussehende NPM-Pakete gefunden, die den TurkoRat-Infostealer hosten

Oct 11, 2023

Von Lucian Constantin

CSO Senior Writer, CSO |

Trotz der Bemühungen der letzten Jahre, öffentliche Software-Repositories proaktiv auf bösartigen Code zu überwachen, tauchen an solchen Orten weiterhin regelmäßig Pakete auf, die Malware bündeln. Forscher haben kürzlich zwei legitim aussehende Pakete identifiziert, die über zwei Monate lang unentdeckt blieben, und einen Open-Source-Trojaner zum Diebstahl von Informationen namens TurkoRat eingesetzt.

Angreifer versuchen, Benutzer auf verschiedene Arten zum Herunterladen bösartiger Pakete zu verleiten. Typosquatting ist dabei eine der beliebtesten Methoden, da es keinen großen Aufwand erfordert. Bei dieser Technik wird ein legitimes Paket kopiert, bösartiger Code hinzugefügt und unter einem anderen Namen veröffentlicht, der eine Variation des Originals darstellt, in der Hoffnung, dass Benutzer es finden, wenn sie nach dem echten Paket suchen.

Dies war bei einem Paket namens „nodejs-encrypt-agent“ der Fall, das kürzlich die Aufmerksamkeit von Forschern des Software-Lieferkettensicherheitsunternehmens ReversingLabs auf sich zog, weil es eine Kombination aus verdächtigen Merkmalen und Verhaltensweisen aufwies. Erstens unterschied sich der Name des Pakets in der npm-Registrierung von dem in der Datei readme.md angegebenen Namen: agent-base. Zweitens war die erste in die Registrierung hochgeladene Version des Pakets 6.0.2, was ungewöhnlich ist, da neue Pakete normalerweise mit einer niedrigeren Version wie 1.0 oder sogar niedriger beginnen.

Als die Forscher nach Agentenbasis suchten, ergab alles einen Sinn. Dies ist ein legitimes Paket, dessen beliebteste Version in der Registrierung 6.0.2 mit über 20 Millionen Downloads ist. Ein Codevergleich ergab, dass „nodejs-encrypt-agent“ lediglich eine Kopie der Codebasis von „agent-base“ mit einigen Änderungen war. Tatsächlich enthielt das betrügerische Paket sogar einen Link zur GitHub-Seite von agent-base, möglicherweise um legitimer zu wirken.

„Im Zuge der Analyse von Millionen verdächtiger Pakete hat das ReversingLabs-Team eine Reihe von Verhaltenskombinationen identifiziert, die in ihrer Gesamtheit stark auf böswillige Aktivitäten hinweisen“, heißt es in einem Bericht der Forscher. „Zum Beispiel erweisen sich Open-Source-Pakete, die fest codierte IP-Adressen in ihrem Code enthalten und gleichzeitig Befehle ausführen und Daten in Dateien schreiben, unserer Erfahrung nach meist als bösartig. Es stimmt: Keine dieser Funktionen, einzeln betrachtet.“ sind bösartig. In Kombination unterstützen sie jedoch normalerweise bösartige Funktionen.“

Die von den Angreifern am Agent-Basiscode vorgenommene Änderung bestand darin, eine mit den neuen Paketen gelieferte portable ausführbare Datei (PE) unmittelbar nach dem Herunterladen und Installieren des Pakets auf einem System auszuführen. Eine automatisierte Analyse dieser Datei ergab die Möglichkeit, Dateien aus Windows-Systemverzeichnissen zu schreiben und zu löschen, Systembefehle auszuführen und die DNS-Einstellungen (Domain Name System) des Systems zu ändern – alles verdächtig.

Eine manuelle Analyse ergab außerdem, dass die Malware darauf ausgelegt war, Anmeldedaten und Krypto-Wallets von infizierten Systemen zu stehlen. Es enthielt außerdem Anti-Sandbox- und Debugging-Funktionen, um die Analyse zu erschweren. Es dauerte nicht lange, bis Forscher erkannten, dass es sich um eine Kopie von TurkoRat handelte, einem in JavaScript geschriebenen Open-Source-Infostealer, der für die Arbeit mit dem Node.js-Framework entwickelt wurde.

„Wie sich herausstellte, verwendet diese spezielle Version der TurkoRat-Malware das npm-Paket pkg, um alle erforderlichen Dateien in einer einzigen ausführbaren Paketdatei zu bündeln“, sagten die Forscher. „Alle Dateien befinden sich in einem virtuellen Dateisystem oder Snapshot, auf das die gepackte Anwendung während der Laufzeit Zugriff hat.“

Laut dem TurkoRat-Projekt auf Discord ist die Malware in der Lage, Authentifizierungs- und Sitzungstoken für Discord und Telegram zu stehlen; Passwörter, Cookies, automatisches Ausfüllen und Verlauf von allen gängigen Browsern; und eine große Anzahl von Krypto-Wallets. Es ist auch in der Lage, Screenshots zu machen. Alle gesammelten Informationen können an eine vom Angreifer konfigurierte Webhook-URL zurückgesendet werden.

Nachdem sie „nodejs-encrypt-agent“ gefunden hatten, machten sich die Forscher auf die Suche nach ähnlichen Paketen und fanden bald ein anderes namens „nodejs-cookie-proxy-agent“, das „nodejs-encrypt-agent“ als Abhängigkeit auflistete. Dieses zweite Paket war eine betrügerische Kopie eines legitimen Pakets namens node-cookie-proxy-agent.

Diesmal ist die Namensähnlichkeit zwischen den betrügerischen und legitimen Paketen viel höher – „node“ vs. „nodejs“ als Suffix – was es zu einem viel effektiveren Typosquatting-Versuch macht. Tatsächlich deutet es darauf hin, dass dieses Paket wahrscheinlich als erstes Glied in der Angriffskette gedacht war, da es keinen Schadcode direkt bündelt. Stattdessen wird „nodejs-encrypt-agent“ als Abhängigkeit eingebunden, die dann TurkoRat bereitstellt.

Tatsächlich haben frühere Versionen des Pakets nodejs-cookie-proxy-agent eine andere Abhängigkeit namens axios-proxy eingebunden, die in der Vergangenheit als bösartiges Paket gekennzeichnet und von den npm-Betreuern entfernt wurde. Es scheint, dass der nodejs-cookie-proxy-agent damals übersehen wurde und die Angreifer einfach die Abhängigkeiten auf ein neues Schadpaket umgestellt haben, das sie erstellt und hochgeladen haben.

„Der NodeJS-Encrypt-Agent wurde während seiner zweimonatigen Verfügbarkeit etwa 500 Mal heruntergeladen“, sagten die ReversingLabs-Forscher. „Der nodejs-cookie-proxy-agent wurde weniger als 700 Mal heruntergeladen. Dennoch waren die Schadpakete mit ziemlicher Sicherheit dafür verantwortlich, dass das bösartige TurkoRat auf einer unbekannten Anzahl von Entwicklercomputern ausgeführt wurde. Die längerfristigen Auswirkungen dieser Kompromittierung sind schwer abzuschätzen.“ messen."

Angriffe durch schädliche Softwarekomponenten können weitreichende Auswirkungen haben, da die Hauptkonsumenten solcher Pakete Entwickler sind. Ein kompromittierter Entwicklercomputer kann Angreifern Zugriff auf die Softwareentwicklungsumgebung und Infrastruktur der Organisation verschaffen, für die der Entwickler arbeitet. Dies wiederum kann später zu einem weiteren Angriff auf die Software-Lieferkette führen. Die Sicherheitsbranche hat bereits Fälle kaskadierender Angriffe auf die Software-Lieferkette dokumentiert.

Lucian Constantin ist leitender Autor bei CSO und befasst sich mit Informationssicherheit, Privatsphäre und Datenschutz.

Copyright © 2023 IDG Communications, Inc.

Malware versteckt sich in Abhängigkeitsketten. Lesen Sie als Nächstes dies