Eine Analyse von John Dador & Mathew Dela Cruz
Überblick
G Data-Analysten entdeckten eine neue Remcos-RAT-Infektionskette, die mit einer scheinbar harmlosen Batch-Datei beginnt, welche kodierte Befehle ausführt. Diese Batch-Datei erstellt versteckte Verzeichnisse und lädt zusätzliche Werkzeuge sowie verschlüsselte Payloads herunter, während sie sich unauffällig in normale Systemaktivitäten einfügt.
Im Gegensatz zu früheren Remcos-RAT-Kampagnen, die von Fortinet und McAffee dokumentiert wurden und hauptsächlich auf PowerShell-gehostete .NET-Loader setzten, um Assemblies reflektiv im Speicher zu laden, integriert diese neue Infektionskette DonutLoader-Shellcode und AutoIt-basiertes Staging zur Ausführung der Payload. Dadurch verschiebt sich die Loader-Architektur von Remcos RAT weg von der verwalteten .NET-Ausführung hin zu einem portableren, laufzeitunabhängigen Modell für die speicherbasierte Bereitstellung von Payloads.
Infektionskette
Die Abbildung zeigt, wie Remcos RAT über eine mehrstufige Ausführungskette bereitgestellt wird, die Skripte, Living-off-the-Land Binaries (LOLBins) und gestufte Extraktionsmechanismen umfasst und letztlich die finale Payload ausliefert.
Initialer Zugriff
Die Infektion beginnt mit einer Phishing-E-Mail, die eine schädliche Windows-Batch-Datei namens Bestellung.CMD als Anhang enthält. Die eigentliche Phishing-E-Mail stand uns zwar nicht mehr zur Verfügung, aber der Dateiname der Batch-Datei kommt in Phishing-Kampagnen oft vor.
Die Ausführung beginnt, wenn die Batch-Datei cscript.exe startet – eine legitime Windows-Script-Host-Binärdatei, die häufig als LOLBin missbraucht wird. Sie ist eine von zwei Windows Script Host (WSH)-Ausführungsdateien und fungiert als Konsolenvariante von wscript.exe.
Anschließend wird SyncAppvPublishingServer.vbs aufgerufen, eine legitime Microsoft-App-V-Komponente, die in vielen Unternehmensumgebungen mit Windows vorhanden ist. Da sie als vertrauenswürdiger Bestandteil der normalen Systeminfrastruktur gilt, eignet sie sich besonders gut für den Missbrauch als LOLBin. Sie wird verwendet, um eine schädliche Base64-kodierte Payload auszuführen, die als Argument übergeben wird. Dabei werden Fehlermeldungen und Windows-Script-Host-Banner unterdrückt, während PowerShells Invoke-Expression (IEX) die Payload dekodiert und direkt im Speicher ausführt.
Bemerkenswert ist, dass der Einsatz von SyncAppvPublishingServer.vbs in früheren Remcos-RAT-Kampagnen bislang kaum dokumentiert wurde, was diese Technik besonders interessant macht.
Die verschleierte Base64-Payload enthält eine einfache Zeichenkettenersetzungsroutine (.Replace('QUBLQSVO','')), die eingefügte Fülldaten entfernt, bevor die eigentliche Dekodierung erfolgt. SyncAppvPublishingServer.vbs fungiert dabei als Ausführungsproxy und leitet den dekodierten Base64-Inhalt direkt an PowerShell weiter. Dadurch wird ein PowerShell-Befehl ausgeführt, der im nicht-interaktiven und versteckten Modus arbeitet.
Der PowerShell-Befehl verändert anschließend den Modul-Suchpfad, sodass Module gezielt aus dem aktuellen Verzeichnis statt aus dem Systempfad geladen werden. Danach wird ein Modul namens AppvClient importiert – ein legitimes Windows-Modul für die Anwendungsvirtualisierung –, um die Aktivität harmlos erscheinen zu lassen.
The decoded Base64 payload contains instructions and commands that will download additional components for the next phase of infection.
Payload-Staging und Bereitstellung von weiteren Tools
Das PowerShell-Skript lädt drei weitere Dateien herunter: die legitimen 7-Zip-Komponenten (7z.exe und 7z.dll) sowie die passwortgeschützte Datei iphdcrtj.zip vom Cloud-Speicherdienst pCloud (filedn[.]com). Damit werden zwei Hauptziele verfolgt.
Erstens wird die Zuverlässigkeit der Infektionsausführung in unterschiedlichen Windows-Umgebungen sichergestellt. Durch das Mitbringen eigener Werkzeuge wird die Abhängigkeit von lokal installierten Programmen reduziert und das Risiko minimiert, dass die Ausführung aufgrund fehlender Abhängigkeiten oder eingeschränkter Konfigurationen fehlschlägt. Zweitens erschweren passwortgeschützte Dateien die erste statische Analyse, da sie vor einer Untersuchung zunächst entpackt werden müssen. Zudem verhindern sie, dass File-Hosting-Dienste Malware auf ihren Systemen automatisch erkennen.
Bei der Analyse des dekodierten PowerShell-Skripts fiel auf, dass Struktur und Formatierung der verwendeten Befehle ungewöhnlich konsistent waren. Auch die vorhandenen Code-Kommentare sind in manuell geschriebenen Schadskripten eher unüblich. Diese Merkmale deuten darauf hin, dass das Skript möglicherweise mit Unterstützung von KI-Werkzeugen erstellt oder überarbeitet wurde, deren Einsatz bei der Skriptentwicklung zunehmend verbreitet ist.
Das heruntergeladene passwortgeschützte Archiv iphdcrtj.zip enthält ein schädliches JScript namens iphdcrtj.js, das im Verzeichnis C:\Users\Public abgelegt wird. Dieses Skript ist verschleiert und enthält Füllzeichenketten, um die statische Analyse zu erschweren. Es erstellt zwei Dateien: einen AutoIt3-Interpreter der Version 3.3.16.1 sowie eine gefälschte PNG-Bilddatei.
Der abgelegte AutoIt-Interpreter wird anschließend von iphdcrtj.js ausgeführt, um die in der gefälschten PNG-Datei eingebetteten Daten zu verarbeiten. Obwohl die PNG-Datei wie ein harmloses Bild aussieht, handelt es sich tatsächlich um ein AutoIt-Skript, das kodierte Zeichenketten und API-Definitionen enthält, die erst zur Laufzeit extrahiert und entschlüsselt werden.
Die eingebettete Dekodierungsroutine verwendet eine Single-Byte-XOR-Verschlüsselung mit dem konstanten Schlüssel 0x63. Die wiederhergestellten Daten enthalten mehrere Datenstrukturen und Windows-API-Funktionen, die typischerweise bei Prozessinjektionen eingesetzt werden.
Diese Datenstrukturen und APIs werden verwendet, um die Payload der nächsten Stufe dynamisch im Speicher zu rekonstruieren und anschließend in colorcpl.exe, das legitime Windows-Dienstprogramm für die Farbverwaltung, zu injizieren.
Finale Payload: Remcos RAT
Die injizierte Payload besteht aus DonutLoader-Shellcode. Dabei handelt es sich um ein weit verbreitetes Open-Source-Werkzeug, das einen positionsunabhängigen Shellcode-Stub erzeugt, der eine PE- oder .NET-Payload direkt im Speicher einbettet. In verschiedenen realen Angriffskampagnen – etwa beim Beagle-Backdoor, das sich über gefälschte Claude-Webseiten verbreitete und kürzlich von Sophos beschrieben wurde – wurde Donut-generierter Shellcode bereits in Loadern und Infektionsketten beobachtet, die Standard-Malware wie RATs und Infostealer ausliefern.
Auch unsere jüngste Analyse loaderbasierter Bedrohungen wie KissLoader zeigt ein ähnliches Muster: Donut-generierter Shellcode wird als Zwischenschritt genutzt, um finale Payloads zu entschlüsseln und in Prozesse zu injizieren. Die zusätzlichen Staging-Ebenen in Kombination mit der Prozessinjektion erhöhen jedoch auch die Angriffsfläche für die Erkennung. Verteidiger erhalten dadurch mehr Möglichkeiten, die schädliche Kette abzufangen, bevor die finale Payload ausgeführt wird.
Glücklicherweise existiert auf GitHub ein zuverlässiger Open-Source-Decryptor. Wir haben ihn verwendet, um den DonutLoader-Shellcode zu entschlüsseln. Das Ergebnis zeigt, dass es sich bei der Payload um Remcos RAT Version 7.2.1 Pro handelt – eine vergleichsweise aktuelle Version.
Gleicher RAT, nur noch raffinierter
Diese Infektion verdeutlicht die anhaltende Nutzung von Techniken durch Remcos RAT, bei denen Payloads während der Laufzeit dekodiert, vorbereitet und direkt im Speicher ausgeführt werden. Der Einsatz mehrerer Skriptebenen wie PowerShell, VBScript und nativer Windows-Dienstprogramme deutet darauf hin, dass diese Variante von Remcos RAT auf Heimlichkeit und operative Flexibilität ausgelegt ist. Ein weiteres Merkmal, das besondere Aufmerksamkeit verdient, ist die umfangreiche Nutzung von LOLBins. Legitime Windows-Dienstprogramme werden für Proxy-Ausführung und speicherbasierte Ausführung missbraucht, um einer frühzeitigen Erkennung zu entgehen und schädliche Aktivitäten mit normalen Systemvorgängen zu verschleiern.
Nach erfolgreicher Installation fungiert Remcos RAT als vollwertiger Remote-Access-Trojaner (RAT), der eine Verbindung zu einem vom Angreifer kontrollierten Command-and-Control-Server (C2) aufbaut. Sobald die Verbindung hergestellt ist, können die Betreiber das kompromittierte System fernsteuern, Befehle ausführen, Dateien verwalten, Screenshots erstellen, Tastatureingaben aufzeichnen, Zugangsdaten stehlen, Webcams oder Mikrofone aktivieren und weitere Payloads nachladen.Diese Fähigkeiten wurden von Fortinet in aktuellen Untersuchungen zu moderner Remcos-RAT-Aktivität ausführlich dokumentiert und analysiert.
Obwohl bereits deutliche Gemeinsamkeiten zwischen verschiedenen Remcos-RAT-Kampagnen bestehen, zeigt diese Analyse auch neue Techniken. Die Einführung von durch DonutLoader erzeugtem Shellcode für Prozessinjektionen wurde bei Remcos-RAT-Infektionen bislang kaum beobachtet. Dies deutet darauf hin, dass die Tarnungs- und Ausführungsmethoden von Remcos RAT kontinuierlich weiterentwickelt und verfeinert werden.
IOCs
- Bestellung.CMD - 5B3089EEFAB0E043AF8894DE86022BDC6DF2F42F7098DBD530F42C0EC861D5D8 - Script.Trojan.Agent.BSQ
- iphdcrtj.js - 14A0D7978872A2739AC31EF42539E8C708AF6AFCCC5EB74F22FE2B676BFA2DF7 - Script.Trojan.Agent.VVW4LC
- USCSHBRBWUYUCQNUIBPWLVUFKIAGWBOOAKDDXWTGRUVHWXIHQQRQXJASLKLALICCV.png (AutoIt Script) - B9DA295C34ACCF3632C2C4B6D9E3C74791B4514D27814F79E9BCB77CE168A347 - Trojan.Generic.39655044
- Remcos RAT Payload - 48bd36c3b8d6a3bf5db4e7b0bbc1692e8cb900475dc7ae16e9f1fa7ba97c8adf - Win32.Backdoor.Remcos.TDW2LS
MITRE ATT&CK TTPs
Initial Access
T1566.001 – Spearphishing Attachment (malicious .cmd file via phishing)
Execution
T1059 – Command and Scripting Interpreter (AutoIt execution)
T1059.001 – PowerShell (Base64 payload via IEX)
T1059.003 – Windows Command Shell (.cmd execution)
T1059.005 – Visual Basic (VBScript via cscript.exe)
T1059.007 – JavaScript (obfuscated JS execution)
T1218 – Signed Binary Proxy Execution (cscript.exe and other LOLBins)
Defense Evasion
T1027 – Obfuscated/Compressed Files and Information (Base64 + junk data)
T1036 – Masquerading (fake names and PNG disguise)
T1140 – Deobfuscate/Decode Files or Information (XOR decoding)
T1564.003 – Hidden Window (hidden PowerShell execution)
Command and Control
T1071 – Application Layer Protocol (C2 communication)
T1219 – Remote Access Software (Remcos RAT payload)
Privilege Escalation
T1055 – Process Injection (inject into colorcpl.exe)
T1620 – Reflective Code Loading (Donut in-memory shellcode)
Exfiltration
T1560.001 – Archive via Utility (password-protected ZIP)
Command & Control / Staging Support
T1105 – Ingress Tool Transfer (downloads 7z and archive)





