T1574.007 Path Interception by PATH Environment Variable

Adversaries may execute their own malicious payloads by hijacking environment variables used to load libraries. The PATH environment variable contains a list of directories (User and System) that the OS searches sequentially through in search of the binary that was called from a script or the command line.

Adversaries can place a malicious program in an earlier entry in the list of directories stored in the PATH environment variable, resulting in the operating system executing the malicious binary rather than the legitimate binary when it searches sequentially through that PATH listing.

For example, on Windows if an adversary places a malicious program named "net.exe" in C:\example path, which by default precedes C:\Windows\system32\net.exe in the PATH environment variable, when "net" is executed from the command-line the C:\example path will be called instead of the system's legitimate executable at C:\Windows\system32\net.exe. Some methods of executing a program rely on the PATH environment variable to determine the locations that are searched when the path for the program is not given, such as executing programs from a Command and Scripting Interpreter.(Citation: ExpressVPN PATH env Windows 2021)

Adversaries may also directly modify the $PATH variable specifying the directories to be searched. An adversary can modify the $PATH variable to point to a directory they have write access. When a program using the $PATH variable is called, the OS searches the specified directory and executes the malicious binary. On macOS, this can also be performed through modifying the $HOME variable. These variables can be modified using the command-line, launchctl, Unix Shell Configuration Modification, or modifying the /etc/paths.d folder contents.(Citation: uptycs Fake POC linux malware 2023)(Citation: nixCraft macOS PATH variables)(Citation: Elastic Rules macOS launchctl 2022)

View in MITRE ATT&CK®

CRI Profile Mappings

Capability ID Capability Description Mapping Type ATT&CK ID ATT&CK Name Notes
PR.PS-01.08 End-user device protection Mitigates T1574.007 Path Interception by PATH Environment Variable
Comments
This diagnostic statement protects endpoints from certain types of behaviors related to process injection/memory tampering through configuration requirements, connection requirements, and other mechanisms to protect network, application, and data integrity.
References

    NIST 800-53 Mappings

    Capability ID Capability Description Mapping Type ATT&CK ID ATT&CK Name Notes
    CA-07 Continuous Monitoring mitigates T1574.007 Path Interception by PATH Environment Variable
    CM-06 Configuration Settings mitigates T1574.007 Path Interception by PATH Environment Variable
    RA-05 Vulnerability Monitoring and Scanning mitigates T1574.007 Path Interception by PATH Environment Variable
    CM-08 System Component Inventory mitigates T1574.007 Path Interception by PATH Environment Variable
    SI-10 Information Input Validation mitigates T1574.007 Path Interception by PATH Environment Variable
    SI-03 Malicious Code Protection mitigates T1574.007 Path Interception by PATH Environment Variable
    SI-07 Software, Firmware, and Information Integrity mitigates T1574.007 Path Interception by PATH Environment Variable
    CM-02 Baseline Configuration mitigates T1574.007 Path Interception by PATH Environment Variable
    CM-02 Baseline Configuration mitigates T1574.007 Path Interception by PATH Environment Variable
    CM-07 Least Functionality mitigates T1574.007 Path Interception by PATH Environment Variable
    SI-04 System Monitoring mitigates T1574.007 Path Interception by PATH Environment Variable
    AC-02 Account Management mitigates T1574.007 Path Interception by PATH Environment Variable
    AC-03 Access Enforcement mitigates T1574.007 Path Interception by PATH Environment Variable
    AC-04 Information Flow Enforcement mitigates T1574.007 Path Interception by PATH Environment Variable
    AC-05 Separation of Duties mitigates T1574.007 Path Interception by PATH Environment Variable
    AC-06 Least Privilege mitigates T1574.007 Path Interception by PATH Environment Variable

    Azure Mappings

    Capability ID Capability Description Mapping Type ATT&CK ID ATT&CK Name Notes
    file_integrity_monitoring Microsoft Defender for Cloud: File Integrity Monitoring technique_scores T1574.007 Path Interception by PATH Environment Variable
    Comments
    This control can detect file changes on VMs indicative of Path Interception by PATH Environment Variable.
    References
    defender_for_app_service Microsoft Defender for Cloud: Defender for App Service technique_scores T1574.007 Path Interception by PATH Environment Variable
    Comments
    This control analyzes host data to detect execution of known malicious PowerShell PowerSploit cmdlets. This covers execution of these sub-techniques via the Privesc-PowerUp modules, but does not address other procedures, and temporal factor is unknown, resulting in a Minimal score.
    References

    GCP Mappings

    Capability ID Capability Description Mapping Type ATT&CK ID ATT&CK Name Notes
    google_secops Google Security Operations technique_scores T1574.007 Path Interception by PATH Environment Variable
    Comments
    Google Security Ops is able to trigger alerts based on suspicious system processes that could indicate hijacking via malicious payloads (e.g., Windows Unquoted Search Path explotation ""C:\\InventoryWebServer.exe""). This technique was scored as minimal based on low or uncertain detection coverage factor.
    References