Windows: Rundll32 Loading shell32.dll via Control_RunDLL from User/Temp Paths

Alerts on rundll32.exe loading shell32.dll with Control_RunDLL from AppData/Temp/user paths.

FreeReviewedSigma · High · v1
Product
windows
Category
process_creation
Author
Christian Burkard (Nextron Systems) (SigmaHQ), DRL 1.1
Published
2021-11-24
Updated
2026-07-30

ATT&CK techniques

Defense Evasion
  1. Recon

  2. Resource Dev

  3. Initial Access

  4. Execution

  5. Persistence

  6. Priv Esc

  7. Defense Evasion

  8. Cred Access

  9. Discovery

  10. Lateral Movement

  11. Collection

  12. C2

  13. Exfiltration

  14. Impact

What it detects

This rule flags process creation where rundll32.exe is launched with parameters that load shell32.dll and include the Control_RunDLL invocation. It further requires the command line to reference user or temporary directory locations such as AppData, LocalAppData, Temp/tmp, or public user paths, which can indicate staging or stealthy DLL loading. The detection relies on Windows process creation telemetry, matching rundll32 image identification and command-line substrings.

Related detections9 linkedT1218.011 — drag to rearrange
Malicious Zardoor Backdoor Execution via rundll32 (via process_creation)
Malicious Rundll32 Loading an Export From a User Path (via process_creation)
Renamed Regsvr32 or Rundll32 Loading a DLL With a Non-Standard Extension (via process_creation)
Malicious Rundll32 DllRegisterServer Execution From a User-Writable Path (via process_creation)
IMEEX Framework DLL Execution via Rundll32 Loading imaadp (via process_creation)
Suspicious Persistence via pcalua Launching rundll32 Control_RunDLL
Suspicious Rundll32 Executing DLL Start Export With Control Flags
Suspicious Rundll32 Execution of Timestamp-Named DLL
Suspicious Rundll32 Loading DLL from LocalAppData with Short Export (via process_creation)
Windows: Rundll32 Loading shell32.dll via Control_RunDLL from User/Temp Paths
Pivot detection · T1218.011 · 9 related

Detection content is published as a reviewed draft. Tune thresholds and exclusions against your own telemetry before enabling this rule for alerting.