Windows Process Creation: PowerShell Command Execution Hidden in DLL Invocation

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

FreeReviewedSigma · High · v1
Product
windows
Category
process_creation
Author
Markus Neis, Nasreddine Bencherchali (Nextron Systems) (SigmaHQ), DRL 1.1
Published
2018-08-25
Updated
2026-07-30
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