Impala Stealer

Impala Stealer: JFrog nimmt die Nutzlast der ersten NuGet-Angriffskampagne unter die Lupe

Impala Stealer: JFrog nimmt die Nutzlast der ersten NuGet-Angriffskampagne unter die Lupe

Das JFrog Security Research Team hat eine ausführliche Analyse einer Schadsoftware durchgeführt, die als "Impala Stealer" bekannt ist. Diese individuell entwickelte Krypto-Stealer-Malware wurde als Payload für die NuGet-Kampagne mit schädlichen Paketen eingesetzt, die kürzlich von den Security-Forschern aufgedeckt wurde . Die Kampagne hatte das Ziel, .NET-Entwickler mit bösartigen NuGet-Paketen zu täuschen. Das Forscherteam war in der Lage, diese Angriffe auf die Software-Lieferkette aufzudecken und zu melden.

Mittels Typosquatting-Technik verteilten die Angreifer 13 bösartige Pakete, die sich als legitime und beliebte Pakete tarnten. Hierbei machten sie sich die NuGet-Paketstruktur zunutze, die es ermöglicht, PowerShell-Skripte bei der Installation auszuführen. Auf diese Weise wurde ein zweistufiger Angriff durchgeführt. Im ersten Schritt wurde das PowerShell-Skript "init.ps1" aus dem bösartigen Paket bei der Installation automatisch ausgeführt. Dadurch wurde eine ausführbare Windows-Datei heruntergeladen und ausgeführt. Im zweiten Schritt installierte sich die heruntergeladene Datei als dauerhafte Hintertür und zielte mithilfe von Code-Injektion auf die Desktop-Anwendung "Exodus-Wallet" ab, um Zugriff auf die Kryptowährungskonten des Benutzers zu erlangen.

Technische Analyse von Impala Stealer

Die Hauptnutzlast des Impala Stealers ist eine ausführbare Datei und die Fähigkeiten der Nutzlast lassen sich in drei Typen unterteilen:

  • Persistenz
  • Automatische Aktualisierung
  • Krypto-Diebstahl

Format der Nutzlast

Bei der Nutzlast handelt es sich um eine .NET-Anwendung, die mithilfe der .NET Ahead of Time (AoT)-Kompilierung nativ kompiliert wurde. Dabei handelt es sich um einen Prozess, der die .NET-Zwischensprache in eine native Sprache (in unserem Fall x86-64) umwandelt. Diese AoT-Kompilierung wurde wahrscheinlich als Verschleierungsmaßnahme durchgeführt, da nativer Code schwieriger zu entschlüsseln ist als Binärdateien in einer Zwischensprache.

Erreichen von Persistenz durch Code-Injektion

Nach der Erstellung der ausführbaren Datei Updater führt die Nutzlast weitere Aktionen durch, um sich im System zu verankern. Wenn Discord oder Microsoft Visual Studio Code auf dem System installiert sind, injiziert die Nutzlast JavaScript-Code in diese Programme und veranlasst sie, RuntimeBroker.exe (die vom Updater heruntergeladene ausführbare Impala-Hauptdatei) beim Starten auszuführen. Nachdem er sich auf dem System eingerichtet hat, beginnt Impala mit der Ausführung seiner Hauptnutzlast. Die Nutzlast sucht nach einer Installation der Exodus Wallet Desktop Application. Wenn diese gefunden wird, sucht die Malware ein Electron-Archiv, das Ressourcen, Webseiten und JavaScript-Code für die Exodus-App enthält. Die Nutzlast erstellt eine Sicherungskopie der Datei und extrahiert sie dann mit einer eingebetteten ausführbaren Kopie von Rasar.

Nach dem Extrahieren des Archivs versucht die Nutzlast, einen JavaScript-Codeausschnitt von einer Online-Paste-Website herunterzuladen. Es war nicht möglich den injizierten JavaScript-Code aus der Online-Paste zu erhalten, weshalb es nicht bekannt ist, wofür er gedacht war. Der Code, der aus der gelöschten Paste hinzugefügt werden sollte, könnte dazu verwendet worden sein, die Anmeldedaten des Benutzers für Exodus und andere Kryptowährungsplattformen zu stehlen oder sie zur Entschlüsselung wichtiger Dateien der Exodus-Wallet zu verwenden. Nachdem der bösartige Code in die JavaScript-Dateien injiziert wurde, komprimiert die Nutzlast diese zurück in die Datei „app.asar", wodurch Exodus den bösartigen Code startet, wenn es ausgeführt wird.

Fazit

Zusammenfassend lässt sich sagen, dass Angriffe auf die Software-Lieferkette, die in den letzten Jahren enorm zugenommen haben, auch für NuGet-Entwickler ein ernstes Risiko darstellen. Das Forschungsteam von JFrog hatte zum ersten Mal einen ausgeklügelten Angriff aufgedeckt, bei dem mehrere bösartige Pakete verbreitet wurden, die sich auf Typosquatting-Techniken stützten und sich als legitime Pakete ausgaben. Die Analyse zeigt auf, dass die Nutzlast des Angriffs hauptsächlich auf die Exodus Wallet-Anwendung abzielt, indem sie mit bösartigem Code injiziert wird, der die Anmeldedaten des Opfers – in diesem Fall an Kryptowährungsbörsen – stehlen soll.