Aller au contenu principal
Expert Cybersécurité & IAv9.0
Centres de ressources conformité
Besoin d'un accompagnement expert ?
Devis personnalisé sous 24h — audit, conformité, incident
Checklists Sécurité — Audit & Durcissement
Formats disponibles
📄 PDF 📊 Excel 🌐 Web

11 checklists professionnelles couvrant 2 200+ points de contrôle. Téléchargement gratuit, aucune inscription.

Obfuscation Analysis Malware

forensics

Définition

L'analyse de l'obfuscation est la discipline forensique consistant à identifier et contourner les techniques utilisées par les malwares pour masquer leur code, leurs données, ou leurs communications. L'obfuscation est omniprésente dans les malwares modernes, des scripts PowerShell simples aux logiciels malveillants APT sophistiqués utilisant des techniques de virtualisation de code. Les techniques d'obfuscation courantes dans les malwares se classifient selon leur niveau de sophistication. L'obfuscation de chaînes de caractères consiste à XORer, base64-encoder, ou fractionner les strings sensibles pour éviter leur détection statique. L'obfuscation de flux de contrôle insère du code mort (dead code), des sauts inutiles, et des structures conditionnelles équivalentes pour compliquer l'analyse du désassemblage. Les malwares PowerShell utilisent abondamment l'encodage base64 (-EncodedCommand), la concaténation de variables ('Invo'+'ke-Expression'), et la substitution de caractères pour éviter les détections basées sur des mots-clés. Pour les malwares JavaScript (utilisés dans les campagnes de phishing via des pièces jointes .js ou .html), des obfuscateurs comme Obfuscator.io, JavaScriptObfuscator, ou des techniques JJEncode/AAAencode (scripts entièrement composés de caractères spéciaux) sont courants. Les outils de déobfuscation JavaScript comme de4js ou beautifier.io simplifient l'analyse initiale. FLOSS (FireEye Labs Obfuscated String Solver) est l'outil de référence pour la déobfuscation automatique des chaînes de caractères dans les binaires PE. Il émule les fonctions de déchiffrement détectées et extrait les strings en clair. CyberChef (GCHQ) est l'outil universel pour décoder manuellement des strings encodées en base64, XOR, ROT13, Hex, ou d'autres encodages courants, avec une interface visuelle de 'recipes' chaînées. Pour les malwares utilisant des VM (Virtual Machine-based obfuscation comme VMProtect), l'analyse requiert l'identification du bytecode de la VM propriétaire, la rédaction d'un lifter (convertisseur de bytecode VM en IR - Intermediate Representation), et une analyse symbolique de l'IR. C'est un travail de plusieurs semaines nécessitant une expertise avancée en reverse engineering.

Fonctionnement

L'obfuscation opère à différents niveaux : binaire (packing, chiffrement, virtualisation), assembleur (dead code, spaghetti code, instruction equivalents), source (PowerShell encode, JS obfuscators). La déobfuscation renverse ces transformations : dump post-unpack, émulation des routines de déchiffrement (FLOSS), beautification JavaScript, décodage base64/XOR manuel (CyberChef).

Application DFIR

Workflow déobfuscation : 1) Identifier le type d'obfuscation (strings XOR? PowerShell encode? JS obfuscated?), 2) Choisir l'outil adapté (FLOSS pour binaires, CyberChef pour strings manuelles, de4js pour JavaScript), 3) Extraire les IOCs (URLs, domaines, IPs, chemins), 4) Documenter la technique d'obfuscation pour le rapport (indique la sophistication de l'attaquant), 5) Créer des règles YARA sur les patterns de l'obfuscation pour détecter des variantes.

Outils

Binaires PE : FLOSS (strings obfusquées), x64dbg/OllyDbg (dynamic unpack). PowerShell : PSDecode (deobfuscation PS), Invoke-Deobfuscation, PowerShell Script Block Logging. JavaScript : de4js, jsnice.org, AST-based deobfuscators. Universel : CyberChef (GCHQ), Cryptii, dcode.fr. VM-based : VMNDH2-Decompiler, vmpDump (VMProtect).

Articles liés

Un projet cybersécurité ?

Expert dispo · Réponse 24h

Devis