T1574.008 Microsoft Sentinel · KQL

Detect Path Interception by Search Order Hijacking in Microsoft Sentinel

Adversaries may execute their own malicious payloads by hijacking the search order Windows uses to find programs called without a full path. When an executable calls a program by name only (e.g., 'net user' rather than 'C:\Windows\System32\net.exe user'), Windows first searches the current directory of the calling program, then the directories in PATH. An adversary who places a binary named 'net.exe' or 'net.com' (PATHEXT ordering: .COM before .EXE) in the same directory as the calling application will have their binary executed. Empire and PowerSploit both include modules to discover and exploit search order hijacking vulnerabilities across the system.

MITRE ATT&CK

Tactic
Persistence Privilege Escalation Defense Evasion
Technique
T1574 Hijack Execution Flow
Sub-technique
T1574.008 Path Interception by Search Order Hijacking
Canonical reference
https://attack.mitre.org/techniques/T1574/008/

KQL Detection Query

Microsoft Sentinel (KQL)
kusto
let SystemBinaryNames = dynamic([
  "net.exe", "cmd.exe", "powershell.exe", "ping.exe",
  "ipconfig.exe", "whoami.exe", "hostname.exe", "nltest.exe",
  "tasklist.exe", "sc.exe", "reg.exe", "certutil.exe"
]);
DeviceProcessEvents
| where Timestamp > ago(24h)
| where FileName in~ (SystemBinaryNames)
| where not(FolderPath startswith "C:\\Windows\\system32")
| where not(FolderPath startswith "C:\\Windows\\SysWOW64")
| where not(FolderPath startswith "C:\\Windows\\WinSxS")
| project Timestamp, DeviceName, AccountName, FileName, FolderPath,
         ProcessCommandLine, InitiatingProcessFileName, InitiatingProcessFolderPath
| sort by Timestamp desc
high severity high confidence

Detects system binary names (net.exe, cmd.exe, powershell.exe, etc.) executing from non-system directories. Windows search order hijacking relies on a copy of a commonly-invoked binary being placed in a directory that's searched before System32. This query identifies all instances where a binary with a system utility name runs from an unexpected location.

Data Sources

Process: Process CreationMicrosoft Defender for Endpoint

Required Tables

DeviceProcessEvents

False Positives & Tuning

  • Portable versions of system utilities carried by administrators for incident response (e.g., SysInternals tools that include cmd.exe wrappers)
  • Some virtualization or containerization tools that include renamed system binaries
  • Development environments that wrap system utilities (e.g., WSL has its own copies of some utilities)
  • Security testing tools that deliberately rename system binaries for testing purposes
Download portable Sigma rule (.yml)

Other platforms for T1574.008


Testing Methodology

Validate this detection against 3 adversary techniques from Atomic Red Team. Each test below lists the behaviour to exercise and the telemetry you should expect to see. Executable commands and cleanup steps are available with Pro.

  1. Test 1Create Fake Net.exe in Application Directory

    Expected signal: Sysmon Event ID 11 (FileCreate): net.exe created in TEMP subdirectory. If subsequently executed: Sysmon Event ID 1 showing net.exe running from %TEMP%\vulnerable-app rather than System32.

  2. Test 2Search Order Hijacking via .COM Extension (PATHEXT)

    Expected signal: Process creation events showing test.com executed instead of test.exe when called by name only. The CurrentDirectory in the process creation event shows the TEMP directory.

  3. Test 3PowerSploit Find-PathDLLHijack Discovery

    Expected signal: Sysmon Event ID 1: powershell.exe with PATH enumeration command. Sysmon Event ID 11: temporary test files created and deleted in writable PATH directories. PowerShell ScriptBlock Log Event ID 4104 with the enumeration script.

Unlock Pro Content

Get the full detection package for T1574.008 including response playbook, investigation guide, and atomic red team tests.

Response PlaybookInvestigation GuideHunting QueriesAtomic Red Team TestsTuning Guidance

Related Detections