Process Hollowing
hackingDéfinition
Le process hollowing (creusage de processus) est une technique d'injection de code qui crée un processus légitime en état suspendu, remplace son code par un payload malveillant, puis le reprend. Du point de vue du système, le processus malveillant apparaît comme un processus légitime (explorer.exe, svchost.exe, lsass.exe), masquant l'activité malveillante.
Les étapes techniques du process hollowing : 1) création d'un processus légitime en état suspendu (CreateProcess avec CREATE_SUSPENDED flag), 2) obtention de l'adresse de base du processus via NtQueryInformationProcess ou en parsant le PEB (Process Environment Block), 3) démapping du code original avec ZwUnmapViewOfSection ou NtUnmapViewOfSection, 4) allocation de nouvelle mémoire exécutable dans le processus avec VirtualAllocEx, 5) écriture du payload (PE file ou shellcode) dans la mémoire allouée avec WriteProcessMemory, 6) mise à jour du pointeur d'entrée dans le contexte du thread via SetThreadContext, 7) reprise du thread avec ResumeThread.
Des variantes incluent le Module Stomping (overwriting le code d'un module déjà chargé plutôt que de démasquer le code original, laissant le module apparent dans la liste des modules chargés), le PE Injection (injection d'un PE complet sans créer de nouveau processus), et le Process Doppelganging (utilisation de transactions NTFS pour créer un processus depuis un fichier 'fantôme').
Process Hollowing est utilisé par de nombreux malwares réels pour masquer leur activité : le ransomware Ryuk, le trojan Emotet, TrickBot, et de nombreux outils C2 utilisent des variantes de cette technique pour déployer leurs payloads dans des processus légitimes. L'avantage principal est la discrétion : les outils de surveillance des processus (Task Manager, Process Explorer) affichent le nom et le chemin du processus légitime, et les connexions réseau sont attribuées au processus légitime.
Les solutions EDR modernes détectent le process hollowing via la surveillance des APIs critiques (ZwUnmapViewOfSection, VirtualAllocEx cross-process, WriteProcessMemory, SetThreadContext), la vérification de cohérence entre l'image sur disque et le code en mémoire, et l'analyse de la liste des modules dans les processus.
Fonctionnement
La vérification de cohérence PE permet de détecter le hollowing : dans un processus hollowed, l'image en mémoire diffère de l'image sur disque (le hash du code en mémoire ne correspond pas au binaire d'origine). Process Explorer (Sysinternals) avec l'option de vérification d'image détecte cette discordance. GetMappedFileName() retourne l'image originale mais le code exécuté est différent.
Exploitation offensive
Process Hollowing avec svchost.exe comme host : l'attaquant crée un svchost.exe en état suspendu (processus légitime Windows), y injecte son beacon Cobalt Strike ou agent Meterpreter, puis reprend le thread. Les connexions réseau du C2 semblent provenir de svchost.exe, un processus attendu avec des connexions réseau. Cette technique est standard dans les campagnes APT sophistiquées.
Détection et mitigation
Les EDR avec kernel callbacks (PsSetCreateProcessNotifyRoutine) et userland hooks sur les APIs critiques détectent le process hollowing. Microsoft Defender for Endpoint inclut des détections spécifiques pour ZwUnmapViewOfSection cross-process et WriteProcessMemory vers des processus avec des flags CREATE_SUSPENDED. La vérification périodique de l'intégrité mémoire des processus système est également efficace.
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. 2.1.7
Un projet cybersécurité ?
Expert dispo · Réponse 24h