1---2name: detecting-process-hollowing-technique3description: Detect process hollowing (T1055.012) by analyzing memory-mapped sections, hollowed process indicators, and parent-child process anomalies in EDR telemetry.4license: Apache-2.05---67# Detecting Process Hollowing Technique89## When to Use1011- When investigating suspected fileless malware or in-memory threats12- After EDR alerts on process injection or suspicious memory operations13- When hunting for defense evasion techniques in a compromised environment14- When threat intel reports indicate process hollowing in active campaigns15- During purple team exercises validating T1055.012 detection coverage1617## Detection Gaps & Validation1819- **Event ID 25 requires Sysmon 13+:** ProcessTampering (the cleanest hollowing signal) does not exist on older agents — confirm the Sysmon version or you silently miss every hollowing event. EID 25 also only flags image/section divergence, not all RunPE variants.20- **CREATE_SUSPENDED is not logged directly:** the suspended-create → unmap → write → resume chain has no single event. Stitch EID 1 (process create) + EID 8 (CreateRemoteThread) + EID 10 (ProcessAccess `0x0008 PROCESS_VM_OPERATION` / `0x0020 PROCESS_VM_WRITE`) on the same target PID.21- **Image-mismatch hunting:** compare Sysmon EID 7 (ImageLoaded) `OriginalFileName`/hash against the on-disk path; a `svchost.exe` with no `services.exe` parent (EID 1 ParentImage) and outbound EID 3 is a strong tell.22- **Evasions:** process doppelgänging (T1055.013, NTFS transactions) and process ghosting bypass EID 25; module stomping reuses a legit DLL's memory so ImageLoaded looks clean — fall back to pe-sieve, Hollows Hunter, or Moneta memory scans.23- **Validate:** run Atomic Red Team **T1055.012** (or a known RunPE PoC) and confirm EID 25 plus the EID 8/10 correlation fire in the SIEM.24- **Tune FPs:** debuggers, AV/EDR, and installers legitimately write cross-process memory — exclude by signed SourceImage and known RMM/security tooling, not by target name.2526## Prerequisites2728- EDR with memory protection monitoring (CrowdStrike, MDE, SentinelOne)29- Sysmon with Event IDs 1 (Process Create), 8 (CreateRemoteThread), 25 (ProcessTampering)30- Windows ETW providers for process hollowing (Microsoft-Windows-Kernel-Process)31- Memory forensics capabilities (Volatility, WinDbg)32- Process integrity monitoring tools3334## Workflow35361. **Understand Hollowing Mechanics**: Process hollowing involves creating a legitimate process in suspended state, unmapping its memory, writing malicious code, then resuming execution.372. **Monitor Suspended Process Creation**: Hunt for processes created with CREATE_SUSPENDED flag followed by memory writes and thread resumption.383. **Detect Memory Section Anomalies**: Identify processes where the in-memory image differs from the on-disk binary (image mismatch).394. **Analyze Parent-Child Process Trees**: Flag processes whose behavior does not match their binary name (e.g., svchost.exe making unusual network connections).405. **Check Process Integrity**: Compare process memory sections against the legitimate binary on disk.416. **Correlate with Network Activity**: Hollowed processes often establish C2 connections - correlate suspicious process behavior with network logs.427. **Document and Contain**: Report findings, isolate affected endpoints, and update detection rules.4344## Key Concepts4546| Concept | Description |47|---------|-------------|48| T1055.012 | Process Injection: Process Hollowing |49| T1055 | Process Injection (parent technique) |50| T1055.001 | DLL Injection |51| T1055.003 | Thread Execution Hijacking |52| T1055.004 | Asynchronous Procedure Call |53| CREATE_SUSPENDED | Windows flag to create a process in suspended state |54| NtUnmapViewOfSection | API to unmap process memory sections |55| WriteProcessMemory | API to write into another process's memory |56| ResumeThread | API to resume a suspended thread |57| Image Mismatch | Process memory content differs from on-disk binary |58| Process Doppelganging | Related technique using NTFS transactions (T1055.013) |5960## Tools & Systems6162| Tool | Purpose |63|------|---------|64| CrowdStrike Falcon | Memory protection and hollowing detection |65| Microsoft Defender for Endpoint | ProcessTampering alerts |66| Sysmon v13+ | Event ID 25 ProcessTampering detection |67| Volatility | Memory forensics - malfind plugin |68| pe-sieve | Process memory scanner for hollowed processes |69| Hollows Hunter | Automated hollowed process detection |70| Process Hacker | Live process memory inspection |71| API Monitor | Monitor NtUnmapViewOfSection calls |7273## Common Scenarios74751. **Svchost.exe Hollowing**: Malware creates svchost.exe suspended, hollows it, injects backdoor code - process appears legitimate but behaves maliciously.762. **Explorer.exe Hollowing**: Attacker hollows explorer.exe to inherit its network permissions and trusted process context.773. **Rundll32 Hollowing**: Malicious loader creates rundll32.exe, replaces its memory with implant code for C2 beaconing.784. **Multi-Stage Hollowing**: Loader uses process hollowing as first stage, then performs additional injection into services.7980## Output Format8182```83Hunt ID: TH-HOLLOW-[DATE]-[SEQ]84Technique: T1055.01285Hollowed Process: [Process name and PID]86Original Binary: [Expected on-disk path]87Parent Process: [Parent name and PID]88Memory Mismatch: [Yes/No]89Suspicious APIs: [NtUnmapViewOfSection, WriteProcessMemory, etc.]90Network Activity: [C2 connections if any]91Host: [Hostname]92User: [Account context]93Risk Level: [Critical/High/Medium/Low]94```