Detection rules › Sigma

Suspicious XOR Encoded PowerShell Command

Severity
medium
Author
Sami Ruohonen, Harish Segar, Tim Shelton, Teymur Kheirkhabarov, Vasiliy Burov, oscd.community, Nasreddine Bencherchali
Source
upstream

Detects presence of a potentially xor encoded powershell command

MITRE ATT&CK coverage

TacticTechniques
ExecutionT1059.001 Command and Scripting Interpreter: PowerShell
Defense EvasionT1027 Obfuscated Files or Information, T1140 Deobfuscate/Decode Files or Information

Event coverage

ProviderEvent IDTitle
Sysmon1Process creation

Stages and Predicates

Stage 1: all of selection_img

or:
Description: 'Windows PowerShell'
Image|endswith: '\powershell.exe'
Image|endswith: '\pwsh.exe'
OriginalFileName: PowerShell.EXE
OriginalFileName: pwsh.dll
Product: 'PowerShell Core 6'

Stage 2: all of selection_cli_xor

CommandLine|contains: bxor

Stage 3: all of selection_cli_other

or:
CommandLine|contains: '-join '
CommandLine|contains: '-join'''
CommandLine|contains: '-join"'
CommandLine|contains: '-join`'
CommandLine|contains: '::Join'
CommandLine|contains: ForEach
CommandLine|contains: '[char]'
CommandLine|contains: 'for '
CommandLine|contains: 'for('

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
  • -join
  • -join"
  • -join'
  • -join`
  • ::Join
  • ForEach
  • [char]
  • bxor
  • for corpus 2 (sigma 2)
  • for(
Descriptioneq
  • Windows PowerShell corpus 2 (sigma 2)
Imageends_with
  • \powershell.exe corpus 143 (sigma 143)
  • \pwsh.exe corpus 140 (sigma 140)
OriginalFileNameeq
  • PowerShell.EXE corpus 64 (sigma 60, splunk 4)
  • pwsh.dll corpus 72 (sigma 68, splunk 4)
Producteq
  • PowerShell Core 6 corpus 2 (sigma 2)