Detection rules › Sigma

Potential Suspicious PowerShell Keywords

Severity
medium
Author
Florian Roth (Nextron Systems), Perez Diego (@darkquassar), Tuan Le (NCSGroup)
Source
upstream

Detects potentially suspicious keywords that could indicate the use of a PowerShell exploitation framework

MITRE ATT&CK coverage

TacticTechniques
ExecutionT1059.001 Command and Scripting Interpreter: PowerShell

Event coverage

ProviderEvent IDTitle
PowerShell4104Creating Scriptblock text (MessageNumber of MessageTotal).

Stages and Predicates

Stage 1: selection

or:
ScriptBlockText|contains: 'Reflection.Emit.AssemblyBuilderAccess'
ScriptBlockText|contains: 'Reflection.Emit.CustomAttributeBuilder'
ScriptBlockText|contains: 'Runtime.InteropServices.DllImportAttribute'
ScriptBlockText|contains: 'Runtime.InteropServices.UnmanagedType'
ScriptBlockText|contains: SuspendThread
ScriptBlockText|contains: 'System.Reflection.Assembly.Load($'
ScriptBlockText|contains: System.Reflection.AssemblyName
ScriptBlockText|contains: '[Reflection.Assembly]::Load($'
ScriptBlockText|contains: '[System.Reflection.Assembly]::Load($'
ScriptBlockText|contains: rundll32

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
ScriptBlockTextmatch
  • Reflection.Emit.AssemblyBuilderAccess
  • Reflection.Emit.CustomAttributeBuilder
  • Runtime.InteropServices.DllImportAttribute
  • Runtime.InteropServices.UnmanagedType
  • SuspendThread
  • System.Reflection.Assembly.Load($
  • System.Reflection.AssemblyName
  • [Reflection.Assembly]::Load($
  • [System.Reflection.Assembly]::Load($
  • rundll32 corpus 2 (sigma 2)

Neighbors

Broader alternatives (more inclusive than this rule)

These rules match a superset of what this rule catches. They cover the same events plus more. Use them if you want wider coverage and can absorb more false positives.