Report herunterladen: Wie CIOs und CEOs im KI-Zeitalter in Einklang kommen

Schließen
Schließen
Ihr Netzwerk von morgen
Ihr Netzwerk von morgen
Planen Sie Ihren Weg zu einem schnelleren, sichereren und widerstandsfähigeren Netzwerk, das auf die von Ihnen unterstützten Anwendungen und Benutzer zugeschnitten ist.
Erleben Sie Netskope
Machen Sie sich mit der Netskope-Plattform vertraut
Hier haben Sie die Chance, die Single-Cloud-Plattform Netskope One aus erster Hand zu erleben. Melden Sie sich für praktische Übungen zum Selbststudium an, nehmen Sie an monatlichen Live-Produktdemos teil, testen Sie Netskope Private Access kostenlos oder nehmen Sie an Live-Workshops teil, die von einem Kursleiter geleitet werden.
Ein führendes Unternehmen im Bereich SSE. Jetzt ein führender Anbieter von SASE.
Netskope wird als Leader mit der weitreichendsten Vision sowohl im Bereich SSE als auch bei SASE Plattformen anerkannt
2X als Leader im Gartner® Magic Quadrant für SASE-Plattformen ausgezeichnet
Eine einheitliche Plattform, die für Ihre Reise entwickelt wurde
Generative KI für Dummies sichern
Generative KI für Dummies sichern
Erfahren Sie, wie Ihr Unternehmen das innovative Potenzial generativer KI mit robusten Datensicherheitspraktiken in Einklang bringen kann.
Moderne Data Loss Prevention (DLP) für Dummies – E-Book
Moderne Data Loss Prevention (DLP) für Dummies
Hier finden Sie Tipps und Tricks für den Übergang zu einem cloudbasierten DLP.
Modernes SD-WAN für SASE Dummies-Buch
Modernes SD-WAN für SASE-Dummies
Hören Sie auf, mit Ihrer Netzwerkarchitektur Schritt zu halten
Verstehen, wo die Risiken liegen
Advanced Analytics verändert die Art und Weise, wie Sicherheitsteams datengestützte Erkenntnisse anwenden, um bessere Richtlinien zu implementieren. Mit Advanced Analytics können Sie Trends erkennen, sich auf Problembereiche konzentrieren und die Daten nutzen, um Maßnahmen zu ergreifen.
Technischer Support von Netskope
Technischer Support von Netskope
Überall auf der Welt sorgen unsere qualifizierten Support-Ingenieure mit verschiedensten Erfahrungen in den Bereichen Cloud-Sicherheit, Netzwerke, Virtualisierung, Content Delivery und Software-Entwicklung für zeitnahen und qualitativ hochwertigen technischen Support.
Netskope-Video
Netskope-Schulung
Netskope-Schulungen helfen Ihnen, ein Experte für Cloud-Sicherheit zu werden. Wir sind hier, um Ihnen zu helfen, Ihre digitale Transformation abzusichern und das Beste aus Ihrer Cloud, dem Web und Ihren privaten Anwendungen zu machen.

Netskope Threat Labs entdeckt neue Stealth-Techniken von XWorm

30. September 2024

Zusammenfassung

XWorm ist ein relativ neues, vielseitiges Tool, das im Jahr 2022 entdeckt wurde. Es ermöglicht Angreifern, eine Vielzahl von Funktionen auszuführen, darunter den Zugriff auf vertrauliche Informationen, den Fernzugriff und die Bereitstellung zusätzlicher Malware. Die Vielschichtigkeit von XWorm ist für Bedrohungsakteure attraktiv, wie die angebliche Nutzung durch Bedrohungsakteure wie NullBulge und TA558 Anfang des Jahres zeigt.

Im Rahmen der Jagdbemühungen der Netskope Threat Labs haben wir die neueste Version von XWorm in freier Wildbahn entdeckt. In diesem Blogbeitrag werden wir die folgenden Punkte aufschlüsseln:

  • Die Infektionskette, die zur Ausführung von XWorm führt.
  • Umgehungsausführung des DLL-Loaders von XWorm durch reflektierendes Laden von Code. 
  • Die Injektion von XWorm in einen legitimen Prozess.
  • Die neuen Funktionen von XWorm, zu denen das Entfernen von Plugins und ein Netzwerkbefehl gehören, der die Antwortzeit von XWorm meldet, zusammen mit anderen bemerkenswerten Befehlen.
  • Benachrichtigung des Angreifers nach einer Infektion über Telegram.

