ATT&CK coverage › Technique

System Binary Proxy Execution: Rundll32 T1218.011

Adversaries may abuse rundll32.exe to proxy execution of malicious code. Using rundll32.exe, vice executing directly (i.e. Shared Modules), may avoid triggering security tools that may not monitor execution of the rundll32.exe process because of allowlists or false positives from normal operations. Rundll32.exe is commonly associated with executing DLL payloads (ex: <code>rundll32.exe {DLLname, DLLfunction}</code>).

Events covered

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

ProviderEvent IDTitle
Sysmon1Process creation
Sysmon3Network connection
Sysmon7Image loaded
Sysmon8CreateRemoteThread
Sysmon11FileCreate
Sysmon13RegistryEvent (Value Set)
Sysmon22DNSEvent (DNS query)
Security-Auditing4688A new process has been created.
Defender-DeviceImageLoadEvents9006000Image load (any)
Defender-DeviceProcessEvents9001000Process activity (any)

Authoring guide

Patterns shared across the 35 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 (25 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
Image24ends_with 23, eq 2, starts_with 1\rundll32.exe, \regsvr32.exe, \wmic.exe, \pwsh.exe, \WerFault.exe
CommandLine20match 16, ends_with 6, in 2, starts_with 1, is_null 1, eq 1rundll32.exe, regsvr32.exe, WerFault.exe, StartW, rundll32
OriginalFileName15eq 14, match 1, is_null 1RUNDLL32.EXE, COMSVCS.DLL, REGSVR32.EXE, RegSvcs.exe, CtxInstall
ParentImage9ends_with 7, eq 2, match 1\rundll32.exe, \AppData\Local\Microsoft\EdgeUpdate\Install\{, \AppData\Local\Google\Chrome\Application\, \Installer\setup.exe, \hh.exe
ParentCommandLine6match 6--uninstall , .cpl, --msedgewebview --verbose-logging --do-not-launch-msedge..., \AppData\Local\Microsoft\EdgeUpdate\Install\{, :\Users\
process_name4eq 4rundll32.exe, "rundll32.exe"
InitiatingProcessFileName2match 2rundll32.exe, regsvr32.exe, pwsh.exe, wscript.exe, powershell.exe
Initiated2eq 2true
dest_ip2cidr_match 210.0.0.0/8, ::1/128, fe80::/10, 20.0.0.0/8
DestinationPort2eq 1, ne 1443, 0
TargetFilename2ends_with 1, match 1, in 1.scr, :\$WINDOWS.~BT\NewOS\, :\Windows\SysWOW64\, "*.exe", "*.dll"
EventID2eq 222, 11
event.category1eq 1process
data_stream.dataset1eq 1windows.sysmon_operational
Imphash1eq 1EADBCCBB324829ACB5F2BBE87E5549A8

Top indicator values (279 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
Imageends_with\rundll32.exe1676
OriginalFileNameeqRUNDLL32.EXE1128
Imageends_with\regsvr32.exe557
process_nameeqrundll32.exe33
CommandLinematchrundll32.exe34
Imageends_with\cmd.exe392
Imageends_with\pwsh.exe3140
Imageends_with\powershell.exe3143
CommandLinematch.dll215
CommandLinematchLaunchApplication22
Imageends_with\msiexec.exe221
Imageends_with\cscript.exe264
Imageends_with\wscript.exe264
Imageends_with\wmic.exe237
Imageends_with\schtasks.exe245
Initiatedeqtrue240
dest_ipcidr_match10.0.0.0/8212
dest_ipcidr_matchfe80::/10212
dest_ipcidr_matchfc00::/7212
dest_ipcidr_match192.168.0.0/16212

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
file.nameeqCOMSVCS.DLL1
FileNameends_with.dll1
Imagein"*\\PROGRA~*"1
Imagein"*:\\Windows\\WinSxS\\*"1
Imagein"*:\\Windows\\System32\\*"1
Imagein"*:\\Windows\\SysWOW64\\*"1
Imagein"*\\Program Files \(x86\)\\"1
Imagein"*\\Program Files\\"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 27 rules

Elastic 1 rule

Splunk 5 rules

Kusto Query Language 2 rules