Inhaltsverzeichnis:
- Einführung
- Infektionskette
- Prozessbaum
- Kampagne 1:
– Beharrlichkeit
– BATCH-Dateien
– PowerShell-Skript
– Lader
– Xworm/Remcos - Kampagne 2
- Fazit
- IOCS
- Erkennungen
- MITRE-ANGRIFF-TTPs
Einführung:
Aktuelle Bedrohungskampagnen haben gezeigt, dass zunehmend BAT-basierte Loader zur Verbreitung von Remote Access Trojanern wie XWorm und Remcos eingesetzt werden. Diese Kampagnen beginnen oft mit einem ZIP-Archiv, das typischerweise auf vertrauenswürdigen Plattformen wie ImgKit gehostet wird und als legitimer Inhalt erscheint, um Benutzer zur Interaktion zu verleiten.
Nach dem Extrahieren enthält die ZIP-Datei ein stark verschleiertes BAT-Skript, das als erste Stufe der Infektionskette dient. Diese BAT-Dateien verwenden fortschrittliche Techniken, um die statische Erkennung zu umgehen. Sie sind für die Ausführung von PowerShell-basierten Loadern verantwortlich, die die RAT-Nutzlast direkt in den Speicher injizieren. Dieser Ansatz ermöglicht die dateilose Ausführung – ein wachsender Trend bei moderner Malware, um die Abwehrmechanismen von Endpunkten zu umgehen.
Eine bemerkenswerte Entwicklung in dieser Kampagne ist die Verwendung von SVG-Dateien zur Verbreitung der bösartigen BAT-Skripte. Diese SVGs enthalten eingebettetes JavaScript, das die Ausführungskette auslöst, wenn es in anfälligen Umgebungen gerendert oder in Phishing-Seiten eingebettet wird. Diese Technik verdeutlicht einen Trend hin zur Verwendung nicht-traditioneller Dateiformate für die Verbreitung von Malware, wobei deren Skriptfunktionen ausgenutzt werden, um der Erkennung zu entgehen.
Infektionskette:

Prozessbaum:

Kampagne 1:
Während der Analyse von Kampagne 1 identifizierten wir mehrere BAT-Skripte im Zusammenhang mit der Kampagne, die auf eine sich entwickelnde Bedrohungslandschaft hinweisen. Einige dieser Skripte scheinen sich in der aktiven Entwicklung zu befinden und enthalten teilweisen Code oder Code im Teststadium, während andere voll funktionsfähig sind und die komplette Angriffskette ausführen können, einschließlich Payload-Download und -Ausführung.
Das folgende Bild zeigt zwei BAT-Dateien:
- Methode 1: Direkte Zustellung als Anhang per EML (E-Mail-Datei).
- Methode 2: Download über eine auf der ImageKit-Plattform gehostete URL.
Diese Variation der Übermittlungsmethoden lässt darauf schließen, dass die Bedrohungsakteure mit verschiedenen Ansätzen experimentieren, um die Infektionserfolgsraten zu verbessern und Erkennungsmechanismen zu umgehen.

Beharrlichkeit:
Die Malware bleibt bestehen, indem sie eine BAT-Datei im Windows-Autostart-Ordner erstellt. Dadurch wird sichergestellt, dass das schädliche Skript automatisch ausgeführt wird, wenn der Benutzer das System startet oder sich bei seinem Konto anmeldet.

BATCH-Dateien:
Die folgende Abbildung zeigt das BAT-Skript in seiner verschleierten Form neben seiner entschleierten Version.

PowerShell-Skript:
Die folgende Abbildung zeigt das PowerShell-Prozessfenster und die während der Ausführung verwendeten Befehlszeilenargumente. Dies gibt Aufschluss darüber, wie die Malware PowerShell für die In-Memory-Payload-Auslieferung nutzt. Wir werden das PowerShell-Skript in den folgenden Abschnitten detailliert analysieren, um seine Rolle bei der Bereitstellung von XWorm zu verstehen.


