Detection rules › Sigma
Run Once Task Configuration in Registry
Rule to detect the configuration of Run Once registry key. Configured payload can be run by runonce.exe /AlternateShellStartup
Known false positives
- Legitimate modification of the registry key by legitimate program
MITRE ATT&CK coverage
| Tactic | Techniques |
|---|---|
| Persistence | |
| Defense Impairment |
Telemetry coverage
Rule body
title: Run Once Task Configuration in Registry
id: c74d7efc-8826-45d9-b8bb-f04fac9e4eff
status: test
description: Rule to detect the configuration of Run Once registry key. Configured payload can be run by runonce.exe /AlternateShellStartup
references:
- https://twitter.com/pabraeken/status/990717080805789697
- https://lolbas-project.github.io/lolbas/Binaries/Runonce/
author: 'Avneet Singh @v3t0_, oscd.community'
date: 2020-11-15
modified: 2024-03-25
tags:
- attack.persistence
- attack.defense-impairment
- attack.t1112
logsource:
product: windows
category: registry_event
detection:
selection:
TargetObject|contains: '\Microsoft\Active Setup\Installed Components'
TargetObject|endswith: '\StubPath'
filter_optional_chrome:
Details|contains|all:
- 'C:\Program Files\Google\Chrome\Application\'
- '\Installer\chrmstp.exe" --configure-user-settings --verbose-logging --system-level' # In some cases the Details will contain an additional flag called "--channel=stable" at the end
filter_optional_edge:
Details|contains:
- 'C:\Program Files (x86)\Microsoft\Edge\Application\'
- 'C:\Program Files\Microsoft\Edge\Application\'
Details|endswith: '\Installer\setup.exe" --configure-user-settings --verbose-logging --system-level --msedge --channel=stable'
condition: selection and not 1 of filter_optional_*
falsepositives:
- Legitimate modification of the registry key by legitimate program
level: medium
Stages and Predicates
Stage 0: condition
selection and not 1 of filter_optional_*Stage 1: selection
selection:
TargetObject|contains: '\Microsoft\Active Setup\Installed Components'
TargetObject|endswith: '\StubPath'
Stage 2: not filter_optional_*
filter_optional_chrome:
Details|contains|all:
- 'C:\Program Files\Google\Chrome\Application\'
- '\Installer\chrmstp.exe" --configure-user-settings --verbose-logging --system-level'
filter_optional_edge:
Details|contains:
- 'C:\Program Files (x86)\Microsoft\Edge\Application\'
- 'C:\Program Files\Microsoft\Edge\Application\'
Details|endswith: '\Installer\setup.exe" --configure-user-settings --verbose-logging --system-level --msedge --channel=stable'
Exclusions
The rule actively suppresses these predicates.
| Field | Kind | Excluded values | Search |
|---|---|---|---|
Details | match | C:\Program Files (x86)\Microsoft\Edge\Application\ | excludes:Details field:"Details" value:"C:\Program Files (x86)\Microsoft\Edge\Application\" |
Details | match | C:\Program Files\Microsoft\Edge\Application\ | excludes:Details field:"Details" value:"C:\Program Files\Microsoft\Edge\Application\" |
Details | ends_with | \Installer\setup.exe" --configure-user-settings --verbose-logging --system-level --msedge --channel=stable | excludes:Details |
Details | match | C:\Program Files\Google\Chrome\Application\ | excludes:Details field:"Details" value:"C:\Program Files\Google\Chrome\Application\" |
Details | match | \Installer\chrmstp.exe" --configure-user-settings --verbose-logging --system-level | excludes:Details |
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
TargetObject | ends_with |
| field:"TargetObject" kind:ends_with value:"\StubPath" |
TargetObject | match |
| field:"TargetObject" kind:match value:"\Microsoft\Active Setup\Installed Components" |