Malfind Plugin Volatility
forensicsDéfinition
Malfind est l'un des plugins les plus utilisés du framework Volatility pour la détection d'injections de code malveillant en mémoire. Il analyse les régions de mémoire de chaque processus et identifie celles présentant des caractéristiques typiques du code injecté : permissions exécutables avec contenu non backed by fichier, en-têtes PE en mémoire dans des régions privées, et autres anomalies. Le principe technique de malfind repose sur l'analyse des VADs (Virtual Address Descriptors), les structures noyau Windows décrivant les régions de l'espace d'adressage virtuel de chaque processus. Malfind recherche spécifiquement les régions de mémoire qui sont : 1) PAGE_EXECUTE_READWRITE ou similaires (permissions à la fois exécutables et modifiables, combinaison suspecte car les sections de code légitimes sont généralement READ_EXECUTE), 2) private (non mappées sur un fichier), et 3) contenant ce qui ressemble à un en-tête MZ/PE (signature 4D 5A = 'MZ'). Les injections de code détectées par malfind incluent les techniques les plus communes : process injection classique (WriteProcessMemory + CreateRemoteThread), reflective DLL injection (DLL se décompressant et se chargeant elle-même en mémoire sans passer par LoadLibrary), process hollowing (vidage d'un processus légitime et remplacement par du code malveillant), atom bombing, et heap spray. Ces techniques sont utilisées par des malwares comme Cobalt Strike Beacon, Meterpreter, et de nombreux RAT/stagers. L'interprétation des résultats malfind requiert une validation manuelle. Des faux positifs existent : certaines applications légitimes utilisent des techniques de compilation JIT (Java, .NET, navigateurs) qui produisent des régions RWX contenant du code. malfind peut extraire les régions suspectes comme des fichiers PE (option --dump-dir) pour analyse statique ultérieure avec PEiD, YARA, ou VirusTotal. Dans Volatility 3, le plugin s'appelle windows.malfind et s'utilise : 'python vol.py -f memory.dmp windows.malfind' ou 'python vol.py -f memory.dmp windows.malfind --pid 1234' pour un processus spécifique.
Fonctionnement
malfind itère sur les VADs de chaque processus (via EPROCESS.VadRoot). Pour chaque région VAD marquée exécutable/privée, il lit les premiers octets en mémoire et teste la présence d'un en-tête MZ (0x4D 0x5A) ou d'instructions shellcode caractéristiques. Les résultats incluent le PID, l'adresse de base, la taille, les permissions et un hexdump.
Application DFIR
Workflow malfind : 1) Identifier les processus suspects (pslist/pstree), 2) Exécuter malfind sur ces processus (--pid), 3) Dump des régions suspectes avec --dump-dir, 4) Analyser les dumps avec YARA, VirusTotal, ou dans un sandbox. Les résultats malfind dans svchost.exe, lsass.exe, explorer.exe sont particulièrement préoccupants.
Outils
Volatility 3 : windows.malfind, Volatility 2 : malfind. Analyse des dumps extraits : YARA (yarascan), VirusTotal API, Detect-It-Easy, PEiD, strings. Pour la corrélation : windows.pslist, windows.cmdline, windows.netscan dans la même session d'analyse.
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