T1059.001 PowerShell

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.(Citation: TechNet PowerShell) Adversaries can use PowerShell to perform a number of actions, including discovery of information and execution of code. Examples include the <code>Start-Process</code> cmdlet which can be used to run an executable and the <code>Invoke-Command</code> 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.(Citation: Github PSAttack)

PowerShell commands/scripts can also be executed without directly invoking the <code>powershell.exe</code> binary through interfaces to PowerShell's underlying <code>System.Management.Automation</code> assembly DLL exposed through the .NET framework and Windows Common Language Interface (CLI).(Citation: Sixdub PowerPick Jan 2016)(Citation: SilentBreak Offensive PS Dec 2015)(Citation: Microsoft PSfromCsharp APR 2014)

View in MITRE ATT&CK®

CRI Profile Mappings

Capability ID Capability Description Mapping Type ATT&CK ID ATT&CK Name Notes
DE.AE-02.01 Event analysis and detection Mitigates T1059.001 PowerShell
Comments
This diagnostic statement provides for implementation of methods to block similar future attacks via security tools such as antivirus and IDS/IPS to provide protection against threats and exploitation attempts.
References
    PR.IR-01.08 End-user device access Mitigates T1059.001 PowerShell
    Comments
    This diagnostic statement implements technical controls (e.g., VPN, antivirus software) to address the risks of end-user personal computing devices accessing the organization’s network and resources.
    References
      PR.PS-01.01 Configuration baselines Mitigates T1059.001 PowerShell
      Comments
      This diagnostic statement provides for securely configuring production systems. This includes hardening default configurations and making security-focused setting adjustments to reduce the attack surface, enforce best practices, and protect sensitive data thereby mitigating adversary exploitation.
      References
        PR.PS-01.08 End-user device protection Mitigates T1059.001 PowerShell
        Comments
        This diagnostic statement protects endpoints from abuse of commands and scripts through configuration requirements, connection requirements, and other mechanisms to protect network, application, and data integrity.
        References
          PR.AA-05.02 Privileged system access Mitigates T1059.001 PowerShell
          Comments
          This diagnostic statement protects against PowerShell through the use of privileged account management and the use of multi-factor authentication.
          References
            DE.CM-09.01 Software and data integrity checking Mitigates T1059.001 PowerShell
            Comments
            This diagnostic statement protects against PowerShell through the use of verifying integrity of software/firmware, loading software that is trusted, ensuring privileged process integrity and checking software signatures.
            References
              DE.CM-06.02 Third-party access monitoring Mitigates T1059.001 PowerShell
              Comments
              This diagnostic statement protects against PowerShell through the use of privileged account management. Employing auditing, privilege access management, and just in time access protects against adversaries trying to obtain illicit access to critical systems.
              References
                PR.PS-05.01 Malware prevention Mitigates T1059.001 PowerShell
                Comments
                Antivirus/Antimalware software can be utilized to detect and quarantine files that have been embedded with malicious commands or scripts.
                References
                  PR.PS-01.03 Configuration deviation Mitigates T1059.001 PowerShell
                  Comments
                  This diagnostic statement provides protection from Command and Scripting Interpreter through the implementation of security configuration baselines for OS, software, file integrity monitoring and imaging. Security baselining along with disallowing scripts and integrity checking can help protect against adversaries that may abuse command and script interpreters.
                  References
                    PR.PS-05.02 Mobile code prevention Mitigates T1059.001 PowerShell
                    Comments
                    Mobile code procedures address specific actions taken to prevent the development, acquisition, and introduction of unacceptable mobile code within organizational systems, including requiring mobile code to be digitally signed by a trusted source.
                    References
                      PR.IR-01.06 Production environment segregation Mitigates T1059.001 PowerShell
                      Comments
                      This diagnostic statement provides protections for production environments. Measures such as network segmentation and access control reduce the attack surface, restrict movement by adversaries, and protect critical assets and data from compromise.
                      References
                        PR.PS-01.08 End-user device protection Mitigates T1059.001 PowerShell
                        Comments
                        This diagnostic statement protects against PowerShell through the use of limiting access to resources to only authorized devices, management of personal computing devices, network intrusion prevention, and the use of antimalware.
                        References

                          NIST 800-53 Mappings

                          Capability ID Capability Description Mapping Type ATT&CK ID ATT&CK Name Notes
                          CM-06 Configuration Settings mitigates T1059.001 PowerShell
                          CM-05 Access Restrictions for Change mitigates T1059.001 PowerShell
                          AC-17 Remote Access mitigates T1059.001 PowerShell
                          IA-09 Service Identification and Authentication mitigates T1059.001 PowerShell
                          IA-08 Identification and Authentication (Non-Organizational Users) mitigates T1059.001 PowerShell
                          SI-16 Memory Protection mitigates T1059.001 PowerShell
                          SI-02 Flaw Remediation mitigates T1059.001 PowerShell
                          RA-05 Vulnerability Monitoring and Scanning mitigates T1059.001 PowerShell
                          CM-08 System Component Inventory mitigates T1059.001 PowerShell
                          SI-10 Information Input Validation mitigates T1059.001 PowerShell
                          SI-03 Malicious Code Protection mitigates T1059.001 PowerShell
                          SI-07 Software, Firmware, and Information Integrity mitigates T1059.001 PowerShell
                          CM-02 Baseline Configuration mitigates T1059.001 PowerShell
                          IA-02 Identification and Authentication (Organizational Users) mitigates T1059.001 PowerShell
                          SI-04 System Monitoring mitigates T1059.001 PowerShell
                          AC-02 Account Management mitigates T1059.001 PowerShell
                          AC-03 Access Enforcement mitigates T1059.001 PowerShell
                          AC-05 Separation of Duties mitigates T1059.001 PowerShell
                          AC-06 Least Privilege mitigates T1059.001 PowerShell

                          VERIS Mappings

                          Capability ID Capability Description Mapping Type ATT&CK ID ATT&CK Name Notes
                          action.hacking.variety.Abuse of functionality Abuse of functionality. related-to T1059.001 PowerShell

                          Azure Mappings

                          Capability ID Capability Description Mapping Type ATT&CK ID ATT&CK Name Notes
                          alerts_for_windows_machines Alerts for Windows Machines technique_scores T1059.001 PowerShell
                          Comments
                          This control may detect suspicious usage of PowerShell and the Windows command line. These detections include usage of suspicious arguments, dynamic script construction, and shellcode on the commandline. The following alerts may be generated: "Detected anomalous mix of upper and lower case characters in command-line", "Detected encoded executable in command line data", "Detected obfuscated command line", "Detected suspicious combination of HTA and PowerShell", "Detected suspicious commandline arguments", "Detected suspicious commandline used to start all executables in a directory", "Detected suspicious credentials in commandline", "Dynamic PS script construction", "Suspicious PowerShell Activity Detected", "Suspicious PowerShell cmdlets executed", "Suspicious command execution".
                          References
                          defender_for_app_service Microsoft Defender for Cloud: Defender for App Service technique_scores T1059.001 PowerShell
                          Comments
                          This control monitors for execution of known malicious PowerShell PowerSploit cmdlets. Temporal factor is uknown.
                          References

                          AWS Mappings

                          Capability ID Capability Description Mapping Type ATT&CK ID ATT&CK Name Notes
                          aws_web_application_firewall AWS Web Application Firewall technique_scores T1059.001 PowerShell
                          Comments
                          The AWS WAF protects web applications from injection attacks that leverage command and scripting interpreters. AWS WAF provides this protection via the following rule sets that block malicious traffic across a variety of operating systems and applications. AWSManagedRulesCommonRuleSet AWSManagedRulesSQLiRuleSet AWSManagedRulesUnixRuleSet AWSManagedRulesWindowsRuleSet AWSManagedRulesPHPRuleSet AWSManagedRulesWordPressRuleSet This is given a score of Significant because it provides protections for PowerShell, Unix, and JavaScript command and scripting interpreters by blocking the malicious content in near real-time.
                          References