Packer Detection Malware
forensicsDéfinition
Un packer est un outil qui compresse, chiffre, ou obfusque un fichier exécutable pour masquer son contenu original et contourner les détections antivirus. La détection des packers est une étape clé de l'analyse forensique de malwares car elle détermine si l'analyse statique directe est possible ou si un processus d'unpackaging est nécessaire. Les packers fonctionnent en encapsulant le code original dans un 'stub' de décompression : lors de l'exécution, le stub décompresse le payload original en mémoire et lui transfère le contrôle. Du point de vue de l'analyse forensique, le binaire sur disque ne contient pas le code malveillant réel — celui-ci n'existe qu'en mémoire pendant l'exécution. C'est pour cela qu'un malware packé peut avoir un score de détection nul sur VirusTotal tout en étant très dangereux. UPX (Ultimate Packer for eXecutables) est le packer le plus répandu, open source, et facilement détectable par sa signature dans les en-têtes de sections PE ('.UPX0', '.UPX1'). L'unpack est trivial : 'upx -d malware.exe'. Les packers commerciaux ou custom (Themida, VMProtect, Obsidium, custom XOR) sont beaucoup plus complexes à analyser et nécessitent une analyse dynamique. Les outils de détection de packers incluent Detect-It-Easy (DIE) qui identifie le compilateur, le linker, et le packer d'un binaire avec une base de signatures constamment mise à jour. PEiD est l'outil historique avec plus de 600 signatures. YARA rules spécifiques aux packers permettent une détection automatisée à grande échelle. L'analyse d'entropie est une approche complémentaire : les sections packées ont une entropie proche de 8 (le maximum, caractéristique du chiffrement ou de la compression) contrairement aux sections de code non packées (entropie ~6-7). Pour les malwares utilisant des protections anti-analyse (VMProtect, Themida), des techniques de virtualisation du code (remplacement des instructions originales par des bytecodes d'une machine virtuelle propriétaire) rendent le décompilage et le désassemblage extrêmement difficiles, nécessitant des outils spécialisés ou de l'émulation.
Fonctionnement
Un packer UPX typique : en-têtes PE modifiés (.UPX0, .UPX1, .UPX2), sections de code compressées avec LZMA/NRV, stub de décompression en section .UPX0. À l'exécution : stub décompresse le payload en .UPX1, applique les relocations, et saute à l'OEP (Original Entry Point). L'entropie des sections packées est ~7.9 contre ~6.2 pour le code normal.
Application DFIR
Workflow packer detection : 1) DIE sur le binaire (identification packer + version), 2) Si UPX : 'upx -d' directement, 3) Si packer custom : analyse dynamique dans OllyDbg/x64dbg jusqu'à l'OEP (detect via ESP/memory breakpoint), 4) Dump à l'OEP avec OllyDump ou Scylla, 5) Reconstruire l'IAT avec ImportREC ou Scylla. Analyser le binaire unpacked statiquement avec Ghidra/IDA.
Outils
Détection : Detect-It-Easy/DIE (référence), PEiD, ExeinfoPE. Unpack automatique : UPX -d, unpacme.com (service en ligne). Unpack manuel : OllyDbg + OllyDump, x64dbg + Scylla, Qiling (émulation + unpack). Analyse entropie : binwalk, PEStudio (graphe d'entropie), peframe. YARA : règles packer dans YARA-Rules GitHub.
Articles liés
Expert en cybersécurité offensive et intelligence artificielle. Pentest, audit et développement IA sur-mesure.
Services
- Audit Infrastructure
- Audit Kubernetes
- Audit Microsoft 365
- Audit Sécurité Réseau
- Analyse de Risques
- Audit Active Directory
- Audit Application Web
- Audit Cloud (AWS/Azure/GCP)
- Audit Messagerie
- Audit API (OWASP Top 10)
- Audit DevSecOps & CI/CD
- Audit Code Source (SAST)
- Audit Postes de Travail
- Audit Sauvegarde & Résilience
- Audit OT/SCADA (IEC 62443)
- Développement IA
- Formations
Ressources
Projets & Outils
© 2026 Ayi NEDJIMI Consultants. Tous droits réservés.
Un projet cybersécurité ?
Expert dispo · Réponse 24h