Windows Process Creation: PowerShell Command Execution Hidden in DLL Invocation

Flags DLL-invoking Windows binaries whose command lines include PowerShell execution strings.

FreeUnreviewedSigmahighv1
title: "Windows Process Creation: PowerShell Command Execution Hidden in DLL Invocation"
id: cad4364e-f234-4f38-9862-e47e57bdca07
status: test
description: This rule identifies Windows processes commonly abused to execute DLLs (e.g., rundll32, regsvr32, regasm, regsvcs, installutil) when their command line contains PowerShell-related strings such as DownloadString, FromBase64String, IEX, Invoke-Expression, or Invoke-Command. Attackers may pass PowerShell payloads through DLL invocation to blend in with legitimate signed binary execution paths. The detection relies on process creation telemetry, matching Image and OriginalFileName with specific DLL-related executables and inspecting the CommandLine for PowerShell command indicators.
references:
  - https://github.com/p3nt4/PowerShdll/blob/62cfa172fb4e1f7f4ac00ca942685baeb88ff356/README.md
  - https://github.com/SigmaHQ/sigma/blob/master/rules/windows/process_creation/proc_creation_win_susp_powershell_execution_via_dll.yml
author: Markus Neis, Nasreddine Bencherchali (Nextron Systems), Huntrule Team
date: 2018-08-25
modified: 2024-03-07
tags:
  - attack.stealth
  - attack.t1218.011
logsource:
  category: process_creation
  product: windows
detection:
  selection_img:
    - Image|endswith:
        - \InstallUtil.exe
        - \RegAsm.exe
        - \RegSvcs.exe
        - \regsvr32.exe
        - \rundll32.exe
    - OriginalFileName:
        - InstallUtil.exe
        - RegAsm.exe
        - RegSvcs.exe
        - REGSVR32.EXE
        - RUNDLL32.EXE
  selection_cli:
    CommandLine|contains:
      - Default.GetString
      - DownloadString
      - FromBase64String
      - "ICM "
      - "IEX "
      - Invoke-Command
      - Invoke-Expression
  condition: all of selection_*
falsepositives:
  - Unknown
level: high
license: DRL-1.1
related:
  - id: 6812a10b-60ea-420c-832f-dfcc33b646ba
    type: derived

What it detects

This rule identifies Windows processes commonly abused to execute DLLs (e.g., rundll32, regsvr32, regasm, regsvcs, installutil) when their command line contains PowerShell-related strings such as DownloadString, FromBase64String, IEX, Invoke-Expression, or Invoke-Command. Attackers may pass PowerShell payloads through DLL invocation to blend in with legitimate signed binary execution paths. The detection relies on process creation telemetry, matching Image and OriginalFileName with specific DLL-related executables and inspecting the CommandLine for PowerShell command indicators.

Known false positives

  • Unknown

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