Ein neuer Wurm befällt massenhaft NPM-Pakete und greift Zugangsdaten ab. Der Code des Schädlings enthält den Bezeichner "SHA1HULUD", Sicherheitsanalysten bezeichnen ihn daher als "Shai-Hulud 2.0". Unklar ist jedoch, ob tatsächlich dieselben Angreifer beide Versionen auf das npm-Ökosystem ansetzten oder es sich um Trittbrettfahrer handelt. So oder so: Die Schadsoftware-Entwickler haben aus der ersten Angriffswelle gelernt und Flaschenhälse beseitigt. Die Aufräumarbeiten laufen, Entwickler und Nutzer sollten auf der Hut sein.
Über 425 npm-Pakete mit über 100 Millionen monatlichen Downloads sind am Montagnachmittag infiziert, darunter prominente Namen: Pakete zum Thema ENS-Domains (Ethereum Name Service), verschiedene API-, Low- und No-Code-Plattformen wie Zapier und Postman. Zuerst betroffen waren offenbar die Pakete "go-template" und verschiedene Repositories unterhalb "AsyncAPI", sie wurden zwischen dem 21. und 23. November hochgeladen, also an einem Wochenende.
Die Schadsoftware durchsucht die übernommenen Repositories nach Zugangsdaten und publiziert diese unter dem Konto des Opfers auf Github. Deren Bezeichnung lautet "Sha1-Hulud: the Second Coming", was die Auffindbarkeit erleichtert. So umgehen die Entwickler einen zentralen Flaschenhals des letzten Wurm-Ausbruchs: Damals kam eine Webhook-Plattform zum Einsatz, die den missbräuchlich genutzten Endpunkt kurzerhand sperrte. Github ist unterdessen eifrig dabei, betroffene Repositories zu entfernen, kämpft aber offenbar gegen Windmühlen: Die Angriffskampagne läuft weiter und es werden stetig neue Codeverzeichnisse erstellt: Gegen 14:30 am Montagnachmittag waren es über 27.800.
Die Struktur der von Sha1-Hulud angelegten Repositories ist immer gleich - in den json-Dateien finden sich geheime Zugangsdaten des infizierten Nutzers.
Mehrere Github-Workflows sorgen für das Abgreifen von Zugangsdaten und die Installation einer Backdoor auf infizierten Maschinen. Diese kann durch die Diskussions-Funktion in den infizierten Repositories gesteuert werden – sozusagen ein selbst-gehosteter Command&Control-Server (C&C). Ein zweiter Workflow mit dem irreführenden Namen "Code Formatter" sucht nach Secrets des angegriffenen Github-Kontos und lädt diese im JSON-Format hoch. Offenbar unterstützt Sha1-Hulud Linux, Windows und macOS mit angepasstem Schadcode.
Der Angriff kommt nur wenige Tage vor einer weitreichenden Sicherheitsänderung bei npm: Die Betreiber des Ökosystems hatten angekündigt, "classic tokens" zur Authentifizierung von Paketverwaltern abzuschaffen. Die Änderung tritt am 9. Dezember in Kraft – zuvor wollten die Entwickler von Sha1-Hulud wohl noch einmal zuschlagen.
Die volle Liste der betroffenen Pakete, wie sie Wiz, Koi und Aikido übereinstimmend am frühen Montagnachmittag berichten, finden Sie hier:
Die Spezialisten von Wiz sind bei der Zuordnung des Wurms zu einer Angreifergruppe oder -nation vorsichtig: Noch könne man eine Attribution nicht bestätigen. Viele Methoden des aktuellen Ausbruchs seien ähnlich zum vorigen Shai-Hulud-Wurm, doch es gebe auch Unterschiede.
Um Infektionen zu erkennen und zu stoppen, sollten Organisationen zunächst ihre gesamte Entwicklungs-Infrastruktur auf verdächtige Anzeichen überprüfen – besonders auf bekannte infizierte Pakete. Die gehören umgehend entsorgt, automatische Paketupdates zunächst deaktiviert und bei Verdacht einer Infektion sollten Admins alle Zugangsdaten rotieren. Das gilt für Entwicklungsplattformen wie Github und npm, aber auch Zugänge zu Hyperscalern wie GCP, AWS und Azure.
(
Sie haben heise+ bereits abonniert? Hier anmelden.
Oder benötigen Sie mehr Informationen zum heise+ Abo

Kommentare