🔍 Contexte
Publié le 31 mars 2026 par ThreatLabz (Zscaler), cet article constitue une analyse technique approfondie des évolutions introduites dans Xloader à partir de la version 8.1, un malware de type stealer/loader issu du rebranding de FormBook.
🛡️ Nouvelles techniques d’obfuscation (v8.1+)
Xloader v8.1 introduit plusieurs améliorations significatives pour contrer l’analyse automatisée et le reverse engineering :
- Construction désordonnée des paramètres « eggs » : les marqueurs de début et de fin des fonctions chiffrées sont désormais construits dans un ordre aléatoire et octet par octet, rendant le pattern matching inefficace.
- Obfuscation des prédicats opaques : les valeurs constantes hardcodées sont chiffrées via des opérations XOR au niveau bit, y compris les octets de prologue de fonctions.
- Routine de déchiffrement personnalisée obfusquée : la fonction de déchiffrement passe désormais par une structure de paramètres contenant des valeurs hardcodées chiffrées (ex. : déchiffrement de la taille de la S-box via la valeur
0x25+0xDB). - L’outil Miasm framework est recommandé pour reconstruire statiquement la pile obfusquée.
🌐 Protocole réseau et communication C2
Objectifs principaux d’Xloader :
- Exfiltration de credentials et cookies depuis navigateurs (Google Chrome) et clients mail (Microsoft Outlook).
- Exécution de commandes arbitraires et téléchargement de payloads supplémentaires.
Méthodes de communication HTTP :
- Raw TCP sockets : User-Agent variable imitant des navigateurs ; vérifie l’absence de hook sur
gethostbyname(détection de0xE9,0xEA,0xCC). - WinINet API (ex.
HttpSendRequest) : User-Agent fixe « Windows Explorer ».
Infrastructure C2 :
- 65 adresses IP C2 individuellement déchiffrées à l’exécution.
- 16 adresses sélectionnées aléatoirement à chaque cycle pour mélanger serveurs réels et leurres.
- Magic header XLNG utilisé dans les paquets réseau.
Chiffrement réseau (multi-couches RC4) :
- Clé RC4 hardcodée (première couche).
- Chiffrement via hash SHA-1 de l’URL C2.
- Clé RC4 dérivée du seed C2 URL.
- Encodage Base64 (avec substitution de caractères pour les POST :
+→-,/→_,=→.).
IDs de requêtes internes :
3: HTTP POST (exfiltration de credentials).6: HTTP GET (messages PKT2 / commandes).- IDs legacy non utilisés : 7, 8, 9, 10, 12.
⚙️ Commandes réseau supportées
| ID | Action |
|---|---|
| 1 | Exécution de PowerShell, EXE ou DLL |
| 2 | Mise à jour d’Xloader |
| 3 | Auto-suppression |
| 4 | Téléchargement/exécution de payload distant (RMTD/RMTU) ou local |
| 5 | Suppression des cookies navigateur |
| 6 | Vol de credentials |
| 7 | Redémarrage de l’hôte |
| 8 | Extinction de l’hôte |
| 9 | Non implémenté (XOR EAX, EAX + RET) |
📋 Type d’article
Il s’agit d’une analyse technique publiée par ThreatLabz, visant à documenter précisément les évolutions internes d’Xloader v8.1+ pour permettre aux analystes CTI et aux équipes de détection de mettre à jour leurs outils et signatures.
🧠 TTPs et IOCs détectés
TTP
- T1027 — Obfuscated Files or Information (Defense Evasion)
- T1027.002 — Obfuscated Files or Information: Software Packing (Defense Evasion)
- T1055 — Process Injection (Defense Evasion)
- T1573.001 — Encrypted Channel: Symmetric Cryptography (Command and Control)
- T1071.001 — Application Layer Protocol: Web Protocols (Command and Control)
- T1041 — Exfiltration Over C2 Channel (Exfiltration)
- T1539 — Steal Web Session Cookie (Credential Access)
- T1555 — Credentials from Password Stores (Credential Access)
- T1059.001 — Command and Scripting Interpreter: PowerShell (Execution)
- T1059.003 — Command and Scripting Interpreter: Windows Command Shell (Execution)
- T1105 — Ingress Tool Transfer (Command and Control)
- T1497 — Virtualization/Sandbox Evasion (Defense Evasion)
- T1562.001 — Impair Defenses: Disable or Modify Tools (Defense Evasion)
- T1529 — System Shutdown/Reboot (Impact)
Malware / Outils
- Xloader (stealer)
- FormBook (stealer)
🔗 Source originale : https://www.zscaler.com/blogs/security-research/latest-xloader-obfuscation-methods-and-network-protocol