Detection rules › Sigma
Windows Processes Suspicious Parent Directory
Detect suspicious parent processes of well-known Windows processes
Known false positives
- Some security products seem to spawn these
MITRE ATT&CK coverage
Telemetry coverage
| Provider | Record / event type |
|---|---|
| Sysmon | Event ID 1: Process creation |
| Security-Auditing | Event ID 4688: A new process has been created. |
Rule body
title: Windows Processes Suspicious Parent Directory
id: 96036718-71cc-4027-a538-d1587e0006a7
status: test
description: Detect suspicious parent processes of well-known Windows processes
references:
- https://web.archive.org/web/20180718061628/https://securitybytes.io/blue-team-fundamentals-part-two-windows-processes-759fe15965e2
- https://www.carbonblack.com/2014/06/10/screenshot-demo-hunt-evil-faster-than-ever-with-carbon-black/
- https://www.13cubed.com/downloads/windows_process_genealogy_v2.pdf
author: vburov
date: 2019-02-23
modified: 2025-03-06
tags:
- attack.stealth
- attack.t1036.003
- attack.t1036.005
logsource:
category: process_creation
product: windows
detection:
selection:
Image|endswith:
- '\svchost.exe'
- '\taskhost.exe'
- '\lsm.exe'
- '\lsass.exe'
- '\services.exe'
- '\lsaiso.exe'
- '\csrss.exe'
- '\wininit.exe'
- '\winlogon.exe'
filter_sys:
- ParentImage|endswith:
- '\SavService.exe'
- '\ngen.exe'
- ParentImage|contains:
- '\System32\'
- '\SysWOW64\'
filter_msmpeng:
ParentImage|contains:
- '\Windows Defender\'
- '\Microsoft Security Client\'
ParentImage|endswith: '\MsMpEng.exe'
filter_null:
- ParentImage: null
- ParentImage:
- ''
- '-'
condition: selection and not 1 of filter_*
falsepositives:
- Some security products seem to spawn these
level: low
Stages and Predicates
Stage 0: condition
selection and not 1 of filter_*Stage 1: selection
selection:
Image|endswith:
- '\svchost.exe'
- '\taskhost.exe'
- '\lsm.exe'
- '\lsass.exe'
- '\services.exe'
- '\lsaiso.exe'
- '\csrss.exe'
- '\wininit.exe'
- '\winlogon.exe'
Stage 2: not filter_*
filter_sys:
- ParentImage|endswith:
- '\SavService.exe'
- '\ngen.exe'
- ParentImage|contains:
- '\System32\'
- '\SysWOW64\'
filter_msmpeng:
ParentImage|contains:
- '\Windows Defender\'
- '\Microsoft Security Client\'
ParentImage|endswith: '\MsMpEng.exe'
filter_null:
- ParentImage: null
- ParentImage:
- ''
- '-'
Exclusions
The rule actively suppresses these predicates.
| Field | Kind | Excluded values | Search |
|---|---|---|---|
ParentImage | match | \Microsoft Security Client\ | excludes:ParentImage field:"ParentImage" value:"\Microsoft Security Client\" |
ParentImage | match | \Windows Defender\ | excludes:ParentImage field:"ParentImage" value:"\Windows Defender\" |
ParentImage | ends_with | \MsMpEng.exe | excludes:ParentImage field:"ParentImage" value:"\MsMpEng.exe" |
ParentImage | ends_with | \SavService.exe | excludes:ParentImage field:"ParentImage" value:"\SavService.exe" |
ParentImage | ends_with | \ngen.exe | excludes:ParentImage field:"ParentImage" value:"\ngen.exe" |
ParentImage | eq | - | excludes:ParentImage field:"ParentImage" value:"-" |
ParentImage | is_null | excludes:ParentImage | |
ParentImage | match | \SysWOW64\ | excludes:ParentImage field:"ParentImage" value:"\SysWOW64\" |
ParentImage | match | \System32\ | excludes:ParentImage field:"ParentImage" value:"\System32\" |
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
Image | ends_with |
| field:"Image" kind:ends_with |