Windows PowerShell: Import-Module From Temp, AppData, or Public Directories
Detects PowerShell module imports (Import-Module/ipmo) from Temp, AppData, or Public directories via Script Block Logging.
- Product
- windows
- Category
- ps_script
- Author
- Nasreddine Bencherchali (Nextron Systems) (SigmaHQ), DRL 1.1
- Published
- 2022-07-07
- Updated
- 2026-07-31
ATT&CK techniques
ExecutionRecon
Resource Dev
Initial Access
Execution
Persistence
Priv Esc
Defense Evasion
Cred Access
Discovery
Lateral Movement
Collection
C2
Exfiltration
Impact
What it detects
This rule flags PowerShell script text that imports modules from commonly abused locations, specifically paths under %Temp%, %AppData%, and C:\Users\Public\. Attackers often use Import-Module to load malicious code without dropping a standalone payload, making module import behavior a useful execution signal. It relies on PowerShell script block logging telemetry that records the script content, matching specific Import-Module and ipmo command patterns referencing those directories.
Reporting behind it
Changelog
v2- v2Candidate ingested via manual entry.2026-07-31
- v1No changelog recorded for this version.2026-07-30
Detection content is published as a reviewed draft. Tune thresholds and exclusions against your own telemetry before enabling this rule for alerting.
title: "Windows PowerShell: Import-Module From Temp, AppData, or Public Directories"
id: 7480dfe2-1a1d-4375-8f6e-28172d0cab0c
related:
- id: c31364f7-8be6-4b77-8483-dd2b5a7b69a3
type: similar
- id: 21f9162c-5f5d-4b01-89a8-b705bd7d10ab
type: derived
status: test
description: This rule flags PowerShell script text that imports modules from commonly abused locations, specifically paths under %Temp%, %AppData%, and C:\Users\Public\. Attackers often use Import-Module to load malicious code without dropping a standalone payload, making module import behavior a useful execution signal. It relies on PowerShell script block logging telemetry that records the script content, matching specific Import-Module and ipmo command patterns referencing those directories.
references:
- https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1003.002/T1003.002.md
- https://github.com/SigmaHQ/sigma/blob/master/rules/windows/powershell/powershell_script/posh_ps_import_module_susp_dirs.yml
author: Nasreddine Bencherchali (Nextron Systems), Huntrule Team
date: 2022-07-07
modified: 2023-01-10
tags:
- attack.execution
- attack.t1059.001
logsource:
product: windows
category: ps_script
definition: "Requirements: Script Block Logging must be enabled"
detection:
selection:
ScriptBlockText|contains:
- Import-Module "$Env:Temp\
- Import-Module '$Env:Temp\
- Import-Module $Env:Temp\
- Import-Module "$Env:Appdata\
- Import-Module '$Env:Appdata\
- Import-Module $Env:Appdata\
- Import-Module C:\Users\Public\
- ipmo "$Env:Temp\
- ipmo '$Env:Temp\
- ipmo $Env:Temp\
- ipmo "$Env:Appdata\
- ipmo '$Env:Appdata\
- ipmo $Env:Appdata\
- ipmo C:\Users\Public\
condition: selection
falsepositives:
- Unknown
level: medium
license: DRL-1.1