Ablauf der XWorm-Ausführung

Im Folgenden finden Sie eine Zusammenfassung des Ausführungsablaufs von XWorm:

Ablauf der XWorm-Ausführung
  1. Die Infektionskette beginnt mit dem Herunterladen und Ausführen eines PowerShell-Skripts durch das WSF, das auf paste.ee gehostet wird
  2. Das PowerShell-Skript führt die folgenden Aktionen aus:
    A. Erstellt drei Skripte, nämlich VsLabs.vbs, VsEnhance.bat, und VsLabsData.ps1.
    B. Erstellt eine geplante Aufgabe.
    C. Sendet eine Telegram-Benachrichtigung an den Angreifer.
  3. Die geplante Aufgabe führt das VBScript mit dem Namen VsLabs.vbs aus.
  4. VBScript führt eine Batchdatei mit dem Namen VsEnhance.bat aus.
  5. Die Batchdatei führt ein PowerShell-Skript mit dem Namen VsLabsData.ps1 aus.
  6. Das PowerShell-Skript lädt eine schädliche DLL durch das Laden von reflektierendem Code.
  7. Die bösartige DLL injiziert XWorm in einen legitimen Prozess und führt ihn aus.

XWorm-Dropper, der über die Windows-Skriptdatei (WSF) bereitgestellt wird

Die Infektionskette beginnt mit einer Windows-Skriptdatei (WSF), die wahrscheinlich durch Phishing übermittelt wird. Die WSF-Datei beginnt mit mehreren Absätzen über die Sozialversicherungsverwaltung durch eine Reihe von kommentierten Zeilen. Es endet jedoch mit einem VBScript, das ein PowerShell-Skript mithilfe von Wscript.Shell herunterlädt und ausführt. Um eine statische Erkennung zu vermeiden, ist der Befehl zum Herunterladen des PowerShell-Skripts hexadezimalcodiert und erfordert eine Zeichenfolgenverkettung.

VBScript in der WSF-Datei gefunden
Verwenden von Cyberchef zum Dekodieren von VBScript

Analyse von PowerShell-Skripten

VBScript lädt ein PowerShell-Skript herunter, das auf Paste.ee, einer legitimen Pastebin-Website, gespeichert ist. Die Verwendung legitimer Websites zum Speichern von bösartigem Code hilft Angreifern, unter dem Radar des Verteidigers zu fliegen. Um eine Erkennung über die Leitung zu vermeiden, führt das PowerShell-Skript die Verschleierung mehrerer Zeichenfolgen durch, einschließlich Escapezeichen und Zeichenfolgenverkettung. Das PowerShell-Skript erstellt einen Ordner mit dem Namen "Visuals" im Pfad: "C:\ProgramData\Music\Visuals". Anschließend werden PowerShell, Batch und VBScripts (VsLabsData.ps1, VsEnhance.bat, und VsLabs.vbs) und speichert es in dem erstellten Ordner.

Das VBScript mit dem Namen VsLabs.vbs startet die Ausführungskette, indem es eine Batchdatei mit dem Namen VsEnhance.bat mithilfe von WScript.Shell ausführt. Und der VsEnhance.bat führt das PowerShell-Skript mit dem Namen VsLabsData.ps1 aus.

VsLabs.vbs
VsEnhance.bat

VsLabsData.ps1

VsLabsData.ps1 führt die folgenden Aktionen aus:

  1. Definieren Sie zwei Nutzlasten als Hexadezimalzeichenfolgen mit der Variablen $cake für XWorm (XClient3.exe) und $oven für den DLL-Loader (NewPE2).
  2. Erstellen Sie eine geplante Aufgabe mit dem Namen "MicroSoftVisualsUpdater". 
  3. Senden Sie eine Benachrichtigung per Telegramm an den Angreifer.
  4. Führen Sie das DLL-Ladeprogramm aus, das XWorm in einen legitimen Prozess einfügt.

Schauen wir uns genauer an, wie das PowerShell-Skript diese Schritte ausführt.

Persistenz

Die Persistenz von XWorm wird durch eine geplante Aufgabe mit dem Namen MicrosoftVisualUpdater erreicht. Diese Aufgabe wird eine Minute nach ihrer Erstellung ausgelöst und wird dann weiterhin alle 15 Minuten ausgelöst. Es ist so eingestellt, dass es das VBscript-VsEnhance.bat ausführt.

