Detection rules › Sigma
Regsvr32 DLL Execution With Uncommon Extension
Detects a "regsvr32" execution where the DLL doesn't contain a common file extension.
Known false positives
- Other legitimate extensions currently not in the list either from third party or specific Windows components.
MITRE ATT&CK coverage
| Tactic | Techniques |
|---|---|
| Execution | |
| Stealth |
Telemetry coverage
| Provider | Record / event type |
|---|---|
| Sysmon | Event ID 1: Process creation |
Rule body
title: Regsvr32 DLL Execution With Uncommon Extension
id: 50919691-7302-437f-8e10-1fe088afa145
status: test
description: Detects a "regsvr32" execution where the DLL doesn't contain a common file extension.
references:
- https://app.any.run/tasks/34221348-072d-4b70-93f3-aa71f6ebecad/
author: Florian Roth (Nextron Systems)
date: 2019-07-17
modified: 2023-05-24
tags:
- attack.privilege-escalation
- attack.persistence
- attack.stealth
- attack.t1574
- attack.execution
logsource:
category: process_creation
product: windows
detection:
selection:
- Image|endswith: '\regsvr32.exe'
- OriginalFileName: 'REGSVR32.EXE'
filter_main_legit_ext:
CommandLine|contains:
# Note: For better accuracy you might not want to use contains
- '.ax'
- '.cpl'
- '.dll' # Covers ".dll.mui"
- '.ocx'
filter_optional_pascal:
CommandLine|contains: '.ppl'
filter_optional_avg:
CommandLine|contains: '.bav'
filter_main_null_4688:
CommandLine: null
filter_main_empty_4688:
CommandLine: ''
condition: selection and not 1 of filter_main_* and not 1 of filter_optional_*
falsepositives:
- Other legitimate extensions currently not in the list either from third party or specific Windows components.
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:
- Image|endswith: '\regsvr32.exe'
- OriginalFileName: 'REGSVR32.EXE'
Stage 2: not filter_main_*
filter_main_legit_ext:
CommandLine|contains:
- '.ax'
- '.cpl'
- '.dll'
- '.ocx'
filter_main_null_4688:
CommandLine: null
filter_main_empty_4688:
CommandLine: ''
Stage 3: not filter_optional_*
filter_optional_pascal:
CommandLine|contains: '.ppl'
filter_optional_avg:
CommandLine|contains: '.bav'
Exclusions
The rule actively suppresses these predicates.
| Field | Kind | Excluded values | Search |
|---|---|---|---|
CommandLine | is_null | excludes:CommandLine | |
CommandLine | match | .ax | excludes:CommandLine field:"CommandLine" value:".ax" |
CommandLine | match | .cpl | excludes:CommandLine field:"CommandLine" value:".cpl" |
CommandLine | match | .dll | excludes:CommandLine field:"CommandLine" value:".dll" |
CommandLine | match | .ocx | excludes:CommandLine field:"CommandLine" value:".ocx" |
CommandLine | match | .bav | excludes:CommandLine field:"CommandLine" value:".bav" |
CommandLine | match | .ppl | excludes:CommandLine field:"CommandLine" value:".ppl" |
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
Image | ends_with |
| field:"Image" kind:ends_with value:"\regsvr32.exe" |
OriginalFileName | eq |
| field:"OriginalFileName" kind:eq value:"REGSVR32.EXE" |