Detection rules › Sigma

Invoke-Obfuscation Via Use Rundll32 - PowerShell Module

Status
test
Severity
high
Log source
product windows, category ps_module
Author
Nikita Nazarov, oscd.community
Source
github.com/SigmaHQ/sigma

Detects Obfuscated Powershell via use Rundll32 in Scripts

MITRE ATT&CK coverage

Event coverage

Rule body yaml

title: Invoke-Obfuscation Via Use Rundll32 - PowerShell Module
id: 88a22f69-62f9-4b8a-aa00-6b0212f2f05a
related:
    - id: a5a30a6e-75ca-4233-8b8c-42e0f2037d3b
      type: derived
status: test
description: Detects Obfuscated Powershell via use Rundll32 in Scripts
references:
    - https://github.com/SigmaHQ/sigma/issues/1009
author: Nikita Nazarov, oscd.community
date: 2019-10-08
modified: 2022-11-29
tags:
    - attack.stealth
    - attack.t1027
    - attack.execution
    - attack.t1059.001
logsource:
    product: windows
    category: ps_module
    definition: 0ad03ef1-f21b-4a79-8ce8-e6900c54b65b
detection:
    selection_4103:
        Payload|contains|all:
            - '&&'
            - 'rundll32'
            - 'shell32.dll'
            - 'shellexec_rundll'
        Payload|contains:
            - 'value'
            - 'invoke'
            - 'comspec'
            - 'iex'
    condition: selection_4103
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection_4103

Stage 1: selection_4103

selection_4103:
    Payload|contains|all:
        - '&&'
        - 'rundll32'
        - 'shell32.dll'
        - 'shellexec_rundll'
    Payload|contains:
        - 'value'
        - 'invoke'
        - 'comspec'
        - 'iex'

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
Payloadmatch
  • && corpus 2 (sigma 2)
  • comspec
  • iex
  • invoke
  • rundll32
  • shell32.dll corpus 2 (sigma 2)
  • shellexec_rundll corpus 2 (sigma 2)
  • value