System Binary Proxy Execution: InstallUtil T1218.004

Tactic: Stealth

Adversaries may use InstallUtil to proxy execution of code through a trusted Windows utility. InstallUtil is a command-line utility that allows for installation and uninstallation of resources by executing specific installer components specified in .NET binaries. The InstallUtil binary may also be digitally signed by Microsoft and located in the .NET directories on a Windows system: C:\Windows\Microsoft.NET\Framework\v<version>\InstallUtil.exe and C:\Windows\Microsoft.NET\Framework64\v<version>\InstallUtil.exe.

Events covered

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

Authoring guide

Patterns shared across the 16 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 (17 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_name15eq 15installutil.exe, bginfo.exe, arp.exe, atbroker.exe, cmstp.exe
event.type9eq 9start
parent_process_name6eq 6AcroRd32.exe, Acrobat.exe, FoxitPhantomPDF.exe, Microsoft.SharePoint.Migration.ClientInstaller.exe, cmd.exe
OriginalFileName5eq 4, in 1installutil.exe, cscript.exe, msbuild.exe
process.args3starts_with 2, eq 1C:\Intel\, -n, C:\$Recycle.Bin\, C:\AMD\Temp\, C:\PerfLogs\
CommandLine2in 2*/u*, *http://*, *https://*, *uninstall*
11eq 11
DestinationPort1ne 10
EventID1eq 17
EventType1eq 1start
Image1wildcard 1?:\users\*\appdata\*.exe
ImageLoaded1in 1*\\samlib.dll, *\\vaultcli.dll
Initiated1eq 1egress, outgoing
ParentImage1eq 1?:\program files (x86)\teamcity\jre\bin\java.exe, ?:\program files\teamcity\jre\bin\java.exe, ?:\teamcity\buildagent\jre\bin\java.exe
dns.question.name1is_not_null 1

Top indicator values (178 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
process_nameeq
installutil.exe
1418
process_nameeq
mshta.exe
731
process_nameeq
regsvr32.exe
725
process_nameeq
wscript.exe
729
process_nameeq
cmstp.exe
610
process_nameeq
cscript.exe
625
process_nameeq
ieexec.exe
68
process_nameeq
iexpress.exe
68
process_nameeq
microsoft.workflow.compiler.exe
68
process_nameeq
msxsl.exe
69
process_nameeq
powershell.exe
6104
process_nameeq
regasm.exe
611
process_nameeq
regsvcs.exe
610
process_nameeq
bginfo.exe
56
process_nameeq
cdb.exe
57
process_nameeq
certutil.exe
522
process_nameeq
cmd.exe
577
process_nameeq
csi.exe
56
process_nameeq
dnx.exe
56
process_nameeq
fsi.exe
56
process_nameeq
odbcconf.exe
510
process_nameeq
ping.exe
59
process_nameeq
pwsh.exe
562
process_nameeq
rcsi.exe
56
process_nameeq
wmic.exe
547
process_nameeq
xwizard.exe
59
process_nameeq
arp.exe
48
process_nameeq
atbroker.exe
45
event.typeeq
start
9606
OriginalFileNameeq
installutil.exe
411

Exclusions (102 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
process_nameeq
cmd.exe
2
process_nameeq
powershell.exe
2
process_nameeq
regsvr32.exe
2
process_nameeq
rundll32.exe
2
user.ideq
S-1-5-18
2
CommandLinecontains
c:\\windows\\ccm\\
1
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
Imagein
*:\\windows\\adws\\*
1
Imagein
*:\\windows\\microsoft.net\\*
1
Imagein
*:\\windows\\networkcontroller\\*
1
Imagein
*:\\windows\\system32\\*
1
Imagein
*:\\windows\\systemapps\\*
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)

Elastic 10 rules

Splunk 6 rules