T1574.009 Google Chronicle · YARA-L

Detect Path Interception by Unquoted Path in Google Chronicle

Adversaries exploit unquoted service executable paths that contain spaces. When a service path like C:\Program Files\My Service\service.exe is not quoted, Windows parses it by trying C:\Program.exe, then C:\Program Files\My.exe, then C:\Program Files\My Service\service.exe. An adversary with write access to C:\ or C:\Program Files\ can plant Program.exe or Program Files\My.exe to intercept service startup. This technique achieves privilege escalation because services typically run as SYSTEM. PowerSploit (Get-ServiceUnquoted), Empire, and winPEAS all include unquoted path discovery. It is particularly prevalent in third-party software installations that fail to properly quote service paths.

MITRE ATT&CK

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

YARA-L Detection Query

Google Chronicle (YARA-L)
yaral
rule T1574_009_hijack_execution {
  meta:
    author = "Detection Engineering"
    description = "Detects execution flow hijacking via installer or DLL path manipulation"
    severity = "medium"
    confidence = "low"
    mitre_attack = "T1574.009"
    reference = "https://attack.mitre.org/techniques/T1574/009/"

  events:
    $e.metadata.event_type = "PROCESS_LAUNCH"
    (
      re.regex($e.target.process.file.full_path, `(?i)\\temp\\.*\.exe`) or
      re.regex($e.target.process.file.full_path, `(?i)\\appdata\\.*\.exe`)
    )
    not re.regex($e.principal.process.file.full_path, `(?i)(msiexec|trustedinstaller|wusa|dpinst)`)
    not $e.principal.user.user_display_name = "SYSTEM"

  condition:
    $e
}
medium severity low confidence

Google Chronicle YARA-L 2.0 detection for Path Interception by Unquoted Path. Detects service registry entries with unquoted paths containing spaces — the pre-condition for unquoted path interception attacks. Monitors the Services registry hive for ImagePath/BinPath values that

Data Sources

Google Chronicle SIEMEndpoint telemetry

Required Tables

PROCESS_LAUNCH

False Positives & Tuning

  • Legitimate multi-stage installer processes that modify binaries during installation phases
  • Enterprise software deployment tools staging installer components in temp directories
  • Self-updating applications that download and replace their own binaries
  • Archive utilities that extract executables to temp before running them
Download portable Sigma rule (.yml)

Other platforms for T1574.009


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 Vulnerable Service with Unquoted Path

    Expected signal: Security Event ID 7045 (System log): Service Installed event for UnquotedTestService. Sysmon Event ID 13 (Registry): HKLM\SYSTEM\CurrentControlSet\Services\UnquotedTestService\ImagePath set to unquoted value. Process creation for sc.exe.

  2. Test 2Enumerate Unquoted Service Paths (PowerSploit-Style)

    Expected signal: PowerShell process creation with WMI query to Win32_Service. Sysmon Event ID 19 (WMI Activity) may log the WMI query. PowerShell ScriptBlock Log Event ID 4104 records the enumeration script.

  3. Test 3Plant Interception Binary at C:\Program.exe

    Expected signal: Sysmon Event ID 11 (FileCreate): C:\Program.exe created at root of C: drive. High-priority alert — any EXE at C:\ root is anomalous. If any service with unquoted 'C:\Program Files' path starts, this binary would execute as SYSTEM.

Unlock Pro Content

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

Response PlaybookInvestigation GuideHunting QueriesAtomic Red Team TestsTuning Guidance

Related Detections