RUNDLL32
REGSVR32
SQUIBLYDOO
SCROBJ.DLL
DetectionBlue TeamSOCOctober 12, 2026•9 min read

Detecting Rundll32 and Regsvr32 Proxy Execution

Two signed binaries run attacker code for countless intrusions. Neither should talk to the internet or load a DLL from a temp folder.

Scroll

Rundll32 loads and runs an exported function from a DLL; regsvr32 registers COM servers and, with the right switches, will fetch and execute a remote scriptlet. Both are signed, both are present everywhere and both turn up in loaders, macro droppers and credential dumping. The legitimate usage envelope is narrow, which is what makes them detectable.

Signals at a Glance

SignalWhereATT&CK
regsvr32 /s /n /u /i:http(s) with scrobj.dll (squiblydoo)Sysmon 1, 4688T1218.010
regsvr32 loading a DLL or .sct from a user-writable pathSysmon 1, 7T1218.010
rundll32 with javascript:, vbscript: or a UNC or http pathSysmon 1, 4688T1218.011
rundll32 invoking comsvcs.dll MiniDump, or calling an ordinal such as #1 or #24Sysmon 1T1218.011
regsvr32 or rundll32 making outbound network connectionsSysmon 3T1218

Regsvr32 and Squiblydoo

Squiblydoo abuses regsvr32 to download and run a scriptlet through scrobj.dll without writing to disk, which also sidesteps some application control. Real registration work does not use a remote URL, so the pattern is both simple and reliable:

title: Regsvr32 Remote Scriptlet or Suspicious DLL Path
logsource:
  product: windows
  category: process_creation
detection:
  image:
    - Image|endswith: '\regsvr32.exe'
    - OriginalFileName: 'REGSVR32.EXE'
  remote:
    CommandLine|contains:
      - 'scrobj.dll'
      - '/i:http'
      - '/i:\\'
      - ' /n '
  user_path:
    CommandLine|contains:
      - '\AppData\'
      - '\Temp\'
      - '\Users\Public\'
      - '\ProgramData\'
  condition: image and (remote or user_path)
level: high
# tune/validate: some software registers DLLs from ProgramData during install.

Rundll32 Patterns

Rundll32 has more legitimate use, so rank by arguments rather than alerting on the binary. These indicators are worth separate rules; the Splunk search below combines the highest-fidelity ones:

index=sysmon EventCode=1 (Image="*\\rundll32.exe" OR OriginalFileName="RUNDLL32.EXE")
  (CommandLine="*javascript:*" OR CommandLine="*vbscript:*"
   OR CommandLine="*comsvcs*MiniDump*" OR CommandLine="*comsvcs*#24*"
   OR CommandLine="*\\\\*,*" OR CommandLine="*http*,*"
   OR CommandLine IN ("*AppData*.dll,*","*\\Temp\\*.dll,*","*Public*.dll,*"))
| stats count values(ParentImage) as parents by host, user, CommandLine
| sort - count
`comment("tune/validate: confirm the MiniDump pattern also has a dedicated, higher-severity credential rule")`
Vetted sources

Use LOLBAS entries for Rundll32 and Regsvr32, the SigmaHQ rules for squiblydoo, scrobj.dll and rundll32 abuse, Elastic’s detections for both, Splunk ESCU content, MITRE CAR analytics and Atomic Red Team tests for T1218.010 and T1218.011. Baseline your own environment — installers and shell extensions use both binaries.

Build Detections That Fire

Mjolnir Security helps blue teams turn threat intelligence into high-fidelity detections across endpoint, network, identity and cloud telemetry.

Detection EngineeringManaged Detection & ResponseThreat HuntingIncident ResponsePurple Teaming
  • Detection Engineering We build and tune detections mapped to ATT&CK from your own telemetry.
  • Threat Hunting as a Service Hypothesis-driven hunts for the behaviours on this page.
  • 24/7 Incident Response Containment when a detection fires. Call +1 833 403 5875.
Written by: Mjolnir Threat Research (MTAC)  |  Published: October 12, 2026  |  Last reviewed: October 12, 2026