Detection rules › Sigma
Potential Process Hollowing Activity
Detects when a memory process image does not match the disk image, indicative of process hollowing.
MITRE ATT&CK coverage
| Tactic | Techniques |
|---|---|
| Privilege Escalation | |
| Stealth |
Telemetry coverage
| Provider | Record / event type |
|---|---|
| Sysmon | Event ID 25: ProcessTampering (Process image change) |
Rule body
title: Potential Process Hollowing Activity
id: c4b890e5-8d8c-4496-8c66-c805753817cd
status: test
description: Detects when a memory process image does not match the disk image, indicative of process hollowing.
references:
- https://twitter.com/SecurePeacock/status/1486054048390332423?s=20
- https://www.bleepingcomputer.com/news/microsoft/microsoft-sysmon-now-detects-malware-process-tampering-attempts/
author: Christopher Peacock '@securepeacock', SCYTHE '@scythe_io', Sittikorn S
date: 2022-01-25
modified: 2023-11-28
tags:
- attack.privilege-escalation
- attack.stealth
- attack.t1055.012
logsource:
product: windows
category: process_tampering
detection:
selection:
Type: 'Image is replaced'
filter_main_generic:
Image|contains:
- ':\Program Files (x86)'
- ':\Program Files\'
- ':\Windows\System32\wbem\WMIADAP.exe'
- ':\Windows\SysWOW64\wbem\WMIADAP.exe'
filter_optional_opera:
Image|contains: '\AppData\Local\Programs\Opera\'
Image|endswith: '\opera.exe'
filter_optional_edge:
Image|endswith: '\WindowsApps\MicrosoftEdge.exe'
condition: selection and not 1 of filter_main_* and not 1 of filter_optional_*
falsepositives:
- Unknown
level: medium
Stages and Predicates
Stage 0: condition
selection and not 1 of filter_main_* and not 1 of filter_optional_*Stage 1: selection
selection:
Type: 'Image is replaced'
Stage 2: not filter_main_generic
filter_main_generic:
Image|contains:
- ':\Program Files (x86)'
- ':\Program Files\'
- ':\Windows\System32\wbem\WMIADAP.exe'
- ':\Windows\SysWOW64\wbem\WMIADAP.exe'
Stage 3: not filter_optional_*
filter_optional_opera:
Image|contains: '\AppData\Local\Programs\Opera\'
Image|endswith: '\opera.exe'
filter_optional_edge:
Image|endswith: '\WindowsApps\MicrosoftEdge.exe'
Exclusions
The rule actively suppresses these predicates.
| Field | Kind | Excluded values | Search |
|---|---|---|---|
Image | match | :\Program Files (x86) | excludes:Image field:"Image" value:":\Program Files (x86)" |
Image | match | :\Program Files\ | excludes:Image field:"Image" value:":\Program Files\" |
Image | match | :\Windows\SysWOW64\wbem\WMIADAP.exe | excludes:Image field:"Image" value:":\Windows\SysWOW64\wbem\WMIADAP.exe" |
Image | match | :\Windows\System32\wbem\WMIADAP.exe | excludes:Image field:"Image" value:":\Windows\System32\wbem\WMIADAP.exe" |
Image | ends_with | \opera.exe | excludes:Image field:"Image" value:"\opera.exe" |
Image | match | \AppData\Local\Programs\Opera\ | excludes:Image field:"Image" value:"\AppData\Local\Programs\Opera\" |
Image | ends_with | \WindowsApps\MicrosoftEdge.exe | excludes:Image field:"Image" value:"\WindowsApps\MicrosoftEdge.exe" |
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
Type | eq |
| field:"Type" kind:eq value:"Image is replaced" |