🔍 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 de 0xE9, 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