Dieser PowerShell-Befehl führt das Skript aus, indem er eine Base64-codierte Zeichenfolge dekodiert und im Speicher ausführt. Er verwendet -nop, um das Laden des Benutzerprofils zu vermeiden, -w hidden, um das Fenster auszublenden, und iex (Invoke-Expression), um den dekodierten Inhalt auszuführen.
Deobfuskiertes Skript:

Wir haben das deobfuskierte Skript in zwei Teile aufgeteilt. Der erste Teil des PowerShell-Skripts dient dazu, einen verschleierten Code zu finden und auszuführen, der in einer Batchdatei (aoc.bat) im Profilverzeichnis des aktuellen Benutzers eingebettet ist. Zunächst ruft es den Benutzernamen aus den Umgebungsvariablen ab, um den vollständigen Pfad zu erstellen. aoc.bat. Es liest alle Zeilen mit UTF-8-Kodierung und durchläuft jede Zeile. Dabei wird insbesondere nach Zeilen gesucht, die mit einem Kommentarpräfix aus drei Doppelpunkten (:::) beginnen, gefolgt von einer Base64-kodierten Zeichenfolge. Wird eine solche Zeile gefunden, versucht es, die Base64-Zeichenfolge in ein Byte-Array zu dekodieren und konvertiert sie anschließend in eine Unicode-Zeichenfolge, die der Variable $ttzhae zugewiesen wird. Diese dekodierte Zeichenfolge ($ttzhae) enthält eine zusätzliche Ebene eines PowerShell-Skripts, das dann mithilfe von Invoke-Expression im Speicher ausgeführt wird. Dies ermöglicht es dem Angreifer, komplexe oder mehrstufige bösartige PowerShell-Logik verdeckt in einen scheinbar harmlosen Batchdateikommentar einzubetten und auszuführen, was eine heimliche und dateilose Ausführung ermöglicht.

Das Skript deaktiviert programmatisch zwei wichtige Windows-Sicherheitsmechanismen, AMSI (Antimalware Scan Interface) und ETW (Event Tracing for Windows), um einer Erkennung zu entgehen. Es nutzt .NET-Reflexion und dynamische Delegatenerstellung, um native Funktionen wie GetProcAddress, GetModuleHandle, VirtualProtect und AmsiInitialize aufzulösen. Mithilfe dieser Funktionen lokalisiert und überschreibt es die AmsiScanBuffer-Funktion im Speicher mit der Anweisung (mov eax, 0; ret), wodurch die AMSI-Überprüfung effektiv umgangen wird. Ebenso deaktiviert es die Ereignisverfolgung, indem es den Anfang von EtwEventWrite mit einer return-Anweisung überschreibt. Diese Änderungen im Speicher ermöglichen es schädlichen PowerShell-Aktivitäten, unbemerkt ausgeführt zu werden, ohne protokolliert oder von Windows gescannt zu werden. endpoint protection Lösungen

Im zweiten Teil des PowerShell-Skripts wird zunächst der Name des aktuellen Benutzers aus der Umgebung abgerufen und der Pfad zu einer Datei mit dem Namen aoc.bat befindet sich im Profilverzeichnis des Benutzers. Es führt Payloads aus, die als verschlüsselte und komprimierte .NET-Assemblys eingebettet und in dieser Batchdatei versteckt sind. Das Skript sucht speziell nach einer Kommentarzeile mit dem Präfix ::, die eine Base64-kodierte Payload-Zeichenfolge enthält. Diese Zeichenfolge wird dann mit dem Backslash (\) als Trennzeichen in zwei Teile aufgeteilt. Jeder Teil wird einer Base64-Dekodierung und einer AES-Entschlüsselung mit einem fest kodierten Schlüssel und IV (im CBC-Modus mit PKCS7-Padding) unterzogen, gefolgt von einer GZIP-Dekomprimierung, wie in den beigefügten Abbildungen dargestellt. Das Ergebnis sind zwei separate .NET-Assemblys, die beide direkt im Speicher geladen und ausgeführt werden. Die erste Assembly wird ohne Argumente aufgerufen, während die zweite mit „%*“ als simulierter Befehlszeileneingabe ausgeführt wird.