Geplante Aufgabe als Persistenz von XWorm

Telegramm-Benachrichtigung

Sobald das PowerShell-Skript VsLabsData.ps1 seine Routine abgeschlossen hat, sendet es eine Telegram-Nachricht an den Angreifer. Die Nachricht enthält die öffentliche IP-Adresse des Opfers mit einer Zuschreibung an "XYZCRYPTER" als Angreifer.

Routine zum Senden einer Telegrammnachricht

NewPE2 wird durch das Laden von Code ausgeführt und injiziert XWorm in einen legitimen Prozess

Im Gegensatz zu zuvor gemeldeten XWorm-Instanzen, bei denen die Nutzlast heruntergeladen wurde, speichert die analysierte Datei die tatsächlichen Nutzlasten innerhalb des PowerShell-Skripts mithilfe der Variablen $cake und $oven. Um eine statische Erkennung zu vermeiden, werden XWorm und NewPE2 als Hexadezimalzeichenfolgen definiert und durch einen Unterstrich getrennt. Sobald Unterstriche ersetzt wurden, wird der Loader mit reflektierendem Code-Laden ausgeführt.

XWorm als Variable $cake auf VsLabsData.ps1
NewPE2-Loader als Variable $oven auf VsLabsData.ps1

Das Laden von reflektierendem Code beginnt mit dem Laden der Bytes im Arbeitsspeicher mithilfe der Load-Methode der Assembly-Klasse. Anschließend werden das Type-Objekt für die 'PE'-Klasse und die 'Execute'-Methode im 'NewPE'-Namespace aus der geladenen Assembly abgerufen.

Die "Execute"-Methode aus dem Loader wird verwendet, um XWorm in einen legitimen Prozess einzufügen (C:\Windows\Microsoft.Net\Framework\v4.0.30319\RegSvcs.exe). Wir können dieses Verhalten bei der Detonation beobachten. Wenn RegSvcs die "Execute"-Methode des Ladeprogramms durchläuft, können wir sehen, dass das XWorm in den Speicherplatz des legitimen Prozesses injiziert wird.


Sobald die Injektion abgeschlossen ist und XWorm den legitimen Prozess durchläuft, wird der PowerShell-Loader beendet, sodass nur der legitime Prozess mit einer Datei übrig bleibt, die von Microsoft digital signiert wurde.

Ausführungskette von XWorm und seinem Loader
XWorm-Binärdatei auf RegSvcs.exe injiziert

XWorm-Analyse

XWorm ist eine .NET-kompilierte Binärdatei mit dem Namen XClient3.exe. Die Binärdatei wird bereits von DetectItEasy und von mehreren AV-Anbietern in Virustotal erkannt, was möglicherweise der Grund dafür ist, dass sie überhaupt nicht auf die Festplatte geschrieben wurde.

DIE erkennt XWorm

Die Anwendung beginnt mit der Entschlüsselung der XWorm-Konfiguration, einschließlich der C2-Domäne und des Ports, des Befehlstrennzeichens, des AES-Schlüssels und der XWorm-Version. Anhand der enthaltenen Einstellungen können wir bestätigen, dass es sich bei diesem XWorm um Version 5.6 handelt.

Entschlüsseln der XWorm-Konfiguration

Diese Konfigurationen sind im Base64-Format und AES ECB-verschlüsselt. Um diese Einstellungen zu entschlüsseln, wird der MD5-Wert der Zeichenkette "rZ2W67345HrmrYRB" als Schlüssel verwendet. Wir müssen den MD5-Hash an seinen ursprünglichen Wert beim 15. Index anhängen.

Routine zum Entschlüsseln der XWorm-Konfiguration
Verwenden von Cyberchef zum Dekodieren von AES-verschlüsselten Konfigurationen

XWorm-Konfiguration

Gastgeberziadonfire[.] Arbeit[.] GD (89.116.164.56)
Hafen7000
Schlüssel (AES-Verschlüsselungsschlüssel)
SPL (Trennzeichen)
Groub (Ausführung)XWorm V5.6
USBNMUSB.exe

C2-Anschluss über Steckdose

