Asi detecting-process-hollowing-technique

Detect process hollowing (T1055.012) by analyzing memory-mapped sections, hollowed process indicators, and parent-child process anomalies in EDR telemetry.

install
source · Clone the upstream repo
git clone https://github.com/plurigrid/asi
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/plurigrid/asi "$T" && mkdir -p ~/.claude/skills && cp -r "$T/plugins/asi/skills/detecting-process-hollowing-technique" ~/.claude/skills/plurigrid-asi-detecting-process-hollowing-technique && rm -rf "$T"
manifest: plugins/asi/skills/detecting-process-hollowing-technique/SKILL.md
source content

Detecting Process Hollowing Technique

When to Use

  • When investigating suspected fileless malware or in-memory threats
  • After EDR alerts on process injection or suspicious memory operations
  • When hunting for defense evasion techniques in a compromised environment
  • When threat intel reports indicate process hollowing in active campaigns
  • During purple team exercises validating T1055.012 detection coverage

Prerequisites

  • EDR with memory protection monitoring (CrowdStrike, MDE, SentinelOne)
  • Sysmon with Event IDs 1 (Process Create), 8 (CreateRemoteThread), 25 (ProcessTampering)
  • Windows ETW providers for process hollowing (Microsoft-Windows-Kernel-Process)
  • Memory forensics capabilities (Volatility, WinDbg)
  • Process integrity monitoring tools

Workflow

  1. Understand Hollowing Mechanics: Process hollowing involves creating a legitimate process in suspended state, unmapping its memory, writing malicious code, then resuming execution.
  2. Monitor Suspended Process Creation: Hunt for processes created with CREATE_SUSPENDED flag followed by memory writes and thread resumption.
  3. Detect Memory Section Anomalies: Identify processes where the in-memory image differs from the on-disk binary (image mismatch).
  4. Analyze Parent-Child Process Trees: Flag processes whose behavior does not match their binary name (e.g., svchost.exe making unusual network connections).
  5. Check Process Integrity: Compare process memory sections against the legitimate binary on disk.
  6. Correlate with Network Activity: Hollowed processes often establish C2 connections - correlate suspicious process behavior with network logs.
  7. Document and Contain: Report findings, isolate affected endpoints, and update detection rules.

Key Concepts

ConceptDescription
T1055.012Process Injection: Process Hollowing
T1055Process Injection (parent technique)
T1055.001DLL Injection
T1055.003Thread Execution Hijacking
T1055.004Asynchronous Procedure Call
CREATE_SUSPENDEDWindows flag to create a process in suspended state
NtUnmapViewOfSectionAPI to unmap process memory sections
WriteProcessMemoryAPI to write into another process's memory
ResumeThreadAPI to resume a suspended thread
Image MismatchProcess memory content differs from on-disk binary
Process DoppelgangingRelated technique using NTFS transactions (T1055.013)

Tools & Systems

ToolPurpose
CrowdStrike FalconMemory protection and hollowing detection
Microsoft Defender for EndpointProcessTampering alerts
Sysmon v13+Event ID 25 ProcessTampering detection
VolatilityMemory forensics - malfind plugin
pe-sieveProcess memory scanner for hollowed processes
Hollows HunterAutomated hollowed process detection
Process HackerLive process memory inspection
API MonitorMonitor NtUnmapViewOfSection calls

Common Scenarios

  1. Svchost.exe Hollowing: Malware creates svchost.exe suspended, hollows it, injects backdoor code - process appears legitimate but behaves maliciously.
  2. Explorer.exe Hollowing: Attacker hollows explorer.exe to inherit its network permissions and trusted process context.
  3. Rundll32 Hollowing: Malicious loader creates rundll32.exe, replaces its memory with implant code for C2 beaconing.
  4. Multi-Stage Hollowing: Loader uses process hollowing as first stage, then performs additional injection into services.

Output Format

Hunt ID: TH-HOLLOW-[DATE]-[SEQ]
Technique: T1055.012
Hollowed Process: [Process name and PID]
Original Binary: [Expected on-disk path]
Parent Process: [Parent name and PID]
Memory Mismatch: [Yes/No]
Suspicious APIs: [NtUnmapViewOfSection, WriteProcessMemory, etc.]
Network Activity: [C2 connections if any]
Host: [Hostname]
User: [Account context]
Risk Level: [Critical/High/Medium/Low]