Die zweite Nutzlast spielt eine kritischere Rolle. Sie fungiert als Loader, der für die Ausführung der endgültigen Malware verantwortlich ist, nämlich des Remote Access Trojan (RAT) XWorm.

Radlader
Der Loader ist so konzipiert, dass er der Erkennung entgeht, die Ereignisprotokollierung deaktiviert und eingebettete Nutzdaten direkt im Speicher ausführt. Dies wird erreicht, indem entweder ausführbare .NET-Dateien über Assembly.Load entschlüsselt und ausgeführt werden oder entschlüsselter Shellcode mit VirtualProtect und Delegaten ausgeführt wird.



Ladefunktionen:
- Erkennung umgehen

- Deaktivieren der Ereignisprotokollierung

- Eingebettete Nutzdaten extrahieren und ausführen
Hier haben wir mehrere Loader identifiziert, die In-Memory-Ausführungstechniken nutzen, um unerkannt zu bleiben und unbemerkt zu verbleiben. Einige dieser Loader enthalten verschlüsselte .NET-Programme, die zur Laufzeit entschlüsselt und mit Assembly.Load und anschließend .EntryPoint.Invoke direkt aus dem Speicher ausgeführt werden. Dadurch kann der Loader verwalteten Code ausführen, ohne die ausführbare Datei auf die Festplatte zu schreiben.
Im Gegensatz dazu verwenden andere Varianten verschlüsselten Shellcode anstelle einer Binärdatei. Diese Varianten entschlüsseln den Shellcode, modifizieren den Speicherschutz mit VirtualProtect, um ihn ausführbar zu machen, und führen ihn dann mit einem über Marshal.GetDelegateForFunctionPointer erstellten Delegaten aus. Wie in den folgenden Abbildungen gezeigt,

- Beharrlichkeit

Xworm
Wir haben bereits berichtet über XWorm und Remkos Anfang des Jahres wurde eine detaillierte Analyse der Kernfunktionen, erweiterter Funktionen wie Keylogging, Remote-Befehlsausführung, Datenexfiltration und der Persistenz- und Umgehungsmethoden bereitgestellt.

