Command and Scripting Interpreter: PowerShell
- ID
- T1059.001
- Tactics
- TA0002 Execution
- Sub-technique of
- T1059 Command and Scripting Interpreter
- Platforms
- Windows, Linux, macOS
- Data sources
- Process Creation, Command Execution, Process Metadata, Module Load
- Source
- attack.mitre.org
- MITRE last modified
- 18 Sep 2026
Adversaries may abuse PowerShell commands and scripts for execution. PowerShell is a powerful interactive command-line interface and scripting environment included in the Windows operating system.[4] PowerShell can also be installed on Linux and macOS.[5] Adversaries can use PowerShell to perform a number of actions, including discovery of information and execution of code. Examples include the Start-Process cmdlet which can be used to run an executable and the Invoke-Command cmdlet which runs a command locally or on a remote computer (though administrator permissions are required to use PowerShell to connect to remote systems).
PowerShell may also be used to download and run executables from the Internet, which can be executed from disk or in memory without touching disk.
A number of PowerShell-based offensive testing tools are available, including Empire, PowerSploit, PoshC2, and PSAttack.[6]
PowerShell commands/scripts can also be executed without directly invoking the powershell.exe binary through interfaces to PowerShell's underlying System.Management.Automation assembly DLL exposed through the .NET framework and Windows Common Language Interface (CLI).[7][8][9]
Detection
- DET0455 Abuse of PowerShell for Arbitrary Execution
Data components: Process Creation, Command Execution, Process Metadata, Module Load
Mitigations (5)
- M1026 Privileged Account Management
When PowerShell is necessary, consider restricting PowerShell execution policy to administrators. Be aware that there are methods of bypassing the PowerShell execution policy, depending on environment configuration.[1]
PowerShell JEA (Just Enough Administration) may also be used to sandbox administration and limit what commands admins/users can execute through remote PowerShell sessions.[2]
- M1038 Execution Prevention
Use application control where appropriate. PowerShell Constrained Language mode can be used to restrict access to sensitive or otherwise dangerous language elements such as those used to execute arbitrary Windows APIs or files (e.g.,
Add-Type).[3]- M1042 Disable or Remove Feature or Program
It may be possible to remove PowerShell from systems when not needed, but a review should be performed to assess the impact to an environment, since it could be in use for many legitimate purposes and administrative functions.
Disable/restrict the WinRM Service to help prevent uses of PowerShell for remote execution.
- M1045 Code Signing
Set PowerShell execution policy to execute only signed scripts.
- M1049 Antivirus/Antimalware
Anti-virus can be used to automatically quarantine suspicious files.
Groups (86)
- G0007 APT28
- G0009 Deep Panda
- G0010 Turla
- G0016 APT29
- G0021 Molerats
- G0022 APT3
- G0027 Threat Group-3390
- G0032 Lazarus Group
- G0033 Poseidon Group
- G0034 Sandworm Team
- G0035 Dragonfly
- G0037 FIN6
- G0038 Stealth Falcon
- G0040 Patchwork
- G0045 menuPass
- G0046 FIN7
- G0047 Gamaredon Group
- G0049 OilRig
- G0050 APT32
- G0051 FIN10
- G0052 CopyKittens
- G0059 Magic Hound
- G0060 BRONZE BUTLER
- G0061 FIN8
- G0062 TA459
- G0064 APT33
- G0065 Leviathan
- G0069 MuddyWater
- G0073 APT19
- G0076 Thrip
- G0078 Gorgon Group
- G0079 DarkHydrus
- G0080 Cobalt Group
- G0082 APT38
- G0084 Gallmaker
- G0087 APT39
- G0090 WIRTE
- G0091 Silence
- G0092 TA505
- G0093 GALLIUM
- G0094 Kimsuky
- G0096 APT41
- G0099 APT-C-36
- G0100 Inception
- G0102 Wizard Spider
- G0105 DarkVishnya
- G0108 Blue Mockingbird
- G0114 Chimera
- G0115 GOLD SOUTHFIELD
- G0117 Fox Kitten
- G0119 Indrik Spider
- G0121 Sidewinder
- G0125 HAFNIUM
- G0129 Mustang Panda
- G0131 Tonto Team
- G0133 Nomadic Octopus
- G0139 TeamTNT
- G0140 LazyScripter
- G0142 Confucius
- G0143 Aquatic Panda
Showing 60 of 86. Full list on attack.mitre.org.
Software (133)
- S0037 HAMMERTOSS
- S0053 SeaDuke
- S0126 ComRAT
- S0129 AutoIt backdoor
- S0145 POWERSOURCE
- S0150 POSHSPY
- S0151 HALFBAKED
- S0154 Cobalt Strike
- S0170 Helminth
- S0184 POWRUNER
- S0186 DownPaper
- S0192 Pupy
- S0194 PowerSploit
- S0196 PUNCHBUGGY
- S0198 NETWIRE
- S0223 POWERSTATS
- S0234 Bandook
- S0241 RATANKBA
- S0250 Koadic
- S0256 Mosquito
- S0266 TrickBot
- S0269 QUADAGENT
- S0270 RogueRobin
- S0273 Socksbot
- S0330 Zeus Panda
- S0341 Xbash
- S0352 OSX_OCEANLOTUS.D
- S0354 Denis
- S0356 KONNI
- S0360 BONDUPDATER
- S0363 Empire
- S0367 Emotet
- S0371 POWERTON
- S0379 Revenge RAT
- S0381 FlawedAmmyy
- S0382 ServHelper
- S0385 njRAT
- S0386 Ursnif
- S0387 KeyBoy
- S0389 JCry
- S0390 SQLRat
- S0393 PowerStallion
- S0417 GRIFFON
- S0441 PowerShower
- S0447 Lokibot
- S0450 SHARPSTATS
- S0457 Netwalker
- S0476 Valak
- S0488 CrackMapExec
- S0491 StrongPity
- S0496 REvil
- S0499 Hancitor
- S0511 RegDuke
- S0512 FatDuke
- S0514 WellMess
- S0517 Pillowmint
- S0521 BloodHound
- S0526 KGH_SPY
- S0534 Bazar
- S0546 SharpStage
Showing 60 of 133. Full list on attack.mitre.org.
References
- Netspi PowerShell Execution Policy Bypass
- Microsoft PS JEA
- Microsoft PowerShell CLM
- TechNet PowerShell
- Powershell installation
- Github PSAttack
- Sixdub PowerPick Jan 2016
- SilentBreak Offensive PS Dec 2015
- Microsoft PSfromCsharp APR 2014
