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.

PE Obfuscation

hacking

Définition

L'obfuscation de PE (Portable Executable) désigne l'ensemble des techniques de transformation des fichiers exécutables Windows (.exe, .dll) pour déjouer les analyses statiques des antivirus, des outils d'analyse et des sandbox, tout en préservant la fonctionnalité du code. C'est une discipline centrale du développement de malwares et des techniques d'évasion offensives. Les techniques d'obfuscation PE incluent : le stripping des sections de debug (suppression des informations de symboles et de debug qui facilitent l'analyse), la modification des métadonnées PE (timestamps, noms de compilateur, checksums, signatures rich header), l'obfuscation des imports (encoder les noms des fonctions API importées, les résoudre dynamiquement via hashing, ou utiliser des forwarding chains), l'obfuscation des chaînes de caractères (XOR encoding, base64, caesar cipher sur toutes les strings du binaire), et le réordonnancement aléatoire des blocs de code. Les techniques de transformation structurelle incluent : l'insertion d'instructions inutiles (dead code, NOP équivalents, instructions de décoration), la substitution d'instructions (remplacer une instruction par une séquence équivalente moins connue), le flattening du graphe de contrôle (transformer le graphe d'exécution normale en une machine à états complexe difficile à analyser), et la virtualisation (remplacer le code natif par un bytecode interprété par une machine virtuelle custom embarquée dans le binaire). Des outils commerciaux comme VMProtect et Themida utilisent la virtualisation de code pour créer des binaires extrêmement résistants à l'analyse reverse engineering, utilisés aussi bien pour la protection DRM que par des malwares sophistiqués. Des outils open source comme ConfuserEx (pour .NET) et LLVM passes d'obfuscation offrent des capacités similaires dans des contextes offensifs. L'efficacité de l'obfuscation est testée contre les moteurs antivirus sur des plateformes comme antiscan.me (sans soumission à VirusTotal, qui distribue les samples) ou dans des environnements de test isolés avec des instances sandbox d'AV/EDR.

Fonctionnement

Une approche d'obfuscation en couches : 1) compiler le payload (ex: shellcode loader en C), 2) chiffrer le shellcode avec AES-128 et une clé aléatoire, 3) inclure la clé XOR avec une donnée environnementale (username, hostname) pour une évasion sandbox basique, 4) obfusquer les imports (résoudre GetProcAddress et VirtualAlloc via hash lookup), 5) obfusquer les strings avec XOR runtime-decoded, 6) packer le tout avec un packer custom. Résultat : une signature quasi-unique par build.

Exploitation offensive

Les red teams utilisent l'obfuscation PE pour des payloads qui doivent être déposés sur disque (via des exploits, des partages réseau, ou des vecteurs physiques) et résister à l'analyse statique des AV. La génération de payloads avec des obfuscations aléatoires (entropie cryptographique dans les clés de chiffrement) produit des fichiers uniques à chaque build, cassant les signatures basées sur les hachages ou les patterns fixes.

Détection et mitigation

L'analyse comportementale (sandbox) exécute le binaire dans un environnement contrôlé pour observer ses actions réelles, indépendamment de l'obfuscation. Les EDR avec emulation de code (pre-execution emulation) peuvent déterminer le comportement prévu avant l'exécution réelle. La détection basée sur l'entropie élevée (sections PE avec une entropie > 7.0 suggérant un chiffrement) est un indicateur supplémentaire.

Articles liés

Un projet cybersécurité ?

Expert dispo · Réponse 24h

Devis