DesckVB RAT (v2.9) — Modularer .NET RAT, Mehrstufige Auslieferung & Plugin-Ökosystem
Autor: ShadowOpCode
X/Twitter: https://x.com/ShadowOpCode
Dieses Repository begleitet einen vollständigen technischen Bericht, der ein aktives Malware-Ökosystem dokumentiert, das sich um DesckVB RAT dreht, einen modularen .NET-Fernzugriffs-Trojaner, der in Live-Kampagnen Anfang 2026 beobachtet wurde.
Die Analyse rekonstruiert den gesamten Infektionslebenszyklus, von der anfänglichen JavaScript-Auslieferung über die Ausführung im Arbeitsspeicher, die C2-Kommunikation bis hin zur bedarfsgesteuerten Plugin-Bereitstellung.
⚠️ Dieses Repository vertreibt keine schädlichen Binärdateien.
Es enthält ausschließlich Forschungsmaterial, Indikatoren für Kompromittierungen und defensive Erkenntnisse.
📄 Bericht
- PDF:
DesckVB_RAT.pdf
- Behandelte Hauptthemen:
- Mehrstufige Infektionskette (WSH JavaScript → PowerShell → .NET-Lader → RAT)
- Laufzeitentschlüsselung der C2-Konfiguration (Host, Port, Mutex, Flags)
- Rekonstruktion des benutzerdefinierten TCP-C2-Protokolls anhand historischer PCAP-Daten
- Eingehende Analyse modularer Plugins (Keylogger, Webcam, AV-Enumeration, Netzwerksonde)
- Builder-Analyse (v2.6) in isolierter Umgebung
- OSINT-gestützte Toolchain-Verknüpfungsanalyse
TL;DR (für Leute, die „nur den Punkt wollen“)
- DesckVB RAT ist nicht interessant, weil es neu ist, sondern weil es stabil, modular und betrieblich ausgereift ist.
- Die plugin-basierte Architektur erlaubt Angreifern, nach der Kompromittierung selektiv Fähigkeiten bereitzustellen.
- Selbst bei inaktiver C2-Infrastruktur ermöglichen historische PCAP-Daten eine zuverlässige Rekonstruktion von:
- Protokollstruktur
- Befehlssemantik
- Plugin-Bereitstellungsmechanismen
- Wiederholte Verweise auf „Pjoao1578“ in Plugins, Metadaten und Build-Pfaden unterstützen stark eine gemeinsame Toolchain/Build-Umgebungsverknüpfung (keine blinde Attribution).
🔗 Beobachtete Kill Chain (Hohe Ebene)
Stufe 1 – WSH JavaScript
- Starke Zeichenketten-Verschleierung
- Selbstkopie nach
C:\Users\Public\
- Neustart via
wscript.exe //nologo
- Dynamische Rekonstruktion einer PowerShell-Nutzlast (Base64)
Stufe 2/3 – PowerShell
- Laufzeitrekonstruktion der Nutzlast
- Konnektivitätsprüfungen (Google-Domänen)
- Anti-Analyse-Logik (Prozess-/Debugger-Prüfungen)
- Herunterladen von dezimal kodierten Nutzlast-Blöcken
- Rekonstruktion einer .NET-Assembly im Arbeitsspeicher
Stufe 4 – .NET-Lader (Dateilos)
Assembly.Load() mit reflektivem Aufruf
- Ausführung durch Umgebungsprüfungen geschützt
- Keine abgelegte PE-Datei im Ruhezustand
Stufe 5 – DesckVB RAT v2.9.0.0
- Laufzeitentschlüsselung der Konfiguration:
- C2-Adresse und Port
- Mutex
- Fähigkeits-Flags
- C2-Authentifizierungspasswort
- Persistenter TCP-Beacon mit Wiederverbindungsschleife
- C2 während der Live-Analyse als inaktiv (RST) beobachtet
📡 C2-Protokoll und Plugin-Bereitstellung
Rekonstruiert aus historischen PCAP-Daten:
- Plugin-Ausführungsbefehl:
RunBlugin||<BASE64_ENCODED_DLL>
- Konsistente Protokollelemente:
- Feldtrennzeichen:
||
- Nachrichtenabschluss (von mehreren Plugins verwendet):
#Sucess#
Diese Konsistenz des Protokolls ist entscheidend für Erkennung und Jagd auf Netzwerkebene, selbst wenn sich die Infrastruktur ändert.
🧩 Analysierte Plugins (Übersicht)
-
DetectarAntivirus.dll
- Zählt installierte Sicherheitsprodukte auf
- Sendet Ergebnisse zurück an C2
-
Keylogger.dll
- Low-Level-Tastatur-Hook (
SetWindowsHookEx)
- Verfolgung aktiver Fenster
- Abfangen der Zwischenablage
- Exfiltration über benutzerdefiniertes TCP-Protokoll
-
Webcam.dll
- Verwendet DirectShow (AForge)
- Streamt JPEG-Frames mit Präfix
Cam||
- Versucht, die Kamera-LED über einen Registrierungsschlüssel zu unterdrücken
(Effekt hängt vom OEM/Treiber ab)
-
Ping_Net.dll
- ICMP-RTT-Sonde (Standard:
www.google.com.br)
- Optionaler
mapa-Befehl führt HTTP(S)-Abruf von angreifergestellten URLs durch
🧪 Builder (v2.6) Validierung
Eine gecrackte Version des DesckVB RAT Builders (v2.6) wurde in einer vollständig isolierten Laborumgebung ausgeführt, um zu vergleichen:
- Konfigurationsstruktur
- Plugin-Benennung und -Layout
- Protokollsemantik
- Versionierungskonventionen
Die Überschneidung zwischen Builder-Ausgabe und Live-Beispielen zeigt eine starke Kontinuität über Versionen hinweg, was eine Clusterbildung auf Ökosystemebene unterstützt.
Der Bezeichner „Pjoao1578“ erscheint wiederholt und unabhängig in:
CompanyName-Metadaten in mehreren Plugins
(Pjoao1578Developer)
- Debug-Pfaden wie:
...\DesckVB Rat\V2.9.0.0\DLL\Blugin Stub\
- Früheren öffentlichen Berichten, die mit verwandten Ladern und Tools verbunden sind
Korrekte Schlussfolgerung
- Starke Hinweise auf gemeinsame Toolchain/Build-Umgebung/Branding
- Nützlich für Bedrohungs-Clustering und Jagd
- Nicht ausreichend für eine endgültige persönliche Zuordnung
Der Bericht vermeidet bewusst eine Überattribution und behandelt diese Indikatoren mit angemessener analytischer Strenge.
🧾 Indikatoren für Kompromittierungen (Auszug)
Vollständige Tabellen im Anhang des Berichts.
C2
manikandan83[.]mysynology[.]net:7535
Staging-URLs (Beispiele)
hxxps://andrefelipedonascime1768785037020[.]1552093[.]meusitehostgator[.]com[.]br/.../01.txt
.../02.txt
.../03.txt
.../PeYes
SHA256 (Beispiele)
- Stage 1 JS:
9d9cfe5b31a3b020e3c65d440d8355e33f7c056b087ec6aba3093ae1a099ac0
- PowerShell:
347621f7a3392939d9bdbe8a6c9fda30ba9d3f23cb6733484da8e2993772b7f3
- Lader:
a675f5a396de1fa732a9d83993884b397f02921bbcf34346fbed32c8f4053064
- RAT:
affb29980bc9564f1b03fe977e9ca5c7adf254656d639632c4d14e34aa4fdff6
- Webcam-Plugin:
ff051dde71487ea459899920ef7014dad8eee4df308eb360555f3e22232c9367
🛡️ Erkennungs- und Jagdhinweise
Endpunktsignale
- Verschleiertes WSH JavaScript nach
C:\Users\Public\ kopiert
- Ausführung via
wscript.exe //nologo
- PowerShell erstellt dezimale Byte-Arrays +
Assembly.Load()
- Mutex:
nozgrb6ev4t4c7sc2hz7iwnnmmwahj54
- Prozess-Tarnung (
Update.exe, Microsoft-Verzeichnisse)
Netzwerksignale
- Beacon-Format enthält:
Desk||<machine>||<user>||<locale>||2.9.0.0||
- Plugin-Bereitstellung via
RunBlugin||
- Stabiles Trennzeichen
|| und Abschluss #Sucess#
📚 Methodik
- Statische Analyse (Strings, IL, Metadaten)
- Dynamische Ausführung in isoliertem Labor
- Rekonstruktion des Netzwerkverkehrs anhand historischer PCAP
- Builder-Ausführung zum strukturellen Vergleich
⚠️ Haftungsausschluss
Diese Forschung wird ausschließlich zu defensiven und analytischen Zwecken veröffentlicht.
- Es werden keine schädlichen Binärdateien verteilt
- Indikatoren können im Laufe der Zeit wiederverwendet oder verfallen
- Attribution wird konservativ behandelt:
- Belege unterstützen Toolchain-Verknüpfung und Clustering
- keine endgültige Identifizierung eines einzelnen Betreibers
📎 Zitation
Wenn Sie auf diese Forschung verweisen oder sie wiederverwenden, verlinken Sie bitte:
- dieses Repository
- den vollständigen PDF-Bericht
- das X-Konto des Autors (@ShadowOpCode)