Detection rules › Sigma

Import PowerShell Modules From Suspicious Directories

Severity
medium
Author
Nasreddine Bencherchali (Nextron Systems)
Source
upstream

Detects powershell scripts that import modules from suspicious directories

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: 'Import-Module $Env:Appdata\'
ScriptBlockText|contains: 'Import-Module $Env:Temp\'
ScriptBlockText|contains: 'Import-Module ''$Env:Appdata\'
ScriptBlockText|contains: 'Import-Module ''$Env:Temp\'
ScriptBlockText|contains: 'Import-Module C:\Users\Public\'
ScriptBlockText|contains: 'Import-Module "$Env:Appdata\'
ScriptBlockText|contains: 'Import-Module "$Env:Temp\'
ScriptBlockText|contains: 'ipmo $Env:Appdata\'
ScriptBlockText|contains: 'ipmo $Env:Temp\'
ScriptBlockText|contains: 'ipmo ''$Env:Appdata\'
ScriptBlockText|contains: 'ipmo ''$Env:Temp\'
ScriptBlockText|contains: 'ipmo C:\Users\Public\'
ScriptBlockText|contains: 'ipmo "$Env:Appdata\'
ScriptBlockText|contains: 'ipmo "$Env:Temp\'

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
  • Import-Module "$Env:Appdata\
  • Import-Module "$Env:Temp\
  • Import-Module $Env:Appdata\
  • Import-Module $Env:Temp\
  • Import-Module '$Env:Appdata\
  • Import-Module '$Env:Temp\
  • Import-Module C:\Users\Public\
  • ipmo "$Env:Appdata\
  • ipmo "$Env:Temp\
  • ipmo $Env:Appdata\
  • ipmo $Env:Temp\
  • ipmo '$Env:Appdata\
  • ipmo '$Env:Temp\
  • ipmo C:\Users\Public\

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.