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.

Process Hollowing Detection

forensics

Définition

Le Process Hollowing (ou Process Replacement, ou RunPE) est une technique d'injection de code qui crée un processus légitime en état suspendu, remplace son code par du code malveillant, puis reprend l'exécution. Le résultat est un processus malveillant apparaissant comme un processus légitime (explorer.exe, svchost.exe, notepad.exe) dans les listes de processus, contournant les détections basées sur les noms de processus. Le déroulement technique du process hollowing est le suivant : CreateProcess avec le flag CREATE_SUSPENDED crée le processus cible en état suspendu ; NtUnmapViewOfSection détache la mémoire originale de l'image exécutable du processus ; VirtualAllocEx alloue de la mémoire dans le processus cible pour le payload malveillant ; WriteProcessMemory copie le payload PE malveillant dans cette nouvelle mémoire ; les registres du thread suspendu (via SetThreadContext) sont mis à jour pour pointer vers le nouveau point d'entrée ; ResumeThread reprend l'exécution du code malveillant sous l'identité du processus légitime. Forensiquement, le process hollowing laisse plusieurs artefacts détectables en mémoire. La discordance entre le chemin d'image sur disque (disk path) et le contenu de la mémoire est le marqueur principal : le module malfind de Volatility détecte les régions de mémoire privées exécutables contenant un en-tête PE, qui correspondent aux payloads hollowed. De plus, le plugin dlllist montrera que le module principal du processus n'est pas mappé normalement (VAD with mapped file vs VAD private). D'autres indicateurs incluent : la comparaison du hash du processus en mémoire avec le hash du fichier sur disque (different = compromis), des segments de mémoire non alignés sur les sections PE attendues, et l'absence de chemins de fichiers valides pour la région de code principale dans les handles du processus.

Fonctionnement

Le process hollowing exploite le mécanisme Windows de création de processus suspendus. La détection en mémoire repose sur la comparaison entre la section de code attendue (mappée depuis le fichier PE sur disque) et la section de code réelle (privée = hollowed). Volatility compare les informations de la structure EPROCESS avec les VADs pour identifier les discordances.

Application DFIR

Détection avec Volatility : windows.malfind (régions privées exécutables), windows.dlllist (modules sans chemin ou avec chemin invalide), windows.cmdline (arguments du processus). Corréler avec : chemin d'image du processus vs contenu mémoire (comparer les hashes MD5). Les processus svchost.exe avec des sous-processus ou des connexions réseau inhabituels sont des candidats prioritaires.

Outils

Volatility 3 : windows.malfind, windows.dlllist, windows.memmap. PE-sieve (hasherezade, détection process hollowing live), Moneta (live memory scanner), Process Hacker (Memory tab pour identifier les régions privées exécutables). YARA rules pour les payloads communs (Cobalt Strike, Meterpreter).

Articles liés

Un projet cybersécurité ?

Expert dispo · Réponse 24h

Devis