System Script Proxy Execution T1216

Tactic: Stealth

Adversaries may use trusted scripts, often signed with certificates, to proxy the execution of malicious files. Several Microsoft signed scripts that have been downloaded from Microsoft or are default on Windows installations can be used to proxy execution of other files. This behavior may be abused by adversaries to execute malicious files that could bypass application control and signature validation on systems.

Events covered

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

Authoring guide

Patterns shared across the 19 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 (14 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
CommandLine14contains 12, regex_match 2(?i)\s+-[ilsx]*c[ilsx]*, ;, -nologo -windowstyle minimized -file , -r:http, \?
Image8ends_with 4, eq 2, starts_with 1, wildcard 1\cmd.exe, \powershell.exe, ?:\users\*\appdata\*.exe, \cscript.exe, \pwsh.exe
ParentImage5ends_with 5\powershell.exe, \pwsh.exe, \cscript.exe, \customshellhost.exe, \sigverif.exe
process_name4regex_match 2, eq 1, in 1(?i)bash\.exe, cscript.exe, certutil.exe, ieexec.exe, wscript.exe
EventID2eq 21, 4688
OriginalFileName2eq 2cscript.exe, wscript.exe
ParentCommandLine2contains 2\windowspowershell\modules\pester\, manage-bde.wsf, { get-help ", { invoke-pester -enableexit ;
event_count2lt 25
EventType1eq 1start
TargetFilename1ends_with 1, starts_with 1c:\windows\system32\, c:\windows\syswow64\, wsmpty.xsl
Type1eq 1
parent_process_name1eq 1cmd.exe
process.args1eq 1-n
process.code_signature.trusted1ne 1true

Top indicator values (83 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
CommandLinecontains
;
22
CommandLinecontains
winrm
22
CommandLinecontains
-nologo -windowstyle minimized -file
1
CommandLinecontains
-r:http
1
CommandLinecontains
\?
1
CommandLinecontains
\appdata\local\temp\
126
CommandLinecontains
\pubprn.vbs
1
CommandLinecontains
\syncappvpublishingserver.vbs
1
CommandLinecontains
\windows\temp\
112
CommandLinecontains
format:"pretty"
1
CommandLinecontains
format:"text"
1
CommandLinecontains
format:pretty
1
CommandLinecontains
format:text
1
CommandLinecontains
get-help
1
CommandLinecontains
help
1
CommandLinecontains
invoke create wmicimv2/win32_
1
CommandLinecontains
launch-vsdevshell.ps1
1
CommandLinecontains
loadassemblyfromns
1
CommandLinecontains
loadassemblyfrompath
1
CommandLinecontains
manage-bde.wsf
1
CommandLinecontains
pester
1
CommandLinecontains
regsnapin
1
CommandLinecontains
script:
1
CommandLineregex_match
(?i)\s+-[ilsx]*c[ilsx]*
22
Imageends_with
\cmd.exe
2130
Imageends_with
\powershell.exe
2182
ParentImageends_with
\powershell.exe
224
ParentImageends_with
\pwsh.exe
221
event_countlt
5
23
process_nameregex_match
(?i)bash\.exe
22

Exclusions (29 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
CommandLineeq
driver\DPInst_x64 /f
1
CurrentDirectorywildcard
?:\Users\*\AppData\Local\Temp\BackupBootstrapper\Logs\
1
CurrentDirectorywildcard
?:\Users\*\AppData\Local\Temp\QBTools\
1
CurrentDirectorywildcard
?:\Windows\TempInst\*
1
Imageends_with
\cmd.exe
1
Imageeq
c:\windows\explorer.exe
1
Imageeq
c:\windows\system32\werfault.exe
1
Imageeq
c:\windows\syswow64\werfault.exe
1
Imagestarts_with
c:\windows\system32\
1
Imagestarts_with
c:\windows\syswow64\
1
OriginalFileNameeq
dpinst.exe
1
ParentCommandLinecontains
screenconnectconfigurator.cmd
1
TargetFilenamestarts_with
c:\windows\system32\
1
TargetFilenamestarts_with
c:\windows\syswow64\
1
process.argseq
?:\Windows\SysWOW64\mschrt20.ocx
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.

Platform (all)
Domain (all)

Sigma 15 rules

Elastic 1 rule

Splunk 3 rules