ATT&CK coverage › Technique

Boot or Logon Autostart Execution T1547

Adversaries may configure system settings to automatically execute a program during system boot or logon to maintain persistence or gain higher-level privileges on compromised systems. Operating systems may have mechanisms for automatically running a program on system boot or account logon. These mechanisms may include automatically executing programs that are placed in specially designated directories or are referenced by repositories that store configuration information, such as the Windows Registry. An adversary may achieve the same goal by modifying or extending features of the kernel.

Events covered

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

ProviderEvent IDTitle
Sysmon1Process creation
Sysmon5Process terminated
Sysmon7Image loaded
Sysmon11FileCreate
Sysmon12RegistryEvent (Object create and delete)
Sysmon13RegistryEvent (Value Set)
Sysmon14RegistryEvent (Key and Value Rename)
Security-Auditing4688A new process has been created.
Security-Auditing4689A process has exited.
Security-Auditing5136A directory service object was modified.
Security-Auditing5145A network share object was checked to see whether client can be granted desired access.

Authoring guide

Patterns shared across the 11 rules above: which fields they filter on, what specific values they look for, and what they exclude. Field names are normalized 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 (19 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
CommandLine3match 3RegRead, window.close, Execute, .inf, -i
Image3ends_with 2, eq 1, starts_with 1C:\Windows\system32\atbroker.exe, C:\Windows\Installer\MSI, \explorer.exe, \pnputil.exe
TargetObject3match 2, ends_with 1Software\Microsoft\Windows..., \Microsoft\Windows NT\CurrentVersion\Accessibility\Configuration, Software\Microsoft\Windows NT\CurrentVersion\Accessibility\ATs, \CLSID\{645FF040-5081-101B-9F08-00AA002F954E}\shell\open\..., Software\Microsoft\Windows\CurrentVersion\Run\Backup Mgr
RelativeTargetName2ends_with 2\scripts.ini, \psscripts.ini
AttributeValue2match 242B5FAAE-6536-11D2-AE5A-0000F87571E3, 40B66650-4972-11D1-A7CA-0000F87571E3, 40B6664F-4972-11D1-A7CA-0000F87571E3
AccessList2match 2%%4417
AttributeLDAPDisplayName2eq 2gPCUserExtensionNames, gPCMachineExtensionNames
ShareName2wildcard 1, ends_with 1\\*\SYSVOL, \SYSVOL
Process1ends_with 1rundll32.exe
Details1eq 1(Empty)
TargetFilename1match 1.lnk.{0AFACED1-E828-11D1-9187-B532F1E9575D}, \Microsoft\Windows\Start Menu\Programs\Startup
EventType1eq 1RenameKey, SetValue
NewName1match 1\CLSID\{645FF040-5081-101B-9F08-00AA002F954E}\shell\open
ImageLoaded1in 1"C:\\Windows\\SysWow64\\*", "C:\\Program Files\\*", "C:\\Program Files \(x86\)\\*"
Company1eq 1"Microsoft Corporation"

Top indicator values (44 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.

FieldKindValueRules (here)Corpus reach
AttributeLDAPDisplayNameeqgPCMachineExtensionNames24
AttributeValuematch40B66650-4972-11D1-A7CA-0000F87571E32
RelativeTargetNameends_with\scripts.ini2
AttributeLDAPDisplayNameeqgPCUserExtensionNames22
RelativeTargetNameends_with\psscripts.ini2
AttributeValuematch42B5FAAE-6536-11D2-AE5A-0000F87571E32
AccessListmatch%%441723
AttributeValuematch40B6664F-4972-11D1-A7CA-0000F87571E32
ShareNamewildcard\\*\SYSVOL12
CommandLinematchExecute1
Processends_withrundll32.exe1
CommandLinematchRegRead1
CommandLinematchwindow.close1
TargetObjectmatch\Microsoft\Windows NT\CurrentVersion\Accessibility\Configuration1
ImageeqC:\Windows\system32\atbroker.exe1
TargetObjectmatchSoftware\Microsoft\Windows NT\CurrentVersion\Accessibility\Configuration1
Detailseq(Empty)124
TargetObjectmatchSoftware\Microsoft\Windows NT\CurrentVersion\Accessibility\ATs1
Imagestarts_withC:\Windows\Installer\MSI13
TargetFilenamematch\Microsoft\Windows\Start Menu\Programs\Startup1

Common exclusions (8 distinct)

Field/operator/value combinations that rules under this technique routinely exclude (top-level not() clauses). 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.

FieldKindValueRules excluding
Imagein"C:\\Windows\\System32\\*"1
Imagein"C:\\Program Files \(x86\)\\*"1
Imagein"C:\\Windows\\SysWow64\\*"1
ImageLoadedin"C:\\Program Files\\*"1
ImageLoadedin"C:\\Program Files \(x86\)\\*"1
Imagein"C:\\Program Files\\*"1
ImageLoadedin"C:\\Windows\\System32\\*"1
ImageLoadedin"C:\\Windows\\SysWow64\\*"1

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.

Sigma 7 rules

Elastic 1 rule

Splunk 1 rule

Kusto Query Language 2 rules