Event Triggered Execution T1546

Tactics: Privilege Escalation, Persistence

Adversaries may establish persistence and/or elevate privileges using system mechanisms that trigger execution based on specific events. Various operating systems have means to monitor and subscribe to events such as logons or other user activity such as running specific applications/binaries. Cloud environments may also support various functions and services that monitor and can be invoked in response to specific cloud events.

Events covered

36 catalog events are tagged with this technique by at least one rule.

ProviderEventTitle
SysmonEvent ID 1Process creation
SysmonEvent ID 3Network connection
SysmonEvent ID 7Image loaded
SysmonEvent ID 11FileCreate
SysmonEvent ID 12RegistryEvent (Object create and delete)
SysmonEvent ID 13RegistryEvent (Value Set)
SysmonEvent ID 14RegistryEvent (Key and Value Rename)
SysmonEvent ID 19WmiEvent (WmiEventFilter activity detected)
SysmonEvent ID 20WmiEvent (WmiEventConsumer activity detected)
SysmonEvent ID 21WmiEvent (WmiEventConsumerToFilter activity detected)
SysmonEvent ID 23FileDelete (File Delete archived)
SysmonEvent ID 26FileDeleteDetected (File Delete logged)
Security-AuditingEvent ID 4624An account was successfully logged on.
Security-AuditingEvent ID 4656A handle to an object was requested.
Security-AuditingEvent ID 4657A registry value was modified.
Security-AuditingEvent ID 4662An operation was performed on an object.
Security-AuditingEvent ID 4663An attempt was made to access an object.
Security-AuditingEvent ID 4688A new process has been created.
Security-AuditingEvent ID 5136A directory service object was modified.
Security-AuditingEvent ID 5156The Windows Filtering Platform has permitted a connection.
Defender-DeviceFileEventsanyFile activity (any)
Defender-DeviceNetworkEventsanyNetwork activity (any)
Defender-DeviceNetworkEventsConnectionSuccessConnection succeeded
Defender-DeviceRegistryEventsRegistryValueSetRegistry value set
ESFexecProcess Execution (Notify)
ESFcreateFile or Directory Create (NOTIFY)
ESFwriteFile Write (NOTIFY)
Linux-AuditdEvent ID 1302PATH
MSSQLSERVEREvent ID 8128Event ID 8128
PowerShellEvent ID 4103Payload Context: ContextInfo User Data: UserData.
PowerShellEvent ID 4104Creating Scriptblock text (MessageNumber of MessageTotal).
ProcessExitMonitorEvent ID 3000The process 'param1' exited with exit code param2.
WMI-ActivityEvent ID 21WMI Events were bound.
WMI-ActivityEvent ID 5859Namespace = Operation_EssStarted.NamespaceName; NotificationQuery = Operation_EssStarted.Query; OwnerName = Operation_EssStarted.User; HostProcessID = Operation_EssStarted.Processid; Provider= Operation_EssStarted.Provider, queryID = Operation_EssStarted.queryid; PossibleCause = Operation_EssStarted.PossibleCause.
WMI-ActivityEvent ID 5861Namespace = Operation_ESStoConsumerBinding.Namespace; Eventfilter = Operation_ESStoConsumerBinding.ESS (refer to its activate eventid:5859); Consumer = Operation_ESStoConsumerBinding.CONSUMER; PossibleCause = Operation_ESStoConsumerBinding.PossibleCause.
PowerShellEvent ID 800Event ID 800

Authoring guide

Patterns shared across the 212 rules above: which fields they filter on, what specific values they look for, and what they exclude. The catalog normalizes field names across vendors so Sigma's Image, Elastic's process.name, and Splunk's process_name collapse into one row. Each rule contributes at most once per row.

Fields filtered most (128 distinct)

The fields most rules look at when detecting this technique. The How column shows the operators authors use (eq, wildcard, regex_match, match) and how often each appears. Sample values are concrete examples to start from, not an exhaustive list.

