DesckVB RAT (v2.9) — RAT .NET modulaire, livraison multi-étapes et écosystème de plugins
Lien vers la chaîne d'outils “Pjoao1578”
Auteur: ShadowOpCode
X/Twitter: https://x.com/ShadowOpCode
Ce dépôt accompagne un rapport technique complet documentant un écosystème de malware actif centré sur DesckVB RAT, un trojan d'accès à distance .NET modulaire observé dans des campagnes actives début 2026.
L'analyse reconstruit le cycle de vie complet de l'infection, de la livraison initiale en JavaScript à l'exécution en mémoire, la communication C2 et le déploiement à la demande de plugins.
⚠️ Ce dépôt ne distribue pas de binaires malveillants.
Il contient uniquement du matériel de recherche, des indicateurs de compromission et des informations défensives.
📄 Rapport
- PDF:
DesckVB_RAT.pdf
- Sujets principaux abordés :
- Chaîne d'infection multi-étapes (WSH JavaScript → PowerShell → chargeur .NET → RAT)
- Déchiffrement en cours d'exécution de la configuration C2 (hôte, port, mutex, drapeaux)
- Reconstruction du protocole C2 TCP personnalisé à l'aide de données PCAP historiques
- Analyse approfondie des plugins modulaires (keylogger, webcam, énumération AV, sonde réseau)
- Analyse du builder (v2.6) dans un environnement isolé
- Analyse du lien avec la chaîne d'outils assistée par OSINT
TL;DR (pour ceux qui veulent « juste l'essentiel »)
- DesckVB RAT n'est pas intéressant parce qu'il est nouveau, mais parce qu'il est stable, modulaire et opérationnellement mature.
- L'architecture basée sur les plugins permet aux attaquants de déployer sélectivement des capacités après compromission.
- Même avec une infrastructure C2 inactive, les données PCAP historiques permettent une reconstruction fiable de :
- la structure du protocole
- la sémantique des commandes
- les mécanismes de livraison des plugins
- Les références répétées à “Pjoao1578” dans les plugins, les métadonnées et les chemins de build soutiennent fortement un lien partagé de chaîne d'outils / d'environnement de build (pas d'attribution aveugle).
🔗 Chaîne de destruction observée (Haut niveau)
Étape 1 – WSH JavaScript
- Obfuscation lourde de chaînes
- Auto-copie vers
C:\Users\Public\
- Relance via
wscript.exe //nologo
- Reconstruction dynamique d'une charge utile PowerShell (Base64)
Étape 2/3 – PowerShell
- Reconstruction de la charge utile en cours d'exécution
- Vérifications de connectivité (domaines Google)
- Logique anti-analyse (vérifications de processus / débogueur)
- Téléchargement de morceaux de charge utile codés en décimal
- Reconstruction en mémoire d'un assembly .NET
Étape 4 – Chargeur .NET (Sans fichier)
Assembly.Load() avec invocation réflexive
- Exécution conditionnée par des vérifications d'environnement
- Aucun PE déposé au repos
Étape 5 – DesckVB RAT v2.9.0.0
- Déchiffrement en cours d'exécution de la configuration :
- Adresse et port C2
- mutex
- drapeaux de capacité
- mot de passe d'authentification C2
- Balise TCP persistante avec boucle de reconnexion
- C2 observé comme inactif (RST) lors de l'analyse en direct
📡 Protocole C2 et livraison de plugins
Reconstruit à partir de données PCAP historiques :
- Commande d'exécution de plugin :
RunBlugin||<BASE64_ENCODED_DLL>
- Éléments de protocole cohérents :
- Délimiteur de champ :
||
- Terminateur de message (utilisé par plusieurs plugins) :
#Sucess#
Cette cohérence du protocole est cruciale pour la détection et la chasse au niveau réseau, même lorsque l'infrastructure change.
🧩 Plugins analysés (Aperçu)
-
DetectarAntivirus.dll
- Énumère les produits de sécurité installés
- Envoie les résultats au C2
-
Keylogger.dll
- Hook clavier bas niveau (
SetWindowsHookEx)
- Suivi de la fenêtre active
- Interception du presse-papiers
- Exfiltration via un protocole TCP personnalisé
-
Webcam.dll
- Utilise DirectShow (AForge)
- Diffuse des images JPEG préfixées par
Cam||
- Tente de supprimer le voyant de la caméra via une clé de registre (l'effet dépend du fabricant/pilote)
-
Ping_Net.dll
- Sonde RTT ICMP (défaut :
www.google.com.br)
- La commande optionnelle
mapa effectue une récupération HTTP(S) des URL fournies par l'attaquant
🧪 Validation du Builder (v2.6)
Une version crackée du builder DesckVB RAT (v2.6) a été exécutée dans un environnement de laboratoire totalement isolé pour comparer :
- la structure de la configuration
- la dénomination et la disposition des plugins
- la sémantique du protocole
- les conventions de versionnage
Le chevauchement entre la sortie du builder et les échantillons en direct montre une forte continuité entre les versions, soutenant le regroupement au niveau de l'écosystème.
🕵️ Lien avec la chaîne d'outils “Pjoao1578”
L'identifiant “Pjoao1578” apparaît de manière répétée et indépendante dans :
- les métadonnées
CompanyName dans plusieurs plugins
(Pjoao1578Developer)
- les chemins de débogage tels que :
...\DesckVB Rat\V2.9.0.0\DLL\Blugin Stub\
- Des rapports publics antérieurs liés à des chargeurs et outils associés
Conclusion correcte
- Preuve solide d'une chaîne d'outils / environnement de build / marque partagés
- Utile pour le regroupement et la chasse aux menaces
- Pas suffisant pour une attribution personnelle définitive
Le rapport évite intentionnellement la sur-attribution et traite ces indicateurs avec la rigueur analytique appropriée.
Les tableaux complets sont disponibles en annexe du rapport.
C2
manikandan83[.]mysynology[.]net:7535
URL de staging (exemples)
hxxps://andrefelipedonascime1768785037020[.]1552093[.]meusitehostgator[.]com[.]br/.../01.txt
.../02.txt
.../03.txt
.../PeYes
SHA256 (exemples)
- Stage 1 JS :
9d9cfe5b31a3b020e3c65d440d8355e33f7c056b087ec6aba3093ae1a099ac0
- PowerShell :
347621f7a3392939d9bdbe8a6c9fda30ba9d3f23cb6733484da8e2993772b7f3
- Chargeur :
a675f5a396de1fa732a9d83993884b397f02921bbcf34346fbed32c8f4053064
- RAT :
affb29980bc9564f1b03fe977e9ca5c7adf254656d639632c4d14e34aa4fdff6
- Plugin webcam :
ff051dde71487ea459899920ef7014dad8eee4df308eb360555f3e22232c9367
🛡️ Guide de détection et de chasse
Signaux sur le poste de travail
- JavaScript WSH obfusqué copié dans
C:\Users\Public\
- Exécution via
wscript.exe //nologo
- PowerShell construisant des tableaux d'octets décimaux +
Assembly.Load()
- Mutex :
nozgrb6ev4t4c7sc2hz7iwnnmmwahj54
- Masquage de processus (répertoires
Update.exe, Microsoft)
Signaux réseau
- Format de balise contenant :
Desk||<machine>||<user>||<locale>||2.9.0.0||
- Livraison de plugin via
RunBlugin||
- Délimiteur stable
|| et terminateur #Sucess#
📚 Méthodologie
- Analyse statique (chaînes, IL, métadonnées)
- Exécution dynamique dans un laboratoire isolé
- Reconstruction du trafic réseau à l'aide de PCAP historiques
- Exécution du builder pour comparaison structurelle
⚠️ Avertissement
Cette recherche est publiée à des fins défensives et analytiques uniquement.
- Aucun binaire malveillant n'est distribué
- Les indicateurs peuvent être réutilisés ou se dégrader avec le temps
- L'attribution est traitée de manière prudente :
- les preuves soutiennent le lien et le regroupement de chaînes d'outils
- pas une identification définitive d'un opérateur individuel
📎 Citation
Si vous référencez ou réutilisez cette recherche, veuillez lier :
- ce dépôt
- le rapport PDF complet
- le compte X de l'auteur (@ShadowOpCode)