XWorm initiiert die Netzwerkverbindung mit dem C2-Server über den Socket. Der Socketkonstruktor zeigt, dass er über eine IP-Adresse über TCP eine Verbindung mit dem C2 herstellen würde. Es wird die IP-Adresse aus der C2-Domain verwendet. Es ist auch so eingestellt, dass es das Senden und Empfangen von Daten über Sockets mit etwa 50 KB verarbeitet. Um die Verbindung aufrechtzuerhalten, pingt XWorm alle 10 bis 15 Sekunden einen Ping an den C2-Server und überwacht jede Millisekunde eine Pong-Antwort.

Routine zum Verbinden mit dem XWorm-Server über den Socket
C2-Datenverkehr durch XWorm

Aufklärung

Nach der ersten Verbindung werden die Geräteinformationen des Opfers gesammelt und an den Angreifer gesendet. Dadurch erhält der Angreifer erste Informationen, bevor er bösartige Aktionen ausführt. Zu den gesammelten Informationen gehören Hostname, Benutzername, Treiber, CPU- und GPU-Details, wenn der Benutzer ein Administrator ist, wenn ein Antivirenprogramm installiert ist und eine ausführbare Datei mit dem Namen "USB.exe". Die Informationen sind an die Trennzeichenkette und die XWorm-Version gebunden.

Routine zum Sammeln von Zielinformationen

Neue Befehle in v5.6

Einige Befehle sind in Version 5.6 im Vergleich zu früheren gemeldeten Versionen zu finden. Eine davon ist die Möglichkeit, gespeicherte Plugins zu entfernen. XWorm ist in der Lage, Plugins zu laden und zu speichern, die mehrere benutzerdefinierte Funktionen ausführen können. Der Befehl "RemovePlugins" gibt XWorm die Möglichkeit, in der Registrierung gespeicherte Plugin-Informationen zu bereinigen, falls sie Artefakte bereinigen möchten. Der Angreifer wird benachrichtigt, sobald Plugins entfernt werden.

Routine zum Entfernen von Plugins

In der Zwischenzeit scheint es sich bei dem "Pong"-Befehl um ein Netzwerktool für Angreifer zu handeln, das die Reaktionszeit von XWorm zurückmeldet. Die Variable "Interval" ist die Anzahl der Millisekunden, die XWorm eine Pong-Antwort von der "Ping"-Funktion des C2 erhält.

Pong-Befehlsroutine

Änderung der Hosts-Datei

Ein weiterer bemerkenswerter Befehl von XWorm ist die Fähigkeit, die Hosts-Datei des Opfers zu lesen und zu ändern. Dies bietet dem Angreifer die Möglichkeit, DNS-bezogene Angriffe durchzuführen. Die Hosts-Datei in Windows ist eine Nur-Text-Datei, die zum manuellen Zuordnen von Hostnamen zu IP-Adressen verwendet wird. Es überschreibt die vom Netzwerk bereitgestellte DNS-Auflösung. Der Befehl "Hosts" ermöglicht es XWorm, eine Kopie der Hosts-Datei an den Angreifer zu senden. Der Befehl "Shosts" ermöglicht es dem Angreifer, seine eigene Hosts-Datei zu senden und die des Opfers zu überschreiben. Nach dem Überschreiben wird eine Nachricht an den Angreifer gesendet, die den Erfolg bestätigt.

Routine zum Sammeln und Ändern der Hostdatei

Starten Sie einen DDoS-Angriff

Ein weiterer Befehl von XWorm besteht darin, einen Denial-of-Service-Angriff (DoS) auf ein Ziel zu starten. Wenn das Opfer einen "StartDDos"-Befehl erhält, bricht es zunächst alle laufenden Denial-of-Service-Aktivitäten ab und generiert dann einen neuen Thread, der alle 2,5 Sekunden eine POST-Anfrage über den Socket sendet. Der Angreifer gibt die IP-Adresse des Ziels, die Portnummer und die Dauer des Angriffs an.

Routine zum Starten von DDoS-Angriffen

Aufnahme von Screenshots

Eine weitere Funktion von XWorm besteht darin, einen Screenshot des Bildschirms des Opfers zu sammeln. Zuerst werden die Abmessungen des primären Bildschirms abgerufen und übergeben, um eine Bitmap zu erstellen. Anschließend wird der Bildschirminhalt mit CopyFromScreen erfasst, der mit MemoryStream im JPEG-Format im Speicher gespeichert und über den Socket an den Angreifer gesendet wird.

Format der Nachricht:

"#CAP",

<Xwormmm>

Daten des Opfers

<Xwormmm>

Base64 und komprimiertes Image

Routine zum Sammeln von Bildschirmaufnahmen