Neben XWorm nutzten mehrere Varianten in der gleichen Kampagne auch Remkos, ein weithin bekannter kommerzieller Remote Access Trojan (RAT), der eine Reihe von Funktionen bietet, darunter Remote-Desktop-Zugriff, Keylogging, Befehlsausführung, Dateimanipulation, Screenshot-Erfassung und Datenexfiltration.
Kampagne 2:
Kampagne 2 führt zu einer deutlichen Veränderung bei der Verbreitung von Malware. Dabei werden SVG-Dateien (Scalable Vector Graphics) mit eingebettetem JavaScript genutzt, die vor allem bei Phishing-Angriffen zum Einsatz kommen. Diese bösartigen SVG-Dateien werden so gestaltet, dass sie wie legitime Bilddateien aussehen und entweder in anfälligen Softwareumgebungen (wie veralteten Bildbetrachtern oder E-Mail-Clients) dargestellt oder in Phishing-Webseiten eingebettet, die ahnungslose Benutzer anlocken sollen. Das in der SVG-Datei eingebettete JavaScript fungiert nun als Auslöser und initiiert den automatischen Download eines ZIP-Archivs, wenn die SVG-Datei geöffnet oder in der Vorschau angezeigt wird.
Das heruntergeladene ZIP-Archiv enthält ein verschleiertes BAT-Skript, das als erster Zugriffsvektor für die Malware dient. Sobald das BAT-Skript entweder manuell vom Benutzer oder durch Social-Engineering-Taktiken ausgeführt wird, leitet es eine mehrstufige Infektionskette ein, ähnlich der in Kampagne 1 beobachteten. Konkret ruft das BAT-Skript PowerShell-Befehle auf, um eine ausführbare Loader-Datei (EXE) direkt im Speicher zu dekodieren und auszuführen. Dieser Loader ist für die Entschlüsselung und Bereitstellung der endgültigen Nutzlast verantwortlich, die in dieser Kampagne der XWorm Remote Access Trojan (RAT) ist.
Die Verwendung von SVG als Übertragungsmechanismus stellt eine bemerkenswerte Weiterentwicklung der Angriffsmethodik dar, da Bilddateien üblicherweise als harmlos gelten und von herkömmlichen Sicherheitstools häufig nicht eingehend geprüft werden. Durch die Ausnutzung der Skriptfunktionen von SVGs können Bedrohungsakteure Perimeterschutzmechanismen effektiv umgehen und schädliche Payloads dateilos und heimlich übertragen.
Fazit:
Diese Kampagnen verdeutlichen den wachsenden Trend zur Verwendung verschleierter Skripte, dateiloser Malware und nicht-traditioneller Dateiformate wie SVGs zur Verbreitung von Remote-Access-Trojanern wie XWorm und Remcos. Durch die Einbettung von Payloads in BAT-Dateien und deren Ausführung über PowerShell umgehen Angreifer effektiv statische Abwehrmechanismen. Der Wechsel von der Verwendung von SVGs bei Phishing-Angriffen hin zur Verbreitung von Malware unterstreicht die Notwendigkeit von Verhaltenserkennung, Inhaltsprüfung und verbesserter Benutzersensibilisierung, um solchen sich entwickelnden Bedrohungen entgegenzuwirken.
IOCS:
| MD5 | Reichen Sie das |
| EDA018A9D51F3B09C20E88A15F630DF5 | BAT |
| 23E30938E00F89BF345C9C1E58A6CC1D | JS |
| 1CE36351D7175E9244209AE0D42759D9 | LADER |
| EC04BC20CA447556C3BDCFCBF6662C60 | XWORM |
| D439CB98CF44D359C6ABCDDDB6E85454 | REMCOS |
Erkennungen:
Trojan.LoaderCiR
Trojan.GenericFC.S29960909
MITRE-ANGRIFF-TTPs:
| Taktik | Technik-ID und -Name | Beschreibung |
| Ausführung | T1059.001 – Befehls- und Skriptinterpreter: PowerShell | PowerShell wird zum Interpretieren von Befehlen, Entschlüsseln von Daten und Aufrufen von Nutzdaten verwendet. |
| T1106 – Ausführung über API | Das Skript verwendet .NET-APIs (z. B. Assembly.Load, Invoke), um Nutzdaten im Speicher auszuführen. | |
| Verteidigungsflucht | T1027 – Verschleierte Dateien oder Informationen | Nutzdaten werden Base64-codiert, AES-verschlüsselt und komprimiert, um statische Erkennungen zu umgehen. |
| T1140 – Dateien oder Informationen entschlüsseln/dekodieren | Das Skript dekodiert und dekomprimiert Nutzdaten vor der Ausführung. | |
| T1055.012 – Prozessinjektion: .NET-Assembly-Injektion | Nutzdaten werden in den Speicher geladen | |
| T1036 – Maskierung | Der schädliche Inhalt ist in der Batchdatei versteckt. | |
| Beharrlichkeit | T1053 – Geplante Aufgabe/Job | Stellen Sie die Persistenz über das Startmenü her. |
| Erster Zugriff | T1204 – Benutzerausführung | Die Ausführung hängt davon ab, dass ein Benutzer die Batchdatei manuell ausführt |
| Command and Control | T1132 – Datenkodierung | Base64 und Verschlüsselung werden zum Kodieren von Befehlen oder Nutzdaten verwendet. |
| T1219 – Fernzugriffssoftware | Xworm bietet vollständigen Fernzugriff und Kontrolle über den infizierten Host. | |
| Zugang zu Anmeldeinformationen | T1056.001 – Eingabeerfassung: Keylogging | XWorm enthält eine Keylogging-Funktion zum Stehlen von Benutzereingaben und Anmeldeinformationen. |
| Exfiltration | T1041 – Exfiltration über C2-Kanal | Gestohlene Daten werden über denselben C2-Kanal exfiltriert, der auch von Xworm verwendet wird. |
Autor:
Vaibhav Billade
Rumana Siddiqui



