User Execution T1204

An adversary may rely upon specific actions by a user in order to gain execution. Users may be subjected to social engineering to get them to execute malicious code by, for example, opening a malicious document file or link. These user actions will typically be observed as follow-on behavior from forms of Phishing.

Events covered

30 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 8CreateRemoteThread
SysmonEvent ID 10ProcessAccess
SysmonEvent ID 11FileCreate
SysmonEvent ID 12RegistryEvent (Object create and delete)
SysmonEvent ID 13RegistryEvent (Value Set)
SysmonEvent ID 14RegistryEvent (Key and Value Rename)
Security-AuditingEvent ID 4656A handle to an object was requested.
Security-AuditingEvent ID 4663An attempt was made to access an object.
Security-AuditingEvent ID 4688A new process has been created.
Security-AuditingEvent ID 5156The Windows Filtering Platform has permitted a connection.
Defender-DeviceEventsCreateRemoteThreadApiCallCreateRemoteThread API call
Defender-DeviceFileEventsanyFile activity (any)
Defender-DeviceFileEventsFileCreatedFile created
Defender-DeviceImageLoadEventsanyImage load (any)
Defender-DeviceNetworkEventsConnectionSuccessConnection succeeded
Defender-DeviceProcessEventsProcessCreatedProcess created
AppLockerEvent ID 8004FilePathBuffer was prevented from running.
AppLockerEvent ID 8007FilePathBuffer was prevented from running.
AppLockerEvent ID 8022PackageBuffer was prevented from running.
AppLockerEvent ID 8025PackageBuffer was prevented from running.
AppXDeployment-ServerEvent ID 400Deployment DeploymentOperation operation with target volume MountPoint on Package PackageFullName from: Path finished successfully.
AppXDeployment-ServerEvent ID 603Started deployment DeploymentOperation operation on a package with main parameter Path and Options Flags and FlagsHigh.
AppXDeployment-ServerEvent ID 854Successfully added the following uri(s) to be processed: Path.
AppXDeployment-ServerEvent ID 855Finished resolving action lists.
AppxPackagingOMEvent ID 171The reader was created successfully for app package packageFullName.
PowerShellEvent ID 4103Payload Context: ContextInfo User Data: UserData.
PowerShellEvent ID 4104Creating Scriptblock text (MessageNumber of MessageTotal).

Authoring guide

Patterns shared across the 143 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 (56 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
process_name43eq 21, match 8, regex_match 7, in 4, ne 3, contains 1, wildcard 1cmd.exe, powershell.exe, (?i)msdt.exe, bitsadmin.exe, cscript.exe
EventID39eq 391, 4688, 4104, 4663, 11
CommandLine37contains 21, match 8, regex_match 6, in 5, ends_with 2, eq 1, wildcard 1#, (?i)PCWDiagnostic|invoke, (?i)cab|diagcab, (?i)DavWWWRoot, account
Image36ends_with 26, contains 4, wildcard 4, in 3, starts_with 2\excel.exe, \mspub.exe, \onenote.exe, \cmd.exe, ?:\users\*\downloads\*
parent_process_name34eq 14, match 9, regex_match 7, in 4, ends_with 1explorer.exe, 7zFM.exe, (?i)(Microsoft..., excel.exe, ((?i)(powershell\.exe)|(cmd\.exe)|(services\.exe)|(dllhos...
event.type26eq 26, ne 1start, creation, change, deletion
ParentImage19ends_with 16, contains 3, eq 1\eqnedt32.exe, \explorer.exe, \excel.exe, \msaccess.exe, \winword.exe
Type14eq 14
OriginalFileName11eq 11powershell.exe, powershell_ise.exe, cmd.exe, popupwrapper.exe, bitsadmin.exe
ImageLoaded10ends_with 5, contains 3, starts_with 3, regex_match 1.xll, .wll, :\programdata, [a-za-z]{5,6}\.wll, \\\\
TargetFilename10contains 7, ends_with 4, in 1, match 1, wildcard 1.bat, .cmd, .dll, (?i)\x5cdevice\x5ccdrom, *\\system32\\*
file.extension8eq 7, in 1exe, appinstaller, application, appx, bat
process.args8wildcard 4, contains 2, eq 2, starts_with 2, ends_with 1--single-argument, -i, -url, .+\.(wll|xll|ppa|ppam|xla|xlam|vsto), .msc
EventType6eq 5, in 2start, creation, CreateRemoteThreadApiCall, ProcessCreated, QueueUserApcRemoteApiCall
TargetObject6contains 4, ends_with 2\software\microsoft\windows\currentversion\explorer\runmru\, \software\microsoft\windows\currentversion\explorer\typed..., \appcompatflags\compatibility assistant\store\, \control\print\environments, \control\print\environments\windows

Top indicator values (921 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
20241
event.typeeq
creation
620
EventIDeq
1
13232
EventIDeq
4688
12312
EventIDeq
4104
4268
process_nameeq
powershell.exe
1199
process_nameeq
cmd.exe
1075
process_nameeq
pwsh.exe
960
process_nameeq
mshta.exe
828
process_nameeq
wscript.exe
826
process_nameeq
cscript.exe
622
process_nameeq
bitsadmin.exe
514
process_nameeq
msiexec.exe
522
parent_process_nameeq
explorer.exe
820
Imageends_with
\excel.exe
724
Imageends_with
\winword.exe
727
Imageends_with
\mspub.exe
511
Imageends_with
\outlook.exe
521
Imageends_with
\powerpnt.exe
519
Imageends_with
\cmd.exe
4134
Imageends_with
\cscript.exe
476
Imageends_with
\mshta.exe
469
Imageends_with
\onenote.exe
410
Imageends_with
\onenoteim.exe
46
Imageends_with
\rundll32.exe
4103
Imageends_with
\wscript.exe
478
ParentImageends_with
\winword.exe
610
ParentImageends_with
\eqnedt32.exe
45
ParentImageends_with
\explorer.exe
414
OriginalFileNameeq
powershell.exe
4121

Exclusions (192 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
dest_ipmatch
^(10\.|172\.(1[6-9]|2[0-9]|3[0-1])\.|192\.168\.|fc00:|fd00:|fe80:)
2
process.code_signature.trustedeq
true
2
process_nameeq
cmd.exe
2
process_nameregex_match
(?i)windowsupdatelog
2
Accounteq
AccountAllowList
1
CallingProcessstarts_with
svchost.exe,AppReadiness
1
CallingProcessstarts_with
sysprep.exe
1
CommandLinecontains
.docx
1
CommandLinecontains
.pptx
1
CommandLinecontains
.xlsx
1
CommandLinecontains
.xltx
1
CommandLinecontains
/dde
1
CommandLinecontains
/i
1
CommandLinecontains
dotx
1
CommandLinecontains
http://ad.foxitsoftware.com/adlog.php?
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 47 rules

Elastic 29 rules

Splunk 62 rules

Kusto 5 rules