Cross-source coverage
T1134.004 / ATT&CK
Access Token Manipulation: Parent PID Spoofing
From MITRE ATT&CK 19.2
Adversaries may spoof the parent process identifier (PPID) of a new process to evade process-monitoring defenses or to elevate privileges. New processes are typically spawned directly from their parent, or calling, process unless explicitly specified. One way of explicitly assigning the PPID of a new process is via the CreateProcess API call, which supports a parameter that defines the PPID to use. This functionality is used by Windows features such as User Account Control (UAC) to correctly set the PPID after a requested elevated process is spawned by SYSTEM (typically via svchost.exe or consent.exe) rather than the current user context.
Adversaries may abuse these mechanisms to evade defenses, such as those blocking processes spawning directly from Office documents, and analysis targeting unusual/potentially malicious parent-child process relationships, such as spoofing the PPID of PowerShell/Rundll32 to be explorer.exe rather than an Office document delivered as part of Spearphishing Attachment. This spoofing could be executed via Visual Basic within a malicious Office document or any code that can perform Native API.
Explicitly assigning the PPID may also enable elevated privileges given appropriate access rights to the parent process. For example, an adversary in a privileged user context (i.e. administrator) may spawn a new process and assign the parent as a process running as SYSTEM (such as lsass.exe), causing the new process to be elevated via the inherited access token.
- Tactics
- Stealth · Privilege Escalation
- Platforms
- Windows
- Telemetry
-
WinEventLog:Securityetw:Microsoft-Windows-Kernel-Process
How MITRE says to detect it DET0489
Behavior-chain detection for T1134.004 Access Token Manipulation: Parent PID Spoofing (Windows)
Windows Analytic 1351
A process explicitly forges its parent using EXTENDED_STARTUPINFO + PROC_THREAD_ATTRIBUTE_PARENT_PROCESS (UpdateProcThreadAttribute → CreateProcess[A/W]/CreateProcessAsUserW) or other Native API paths, resulting in **mismatched/implausible lineage** across ETW EventHeader ProcessId, Security 4688 Creator Process ID/Name, and sysmon ParentProcessGuid. Often paired with privilege escalation when the chosen parent runs as SYSTEM.
WinEventLog:SecurityEventCode=4688etw:Microsoft-Windows-Kernel-Processapi_call: UpdateProcThreadAttribute (PROC_THREAD_ATTRIBUTE_PARENT_PROCESS) and CreateProcess* with EXTENDED_STARTUPINFO_PRESENT / StartupInfoExetw:Microsoft-Windows-Kernel-Processprocess_start: EventHeader.ProcessId true parent vs reported PPID mismatch
elastic/protections-artifacts
6 rules| Detection | Severity | Format |
|---|---|---|
| API Call from a Process with a Spoofed Parent | Undefined | Elastic TOML |
| Execution via Interactive Secondary Logon | Undefined | Elastic TOML |
| Parent Process PID Spoofing | Undefined | Elastic TOML |
| Potential Parent Process PID Spoofing via MalSecLogon | Undefined | Elastic TOML |
| Privilege Escalation via EXTENDED STARTUPINFO | Undefined | Elastic TOML |
| Suspicious Process with a Spoofed Parent | Undefined | Elastic TOML |
elastic/detection-rules
3 rules| Detection | Severity | Format |
|---|---|---|
| Parent Process PID Spoofing | High | Elastic TOML |
| Privileges Elevation via Parent Process PID Spoofing | High | Elastic TOML |
| Unusual Parent-Child Relationship | Medium | Elastic TOML |
splunk/security_content
2 rules| Detection | Severity | Format |
|---|---|---|
| Windows Parent PID Spoofing with Explorer | Undefined | SPL |
| Wscript Or Cscript Suspicious Child Process | Undefined | SPL |
SigmaHQ/sigma
1 rule| Detection | Severity | Format |
|---|---|---|
| HackTool - PPID Spoofing SelectMyParent Tool Execution | High | Sigma |