Rundll32.exe DLL Export Calls by Ordinal (Windows Process Creation)
Detects rundll32.exe commands that specify DLL exports by ordinal using “.dll #” syntax.
- Product
- windows
- Category
- process_creation
- Author
- Florian Roth (Nextron Systems) (SigmaHQ), DRL 1.1
- Published
- 2019-10-22
- Updated
- 2026-07-31
ATT&CK techniques
Defense EvasionRecon
Resource Dev
Initial Access
Execution
Persistence
Priv Esc
Defense Evasion
Cred Access
Discovery
Lateral Movement
Collection
C2
Exfiltration
Impact
What it detects
This rule identifies process creation events where rundll32.exe loads a DLL export using an ordinal notation (e.g., strings containing ',#' and '.dll #' or '.ocx #'). Using ordinal-based export calls can obscure intent and is a common technique in stealthy execution chains. It relies on Windows process creation telemetry, matching the Image/OriginalFileName for rundll32.exe and specific patterns in the CommandLine. Optional exclusions reduce matches for known benign tooling patterns.
Reporting behind it
- web.archive.orghttps://web.archive.org/web/20200530031906/https://techtalk.pcmatic.com/2017/11/30/running-dll-files-malware-analysis/
- github.comhttps://github.com/Neo23x0/DLLRunner
- twitter.comhttps://twitter.com/cyb3rops/status/1186631731543236608
- welivesecurity.comhttps://www.welivesecurity.com/2022/03/01/isaacwiper-hermeticwizard-wiper-worm-targeting-ukraine/
- github.comhttps://github.com/SigmaHQ/sigma/blob/master/rules-threat-hunting/windows/process_creation/proc_creation_win_rundll32_by_ordinal.yml
Changelog
v5- v5Candidate ingested via manual entry.2026-07-31
- v4Candidate ingested via manual entry.2026-07-31
- v3Candidate ingested via manual entry.2026-07-31
- v2Candidate ingested via manual entry.2026-07-31
- v1No changelog recorded for this version.2026-07-30
Detection content is published as a reviewed draft. Tune thresholds and exclusions against your own telemetry before enabling this rule for alerting.
title: Rundll32.exe DLL Export Calls by Ordinal (Windows Process Creation)
id: cfa15580-4c53-4cdd-a83a-43ec8652545e
status: stable
description: "This rule identifies process creation events where rundll32.exe loads a DLL export using an ordinal notation (e.g., strings containing ',#' and '.dll #' or '.ocx #'). Using ordinal-based export calls can obscure intent and is a common technique in stealthy execution chains. It relies on Windows process creation telemetry, matching the Image/OriginalFileName for rundll32.exe and specific patterns in the CommandLine. Optional exclusions reduce matches for known benign tooling patterns."
references:
- https://web.archive.org/web/20200530031906/https://techtalk.pcmatic.com/2017/11/30/running-dll-files-malware-analysis/
- https://github.com/Neo23x0/DLLRunner
- https://twitter.com/cyb3rops/status/1186631731543236608
- https://www.welivesecurity.com/2022/03/01/isaacwiper-hermeticwizard-wiper-worm-targeting-ukraine/
- https://github.com/SigmaHQ/sigma/blob/master/rules-threat-hunting/windows/process_creation/proc_creation_win_rundll32_by_ordinal.yml
author: Florian Roth (Nextron Systems), Huntrule Team
date: 2019-10-22
modified: 2024-07-16
tags:
- attack.stealth
- attack.t1218.011
- detection.threat-hunting
logsource:
category: process_creation
product: windows
detection:
selection_img:
- Image|endswith: \rundll32.exe
- OriginalFileName: RUNDLL32.EXE
selection_cli:
CommandLine|contains:
- ",#"
- ", #"
- ".dll #"
- ".ocx #"
filter_optional_edge:
CommandLine|contains|all:
- EDGEHTML.dll
- "#141"
filter_optional_vsbuild_dll:
ParentImage|contains:
- \Msbuild\Current\Bin\
- \VC\Tools\MSVC\
- \Tracker.exe
CommandLine|contains:
- \FileTracker32.dll,#1
- \FileTracker32.dll",#1
- \FileTracker64.dll,#1
- \FileTracker64.dll",#1
condition: all of selection_* and not 1 of filter_optional_*
falsepositives:
- False positives depend on scripts and administrative tools used in the monitored environment.
- Windows control panel elements have been identified as source (mmc).
level: medium
license: DRL-1.1
related:
- id: e79a9e79-eb72-4e78-a628-0e7e8f59e89c
type: derived