Windows Service Created by Client With PID 0 or Parent PID 0

Alerts on Windows service installs (EID 4697) where the client or parent PID is 0.

FreeReviewedSigma · High · v2
Product
windows
Service
security
Author
Tim Rauch (Nextron Systems), Elastic (idea) (SigmaHQ), DRL 1.1
Published
2022-09-15
Updated
2026-07-31

ATT&CK techniques

Persistence → Priv Esc
  1. Recon

  2. Resource Dev

  3. Initial Access

  4. Execution

  5. Defense Evasion

  6. Cred Access

  7. Discovery

  8. Lateral Movement

  9. Collection

  10. C2

  11. Exfiltration

  12. Impact

What it detects

This rule flags Windows service creation events (Security Event ID 4697) where the creating client process ID is 0 or the parent process ID is 0. Attackers may use anomalous service installation patterns to establish persistence while reducing traceability. The detection relies on Windows Security audit telemetry for EventID 4697 and the ClientProcessId/ParentProcessId fields contained in that event.

Related detections9 linkedT1543 — drag to rearrange
Suspicious GitHub Actions Runner In Hidden Directory via Shell (via process_creation)
Suspicious Self-Hosted GitHub Actions Runner Started As Root via Shell (via process_creation)
Suspicious GitHub Self-Hosted Runner Registration via Audit Log (via github)
Malicious Fire Ant Hypervisor Backdoor Artifacts on ESXi and vCenter (via file_event)
Suspicious D-Bus System Service Persistence File Creation
Malicious BRICKSTORM Backdoor Execution via Masqueraded Binary Path
Suspicious SonicWall SMA init.d Persistence Launching deploy_new.py
Malicious Linux XorDDoS gcc.pid Device Marker File via file_event
Windows Code Integrity: Blocked Driver Load Due to Revoked Certificate (Event ID 3023)
Windows Service Created by Client With PID 0 or Parent PID 0
Pivot detection · T1543 · 9 related

Changelog

v2
  1. v2
    Candidate ingested via manual entry.2026-07-31
  2. v1
    No changelog recorded for this version.2026-07-30

Detection content is published as a reviewed draft. Tune thresholds and exclusions against your own telemetry before enabling this rule for alerting.