Unusual Child Processes of RunDLL32edit

Identifies child processes of unusual instances of RunDLL32 where the command line parameters were suspicious. Misuse of RunDLL32 could indicate malicious activity.

Rule type: eql

Rule indices:

  • logs-endpoint.events.*
  • winlogbeat-*
  • logs-windows.*

Severity: high

Risk score: 73

Runs every: 30 minutes

Searches indices from: now-60m (Date Math format, see also Additional look-back time)

Maximum alerts per execution: 100

Tags:

  • Elastic
  • Host
  • Windows
  • Threat Detection
  • Defense Evasion

Version: 101 (version history)

Added (Elastic Stack release): 7.10.0

Last modified (Elastic Stack release): 8.5.0

Rule authors: Elastic

Rule license: Elastic License v2

Rule queryedit

sequence with maxspan=1h [process where event.type == "start" and
(process.name : "rundll32.exe" or process.pe.original_file_name ==
"RUNDLL32.EXE") and process.args_count == 1 ] by
process.entity_id [process where event.type == "start" and
process.parent.name : "rundll32.exe" ] by process.parent.entity_id

Threat mappingedit

Framework: MITRE ATT&CKTM

Rule version historyedit

Version 101 (8.5.0 release)
  • Updated query, changed from:

    sequence with maxspan=1h [process where event.type in ("start",
    "process_started") and (process.name : "rundll32.exe" or
    process.pe.original_file_name == "RUNDLL32.EXE") and
    process.args_count == 1 ] by process.entity_id [process where
    event.type in ("start", "process_started") and process.parent.name :
    "rundll32.exe" ] by process.parent.entity_id
Version 6 (8.4.0 release)
  • Formatting only
Version 4 (7.14.0 release)
  • Formatting only
Version 3 (7.12.0 release)
  • Formatting only
Version 2 (7.11.0 release)
  • Updated query, changed from:

    sequence with maxspan=1h [process where event.type in ("start",
    "process_started") and /*
    uncomment once in winlogbeat */ (process.name : "rundll32.exe" /*
    or process.pe.original_file_name == "RUNDLL32.EXE" */ ) and
    process.args_count < 2 ] by process.entity_id [process where
    event.type in ("start", "process_started") and process.parent.name :
    "rundll32.exe" ] by process.parent.entity_id