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
          Get Hands-on With the Netskope Platform
          Here's your chance to experience the Netskope One single-cloud platform first-hand. Sign up for self-paced, hands-on labs, join us for monthly live product demos, take a free test drive of Netskope Private Access, or join us for a live, instructor-led workshops.
            Ein führendes Unternehmen im Bereich SSE. Jetzt ein führender Anbieter von SASE.
            Ein führendes Unternehmen im Bereich SSE. Jetzt ein führender Anbieter von SASE.
            Netskope debütiert als Leader im Gartner ® Magic Quadrant ™ für Single-Vendor SASE
              Generative KI für Dummies sichern
              Generative KI für Dummies sichern
              Learn how your organization can balance the innovative potential of generative AI with robust data security practices.
                Modern data loss prevention (DLP) for Dummies eBook
                Moderne Data Loss Prevention (DLP) für Dummies
                Get tips and tricks for transitioning to a cloud-delivered DLP.
                  Modernes SD-WAN für SASE Dummies-Buch
                  Modern SD-WAN for SASE Dummies
                  Hören Sie auf, mit Ihrer Netzwerkarchitektur Schritt zu halten
                    Verstehen, wo die Risiken liegen
                    Advanced Analytics transforms the way security operations teams apply data-driven insights to implement better policies. With Advanced Analytics, you can identify trends, zero in on areas of concern and use the data to take action.
                        Die 6 überzeugendsten Anwendungsfälle für den vollständigen Ersatz älterer VPNs
                        Die 6 überzeugendsten Anwendungsfälle für den vollständigen Ersatz älterer VPNs
                        Netskope One Private Access is the only solution that allows you to retire your VPN for good.
                          Colgate-Palmolive schützt sein "geistiges Eigentum" mit intelligentem und anpassungsfähigem Datenschutz
                          Colgate-Palmolive schützt sein "geistiges Eigentum" mit intelligentem und anpassungsfähigem Datenschutz
                            Netskope GovCloud
                            Netskope erhält die FedRAMP High Authorization
                            Wählen Sie Netskope GovCloud, um die Transformation Ihrer Agentur zu beschleunigen.
                              Let's Do Great Things Together
                              Die partnerorientierte Markteinführungsstrategie von Netskope ermöglicht es unseren Partnern, ihr Wachstum und ihre Rentabilität zu maximieren und gleichzeitig die Unternehmenssicherheit an neue Anforderungen anzupassen.
                                Netskope solutions
                                Netskope Cloud Exchange
                                Netskope Cloud Exchange (CE) provides customers with powerful integration tools to leverage investments across their security posture.
                                  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.

                                      Bleiben Sie informiert!

                                      Abonnieren Sie den Netskope-Blog