Ein selbstverbreitender Wurm hat 187 Pakete in NPM befallen.

Der Angriff auf die Paketbetreuer im NPM-Repository hat ein neues Level erreicht. Neben der Verwendung von Malware zum Abfangen von Zahlungen und vertraulichen Informationen haben Angreifer damit begonnen, in kompromittierte Pakete einen Wurm einzuschleusen, um die automatische Einspeisung von Malware in Abhängigkeiten zu ermöglichen. Der Einsatz des Wurms wurde nach der Kompromittierung des NPM-Pakets @ctrl/tinycolor dokumentiert, welches wöchentlich 2,2 Millionen Downloads verzeichnet und in 964 Paketen als direkte Abhängigkeit verwendet wird. Infolge der Aktivitäten des Wurms wurde ein Angriff auf 187 Pakete ausgeweitet, für die bösartige Veröffentlichungen erstellt wurden (477 bösartige Versionen).

Im Rahmen eines neuen Angriffs veröffentlichen Angreifer nach dem Erhalt der Zugangsdaten des Paketbetreuers durch Phishing eine Paketversion mit einem Wurm, der beim Installieren des kompromittierten Pakets in den Abhängigkeiten aktiviert wird. Nach der Aktivierung sucht der Wurm im aktuellen Umfeld nach Zugangsdaten, indem er das Tool TruffleHog herunterlädt und ausführt. Bei Entdeckung eines Verbindungs-Tokens zum NPM-Verzeichnis veröffentlicht der Wurm automatisch eine neue bösartige Version und infiziert im Folgenden den Abhängigkeitsbaum. Neben dem NPM-Zugriffstoken speichert der Wurm auch Zugangsschlüssel zu GitHub und Cloud-Diensten wie AWS, Azure und GCP (Google Cloud Platform) sowie andere vertrauliche Daten, die der Scanner TruffleHog erfassen kann.

Bösartige Veröffentlichungen werden für die 20 beliebtesten Pakete erstellt, auf die mit dem gefundenen NPM-Token zugegriffen werden kann. Die Funktionalität zur Veröffentlichung von Versionen wird durch die Funktion NpmModule.updatePackage bereitgestellt, die das Quellarchiv des Pakets herunterlädt, die Versionsnummer ändert und einen postinstall-Hook in die Datei package.json einfügt, den Handler bundle.js einfügt, das Paket neu verpackt und veröffentlicht. Es wird Linux und macOS unterstützt.

Der Wurm trägt den Code-Namen Shai-Hulud (ein riesiger Wurm, der im Roman Dune erwähnt wird). Die im System gefundenen Zugangsdaten werden über die Erstellung von Repositories mit dem Namen Shai-Hulud (z. B. „B611/Shai-Hulud“) auf GitHub veröffentlicht und ebenfalls kodiert in den Logs von GitHub Actions reflektiert. In dem erstellten Repository wird eine Datei data.json abgelegt, in der eine mit base64 kodierte Information über das System, die Umgebungsvariablen und die abgefangenen Zugangsschlüssel zu finden ist. In der auf GitHub basierenden CI erstellt der Wurm einen GitHub Actions-Handler (.github/workflows/shai-hulud-workflow.yml), um Informationen an einen externen Host zu übermitteln. Anscheinend beschränkt sich der Angriff nicht auf die erwähnten 187 Pakete, da auf GitHub weiterhin neue Repositories mit dem Namen Shai-Hulud und der Datei data.json auftauchen.

Ein selbstverbreitender Wurm hat 187 Pakete in NPM befallen.

Darüber hinaus wurden infolge der Wurm-Aktivitäten 25 Pakete des Unternehmens CrowdStrike, das Tools für Schutz vor Angriffen über Abhängigkeiten (Lieferkette) entwickelt. Laut CrowdStrike wurden die kompromittierten Pakete nicht in der Falcon-Plattform verwendet und der Angriff verbreitete sich nicht auf die Kunden. Auch wurde bekannt, dass die letzte Welle von bösartigen Veröffentlichungen in NPM, die ohne Wurm stattfand, das von Google entwickelte Projekt gemini-cli betraf.

Quelle: opennet.ru

Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster