Banner E-Learning IT-Sicherheit
Free

Nordkoreanische npm-Malware tarnt Command and Control in Pastebin-Texten : 26 manipulierte Entwicklerpakete schleusen plattformübergreifende Spionagewerkzeuge ein

Immer wieder finden Hacker neue Methoden, um wichtige Software-Lieferketten zu kompromittieren. Jüngstes Beispiel ist eine neue Angriffswelle nordkoreanischer Hacker: 26 manipulierte Pakete im npm-Repository verstecken ihre Steuerungsserver in scheinbar harmlosen Texten auf Pastebin. Dahinter steckt eine komplexe Malware-Kette, die gezielt Entwicklerrechner kompromittiert.

Cybersecurity-Experten haben eine neue Variante der Angriffskampagne „Contagious Interview“ aufgedeckt. Hinter dieser bereits seit einiger Zeit laufenden Operation stehen mutmaßlich nordkoreanische Hackergruppen. In der aktuellen Welle platzierten sie 26 manipulierte Pakete im npm-Repository für JavaScript-Bibliotheken.

Untersucht wurde die Aktivität von Sicherheitsforschern des Unternehmens Socket sowie vom Analysten Kieran Miyamoto. Die Experten bezeichnen diese spezielle technische Umsetzung innerhalb der bekannten Kampagne als „StegaBin“.

Die veröffentlichten Pakete geben sich als nützliche Tools für Entwickler aus. Wer sie installiert, lädt jedoch unbemerkt Schadcode nach. Dieser kann Zugangsdaten stehlen und zusätzlich einen Remote-Zugriffstrojaner installieren, über den die Angreifer später die Kontrolle über den betroffenen Rechner übernehmen können.

Tarnung über Pastebin und Steganografie

Der eigentliche Steuerungsserver der Malware ist nicht direkt im Code hinterlegt. Stattdessen nutzen die Angreifer eine ungewöhnliche Methode: Steganografie in Texten auf Pastebin. „Der Loader extrahiert Command-and-Control-Adressen, die steganografisch in drei Pastebin-Texten verborgen sind“, so die Security-Analysten.

Diese Texte wirken wie harmlose Essays über Informatik. Tatsächlich wurden einzelne Zeichen an exakt berechneten Positionen ersetzt. Zusammengesetzt ergeben sie die Infrastruktur der Angreifer.

Der technische Ablauf:

  • Der Decoder entfernt unsichtbare Unicode-Zeichen
  • Er liest eine fünfstellige Längenmarkierung am Anfang des Textes
  • Anschließend berechnet er gleichmäßige Zeichenpositionen
  • Die Zeichen an diesen Positionen werden extrahiert und zu Domains zusammengesetzt

Die extrahierten Strings werden durch spezielle Marker getrennt und ergeben eine Liste von Command-and-Control-Servern.

Infrastruktur über Cloud-Plattform verteilt

Die entschlüsselten Adressen führen zu Servern, die auf der Cloud-Plattform Vercel betrieben werden. Insgesamt verteilten die Angreifer ihre Infrastruktur auf 31 einzelne Deployments. Von dort lädt die Schadsoftware je nach Betriebssystem weitere Komponenten nach – für Windows, macOS oder Linux.

Bei der Analyse stellten die Forscher fest, dass einer dieser Server zunächst ein Shell-Skript ausliefert. Dieses Skript installiert anschließend einen vollständigen Remote-Zugriffstrojaner auf dem betroffenen System.

Danach baut die Malware eine Verbindung zum Server 103.106.67.63 über Port 1244 auf. Über diese Verbindung können die Angreifer Befehle senden und das kompromittierte System aus der Ferne steuern.

Angriff gezielt auf Entwicklerumgebungen

Die Malware ist klar auf Softwareentwickler zugeschnitten. Sie enthält insgesamt neun Module zur Datensammlung und Persistenz.

  • vs – Persistenz über eine manipulierte tasks.json in Microsoft Visual Studio Code
  • clip – Keylogger, Mausüberwachung und Diebstahl der Zwischenablage
  • bro – Python-Skript zum Diebstahl von Browser-Zugangsdaten
  • j – Diebstahl von Browser- und Kryptowährungsdaten
  • z – Durchsucht das Dateisystem nach interessanten Dateien
  • n – Remote-Zugriffstrojaner mit WebSocket-Kommunikation
  • truffle – Missbraucht das Tool TruffleHog, um Entwicklergeheimnisse zu finden
  • git – Exfiltration von SSH-Schlüsseln und Repository-Daten
  • sched – Persistenzmechanismus der Malware

Besonders perfide ist die Integration in Entwicklerwerkzeuge. Das Modul vs sorgt dafür, dass bei jedem Öffnen eines Projektes automatisch ein Kontakt zu einem Server der Angreifer hergestellt wird.

Typosquatting als Eintrittspunkt

Alle 26 Pakete funktionieren nach demselben Prinzip. Sie geben sich als bekannte oder vertrauenswürdige Bibliotheken aus. Wird eines dieser Pakete installiert, startet automatisch ein Installationsskript, das den eigentlichen Schadcode ausführt.

Zusätzlich nutzen die Angreifer einen Täuschungstrick: Die manipulierten Pakete binden das Originalpaket als Abhängigkeit ein. Dadurch funktioniert ein Teil der erwarteten Software tatsächlich, was den Eindruck erweckt, es handle sich um ein legitimes Paket. Gleichzeitig wird im Hintergrund jedoch die Malware installiert.

Die vollständige Liste der entdeckten Pakete:

  • argonist@0.41.0
  • bcryptance@6.5.2
  • bee-quarl@2.1.2
  • bubble-core@6.26.2
  • corstoken@2.14.7
  • daytonjs@1.11.20
  • ether-lint@5.9.4
  • expressjs-lint@5.3.2
  • fastify-lint@5.8.0
  • formmiderable@3.5.7
  • hapi-lint@19.1.2
  • iosysredis@5.13.2
  • jslint-config@10.22.2
  • jsnwebapptoken@8.40.2
  • kafkajs-lint@2.21.3
  • loadash-lint@4.17.24
  • mqttoken@5.40.2
  • prism-lint@7.4.2
  • promanage@6.0.21
  • sequelization@6.40.2
  • typoriem@0.4.17
  • undicy-lint@7.23.1
  • uuindex@13.1.0
  • vitetest-lint@4.1.21
  • windowston@3.19.2
  • zoddle@4.4.2

Wichtige Komponenten des Angriffs:

  • Installationsskript install.js startet automatisch Schadcode
  • Nachladen der Malware aus vendor/scrypt-js/version.js
  • Abruf der Steuerungsserver über Pastebin-Steganografie

Kampagne wird technisch immer raffinierter

Nach Einschätzung der Forscher zeigt diese neue Variante deutlich, wie sich die Kampagne weiterentwickelt hat. In früheren Angriffswellen setzten die Täter noch auf vergleichsweise einfache Schadskripte. Die aktuelle Version ist wesentlich ausgefeilter und soll gezielt sowohl automatische Sicherheitsprüfungen als auch manuelle Code-Reviews umgehen.

Dazu kombinieren die Angreifer mehrere Techniken: versteckte Steuerungsserver in scheinbar harmlosen Texten, eine verteilte Infrastruktur in der Cloud und einen mehrstufigen Nachladeprozess für die eigentliche Malware. Dadurch wird die Operation widerstandsfähiger, weil einzelne Komponenten schwerer zu entdecken und abzuschalten sind.

Gleichzeitig testen die Angreifer offenbar neue Wege, ihre Schadsoftware zu verbreiten. Dazu gehören manipulierte npm-Pakete, die weitere Malware aus Cloud-Diensten nachladen.

Für Entwickler und Unternehmen unterstreicht der Vorfall ein bekanntes Risiko: Die Software-Lieferkette bleibt ein besonders attraktives Angriffsziel für staatlich unterstützte Hackergruppen. Schon ein scheinbar harmloses Entwicklerpaket kann ausreichen, um Schadcode in Unternehmensumgebungen einzuschleusen.

Die Veröffentlichung passt zu weiteren Beobachtungen rund um dieselben Angreifer. So haben nordkoreanische Hacker zuletzt auch manipulierte npm-Pakete verbreitet, zum Beispiel express-core-validator. Diese Pakete laden nach der Installation zusätzlichen Schadcode nach – in diesem Fall eine JavaScript-Datei, die auf Google Drive gespeichert ist.

Der Sicherheitsforscher Kieran Miyamoto ordnet das jedoch noch nicht als grundlegenden Strategiewechsel ein: „Bisher wurde nur ein einziges Paket mit dieser neuen Technik entdeckt. Wahrscheinlich wird FAMOUS CHOLLIMA weiterhin mehrere unterschiedliche Methoden und Infrastrukturen einsetzen, um weitere Schadsoftware nachzuladen. Es sieht derzeit nicht so aus, als würden sie ihr Vorgehen bei npm komplett umstellen.“