🔍 Contexte

Publié le 14 mai 2026 par l’équipe LAT61 Threat Intelligence de Point Wild (Kedar Shashikant Pandit, Prathamesh Shingare, Amol Swami), cet article présente une analyse technique approfondie d’un échantillon Python packagé via PyInstaller, identifié comme un loader multi-étapes déployant le RAT XWorm V7.4.

🧩 Chaîne d’infection

L’exécutable initial est détecté comme PyInstaller [modified], suggérant une altération délibérée pour entraver l’analyse statique. Après extraction, le fichier .pyc malveillant principal est identifié : BA4Q6ACPMNrd980FwZn9iEbEqkjvRmw7FhW.pyc.

La chaîne d’exécution se déroule en plusieurs phases :

  • Phase 1 : Résolution dynamique d’API Windows via ctypes et décalage de caractères (chr(ord(c) - 1)) pour masquer les noms d’API sensibles
  • Phase 2 : Patching en mémoire d’AmsiScanBuffer via VirtualProtect et memmove avec les octets [184, 87, 0, 7, 128, 195] pour neutraliser l’inspection AMSI
  • Phase 3 : Décodage du blob embarqué via base64.b85decode, génération d’une clé SHA-512, puis boucle de transformation XOR/rotation
  • Phase 4 : Décompression via zlib.decompress et ajout de données aléatoires pour altérer les hachages
  • Phase 5 : Dépôt du payload dans %LOCALAPPDATA%\Win.Kernel_Svc_AJ8iOw.exe
  • Phase 6 : Modification des attributs fichier en Hidden + System (valeur 8198)
  • Phase 7 : Exécution silencieuse en arrière-plan sans fenêtre console
  • Phase 8 : Routine leurre _IAT_PHANTOM_FIX générant 1000 hachages SHA-512 pour consommer du temps d’analyse

🦠 Analyse du payload : afacan313131.exe (XWorm V7.4)

Le payload déchiffré est un assemblage .NET utilisant un déchiffrement AES-ECB à l’exécution pour protéger la configuration C2. Les éléments extraits incluent :

  • Version : XWorm V7.4
  • C2 : 68.219.64.89:4444 (TCP)
  • Clé AES : <V74PV74PV74PV74PV74P>
  • Mutex : implémenté pour garantir une instance unique

📡 Capacités post-compromission

  • Profilage système étendu (CPU/GPU/RAM via WMI, inventaire antivirus, webcam, UAC)
  • Génération d’un identifiant victime unique (ProcessorCount + UserName + MachineName + OSVersion)
  • Dispatcher de commandes chiffré AES : redémarrage, auto-suppression, mise à jour, exécution en mémoire (fileless), déploiement de payloads secondaires
  • Exécution DDoS via threads coordonnés
  • Invocation réflective de plugins .NET avec transmission des paramètres C2

🏷️ Type d’article

Analyse technique détaillée produite par une équipe de threat intelligence commerciale, visant à documenter les TTPs d’une campagne XWorm V7.4 et à promouvoir la solution UltraAV de Point Wild.

🧠 TTPs et IOCs détectés

TTP

  • T1059.006 — Command and Scripting Interpreter: Python (Execution)
  • T1543 — Create or Modify System Process (Persistence)
  • T1562.001 — Impair Defenses: Disable or Modify Tools (Defense Evasion)
  • T1140 — Deobfuscate/Decode Files or Information (Defense Evasion)
  • T1027 — Obfuscated Files or Information (Defense Evasion)
  • T1005 — Data from Local System (Collection)
  • T1095 — Non-Application Layer Protocol (Command and Control)
  • T1620 — Reflective Code Loading (Defense Evasion)
  • T1564.001 — Hide Artifacts: Hidden Files and Directories (Defense Evasion)
  • T1497 — Virtualization/Sandbox Evasion (Defense Evasion)
  • T1036.005 — Masquerading: Match Legitimate Name or Location (Defense Evasion)
  • T1573.001 — Encrypted Channel: Symmetric Cryptography (Command and Control)

IOC

  • IPv4 : 68.219.64.89AbuseIPDB · VT · ThreatFox
  • URLs : tcp://68.219.64.89:4444URLhaus
  • MD5 : c7a6f220f2ff7d6718a5b2f0e85f13ddVT · MalwareBazaar
  • MD5 : d4494a5b1430f7c5347408732cdbd668VT · MalwareBazaar
  • Fichiers : BA4Q6ACPMNrd980FwZn9iEbEqkjvRmw7FhW.pyc
  • Fichiers : afacan313131.exe
  • Fichiers : Win.Kernel_Svc_AJ8iOw.exe
  • Chemins : %LOCALAPPDATA%\Win.Kernel_Svc_AJ8iOw.exe

Malware / Outils

  • XWorm (rat)
  • PyInstaller (tool)

🟡 Indice de vérification factuelle : 63/100 (moyenne)

  • ⬜ pointwild.com — source non référencée (0pts)
  • ✅ 19355 chars — texte complet (fulltext extrait) (15pts)
  • ✅ 8 IOCs dont des hashes (15pts)
  • ✅ 1/2 IOC(s) confirmé(s) (AbuseIPDB, ThreatFox, URLhaus, VirusTotal) (8pts)
  • ✅ 12 TTPs MITRE identifiées (15pts)
  • ✅ date extraite du HTML source (10pts)
  • ⬜ aucun acteur de menace nommé (0pts)
  • ⬜ pas de CVE à vérifier (0pts)

IOCs confirmés externellement :

  • 68.219.64.89 (ip) → VT (8/92 détections)

🔗 Source originale : https://www.pointwild.com/threat-intelligence/from-pyinstaller-to-xworm-v7-4-infection-chain-analysis/