FieldRulesHowSample values
Image46ends_with 25, eq 7, contains 6, is_not_null 6, starts_with 4, ne 2, wildcard 1\cmd.exe, \reg.exe, \netsh.exe, \outlook.exe, \powershell.exe
event.type42eq 37, ne 3, in 2start, change, creation, deletion, process_started
EventType41eq 24, in 14, ne 2, starts_with 1exec, creation, ProcessRollup2, modification, rename
CommandLine40contains 29, regex_match 7, in 3, ends_with 2, match 2, eq 1, is_null 1, wildcard 1(?i)(vi|vim|nano|visudo|edit|copy\s+con|cat|more|gc|get-c..., (?i)Debugger.+\x5c(cmd|pwsh|powershell)\.exe, add, displayswitch.exe, (?i)(sethc|utilman|osk|Magnify|Narrator|DisplaySwitch|atb...
host.os.type38eq 37, in 1
TargetObject37contains 17, ends_with 16, wildcard 5, eq 1, match 1, starts_with 1\software\microsoft\netsh, \software\microsoft\windows..., \software\microsoft\windows nt\currentversion\image file..., (?i)debugger, (default)
TargetFilename35wildcard 16, ends_with 9, contains 7, starts_with 7\microsoft\outlook\vbaproject.otm, */.vscode/extensions/*mcp*, */appdata/roaming/cursor/*mcp*, .git/hooks/, .plist
process_name33eq 12, in 10, wildcard 5, match 4, ends_with 2, regex_match 2, is_not_null 1, starts_with 1bash, csh, dash, (?i)(cmd|cscript|mshta|powershell|pwsh|regsvr32|rundll32|..., (?i)dllhost
EventID29eq 294688, 1, 13, 4104, 21
Details24contains 11, eq 8, is_not_null 2, length_compare 2, ge 1, is_null 1, match 1, regex_match 1, wildcard 1(Empty), %temp%, %appdata%, %tmp%, 0
parent_process_name23eq 12, in 3, regex_match 3, contains 2, match 2, ends_with 1, is_null 1(?i)(WmiPrvSE), (?i)cleanmgr\.exe, apt, (?i)winlogon\.exe, CompatTelRunner.exe
process.args17eq 6, starts_with 6, in 5, wildcard 3, contains 1, ends_with 1, ne 1-c, --install, -i, .git/hooks/, * /dev/shm/*
OriginalFileName14eq 13, starts_with 1cmd.exe, reg.exe, powershell.exe, pwsh.dll, sdbinst.exe
Type10eq 10account, email_iep, host
ParentImage8ends_with 6, eq 2\winlogon.exe, /usr/sbin/sshd, \edgetransport.exe, \msiexec.exe, \services.exe

Top indicator values (1452 distinct)

Specific (field, operator, value) combinations the rules check for, ranked by how many rules under this technique use each one. The Corpus reach column counts how many rules across the entire catalog (any technique) check the same combination. High numbers point to widely-used indicators that are likely noisy on their own; combine them with another condition for useful signal. Blank means the combination is specific to rules under this technique. Click a value to expand the rules under this technique that use it.

FieldKindValueRules (here)Corpus reach
event.typeeq
start
22606
event.typeeq
change
1077
event.typeeq
creation
545
EventIDeq
4688
10313
EventIDeq
1
7237
EventIDeq
13
422
EventIDeq
4104
4268
process_namein
bash
988
process_namein
sh
983
process_namein
zsh
982
process_namein
csh
771
process_namein
dash
678
process_namein
fish
672
process_namein
ksh
673
process_namein
tcsh
669
EventTypeeq
exec
8171
EventTypeeq
modification
415
EventTypein
exec
7171
EventTypein
creation
623
EventTypein
ProcessRollup2
5117
EventTypein
rename
518
EventTypein
start
5134
EventTypein
exec_event
4139
Imageends_with
\cmd.exe
5130
Imageends_with
\reg.exe
458
CommandLinecontains
add
434
CommandLinecontains
sethc.exe
44
CommandLineregex_match
(?i)(vi|vim|nano|visudo|edit|copy\s+con|cat|more|gc|get-content|type|\>\>|\>)...
44
Detailseq
(Empty)
42
OriginalFileNameeq
reg.exe
442

Exclusions (632 distinct)

Field/operator/value combinations excluded by rules under this technique (top-level not() clauses), sorted by how many rules exclude each. These are the false-positive paths the community has learned to filter out. A new rule that ignores the high-count entries here will likely fire on the same noisy paths. Click a value to expand the rules under this technique that exclude it.

FieldKindValueRules excluding
Imagein
/usr/bin/podman
12
Imagein
/usr/bin/dockerd
11
Imagein
./usr/bin/podman
10
Imagein
/bin/podman
10
Imagein
/bin/yum
10
Imagein
/usr/bin/dnf
10
Imagein
/usr/bin/yum
10
Imagein
/usr/sbin/dockerd
10
Imagein
/bin/autossl_check
9
Imagein
/bin/chef-client
9
Imagein
/bin/dnf
9
Imagein
/bin/dnf-automatic
9
Imagein
/bin/dockerd
9
Imagein
/bin/microdnf
9
Imagein
/bin/puppet
9

Rules under this technique

Every rule in the catalog tagged with this technique, grouped by vendor. Click a rule title for its full predicates, exclusions, and indicators.

Platform (all)
Domain (all)

Sigma 77 rules

Elastic 62 rules

Splunk 42 rules

Kusto 29 rules

Panther 2 rules