Eine Liste aller Befehle, die in XWorm zu finden sind, ist unten aufgeführt:

BefehlDescription
stinkenSendet "pong" zusammen mit dem Wert des Ping-Intervalls
RecStartet die Anwendung neu
SCHLIEßENSchließt die Anwendung
DeinstallierenLöscht die ausführbare Datei, die auf mehreren Dateipfaden abgelegt wurde.
aktualisierenStartet die Anwendung mit neuen Prozessinformationen neu
DWAkzeptieren Sie den PowerShell-Befehl, schreiben Sie den Befehl in eine Datei im temporären Ordner und führen Sie ihn aus
FMFührt einen komprimierten und base64-basierten Befehl aus
LNLädt eine Datei herunter und führt sie aus
URLÖFFNENSendet eine GET-Anforderung an eine URL, die von C2 gesendet wurde.
URLHIDESendet eine GET-Anfrage an eine URL, die von C2 gesendet wurde, aber vor dem Opfer verborgen ist
PCShutdownDen Computer des Opfers herunterfahren
PCRestartStarten Sie den Computer des Opfers neu
PCLogoffMeldet das Opfer vom Computer ab
RunShell (RunShell)Führt einen Hintergrundprozess aus
DDosSenden Sie eine Nachricht "DDos" an den C2
StartDDosStoppt zunächst alle DDoS-Aktivitäten. Sendet anschließend alle 2,5 Sekunden eine POST-Anforderung über einen Socket mit einem zufälligen Benutzeragenten pro Anforderung.
StoppDDosStoppt alle DDoS-Aktivitäten der Anwendung
StartBerichtErhält eine Liste der Prozessnamen von C2. Es meldet zurück, welche Prozesse laufen.
StopReportBricht das Senden des Berichts ab
Xchat (Englisch)Sendet die folgenden Daten an C2:

Anzahl der Prozessoren
Nutzername
Gerätename
OS

Format der Nachricht:
" Xchat-Daten"
WirteLesen und senden Sie den Inhalt der Hosts-Datei.

Format der Nachricht:
"Gastgeber",

(Xchat-Daten)
Dateipfad des Hosts

Host-Dateiinhalt
ShostsÄndert und speichert eine Datei (bei der es sich wahrscheinlich um die Hostdatei handelt) und sendet dann eine Nachricht, um zu bestätigen, dass die Änderung erfolgreich war.
Plugin (Englisch)Sammelt das Plugin von C2
savePluginSpeichert Plugin-Informationen in der Registrierung
Plugins entfernenLöschen Sie die Plugin-Informationen in der Registrierung
OfflineHolenDies sendet eine Fehlermeldung mit der Aufschrift "Offlinekeylogger nicht aktiviert"
$capNimmt einen Screenshot auf und sendet ihn an den Angreifer

Schlussfolgerungen

XWorm ist ein facettenreiches Tool, das dem Angreifer eine breite Palette von Funktionen zur Verfügung stellen kann. In diesem Blogbeitrag haben wir aufgeschlüsselt, wie ein Angreifer XWorm ausliefern und heimlich ausführen kann, sowie welche Funktionen und Methoden es bietet. Die Ausführungskette, die XWorm-Konfiguration und IOCs können Verteidigern helfen, XWorm in ihrer Umgebung zu identifizieren und nach potenziellen Updates zu suchen. Netskope Threat Labs wird XWorm und andere Malware, die ähnliche Techniken anwenden, weiterhin überwachen.

Netskope-Erkennung

  • Netskope Threat Protection
    • Gen:Variant.Jalapeno.683
  • Netskope Advanced Threat Protection bietet proaktiven Schutz gegen diese Bedrohung.
    • Gen.Detect.By.NSCloudSandbox.tr
    • ByteCode-MSIL.Hintertür.XWorm

IOCs

Alle IOCs, die sich auf diese Kampagne beziehen, finden Sie in unserem GitHub-Repository.

author image
Jan Michael Alcantara
Jan Michael Alcantara ist ein erfahrener Incident Responder mit Hintergrund in Forensik, Bedrohungssuche und Vorfallanalyse.
Jan Michael Alcantara ist ein erfahrener Incident Responder mit Hintergrund in Forensik, Bedrohungssuche und Vorfallanalyse.
Verbinden Sie sich mit Netskope

Subscribe to the Netskope Blog

Sign up to receive a roundup of the latest Netskope content delivered directly in your inbox every month.