T1218.004 Google Chronicle · YARA-L

Detect InstallUtil in Google Chronicle

Adversaries may use InstallUtil to proxy execution of code through a trusted Windows utility. InstallUtil is a command-line utility that allows for installation and uninstallation of resources by executing specific installer components specified in .NET binaries. The InstallUtil binary is digitally signed by Microsoft and located in the .NET directories. InstallUtil may also bypass application control by using the [System.ComponentModel.RunInstaller(true)] attribute decorator pattern. Known users of this technique include Mustang Panda (Beacon stager), WhisperGate (Windows Defender disable), Chaes malware, Saint Bot, and the Covenant C2 framework.

MITRE ATT&CK

Tactic
Defense Evasion
Technique
T1218 System Binary Proxy Execution
Sub-technique
T1218.004 InstallUtil
Canonical reference
https://attack.mitre.org/techniques/T1218/004/

YARA-L Detection Query

Google Chronicle (YARA-L)
yaral
rule installutil_proxy_execution_t1218_004 {
  meta:
    author = "Argus Detection Engineering"
    description = "Detects T1218.004 - InstallUtil used as a LOLBIN for proxy execution of malicious .NET assemblies"
    mitre_attack_tactic = "Defense Evasion"
    mitre_attack_technique = "T1218.004"
    severity = "HIGH"
    confidence = "HIGH"
    created = "2026-04-13"
    reference = "https://attack.mitre.org/techniques/T1218/004/"

  events:
    $e.metadata.event_type = "PROCESS_LAUNCH"
    (
      re.regex($e.target.process.file.full_path, `(?i).*\\installutil\.exe$`) or
      re.regex($e.principal.process.file.full_path, `(?i).*\\installutil\.exe$`)
    )
    (
      re.regex($e.target.process.command_line, `(?i)(\\Temp\\|\\AppData\\|\\Downloads\\|\\Public\\|\\ProgramData\\|\\Users\\)`) or
      re.regex($e.principal.process.file.full_path, `(?i)(cmd|powershell|wscript|cscript|mshta|winword|excel)\.exe$`) or
      re.regex($e.target.process.command_line, `(?i)(/u\s|/uninstall|/logfile)`) or
      (
        re.regex($e.principal.process.file.full_path, `(?i).*\\installutil\.exe$`) and
        re.regex($e.target.process.file.full_path, `(?i)(cmd|powershell|wscript|cscript|rundll32|regsvr32|net)\.exe$`)
      )
    )

  condition:
    $e
}
high severity high confidence

Google Chronicle YARA-L 2.0 rule for T1218.004 InstallUtil proxy execution. Triggers on UDM PROCESS_LAUNCH events where InstallUtil is invoked from a suspicious interpreter or Office parent, uses a user-writable path or suppression flags, or itself spawns common post-exploitation binaries. Uses UDM principal (parent) and target (child) process fields.

Data Sources

Google Chronicle SIEMChronicle Unified Data Model (UDM)Windows Sysmon forwarded via Chronicle forwarderCrowdStrike or Carbon Black via Chronicle ingestion

Required Tables

UDM PROCESS_LAUNCH events

False Positives & Tuning

  • Endpoint management platforms (Intune, SCCM, Jamf for Windows) that invoke InstallUtil via a cmd.exe or PowerShell parent as part of managed .NET application provisioning, matching both the suspicious_parent and path conditions
  • Developer workstations where iterative .NET component development results in InstallUtil being called from user AppData or a Downloads staging directory during testing cycles
  • Legitimate administrative uninstallation workflows using /u or /uninstall flags to deregister .NET services or Windows Installer components during software lifecycle management
Download portable Sigma rule (.yml)

Other platforms for T1218.004


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 1InstallUtil Execution from Temp Directory

    Expected signal: Sysmon Event ID 1: installutil.exe with Temp path in command line, /logfile and /logtoconsole flags. Security Event ID 4688 for the process. Sysmon Event ID 7 (Image Load) for the DLL being loaded.

  2. Test 2InstallUtil with Uninstall Flag

    Expected signal: Sysmon Event ID 1: installutil.exe with /u flag and temp path. Security Event ID 4688. The process will fail if the file doesn't exist or isn't a valid installer assembly, but the process creation event still fires.

  3. Test 3InstallUtil Invoked from PowerShell

    Expected signal: Sysmon Event ID 1: powershell.exe followed by installutil.exe with ParentImage=powershell.exe. Both SuspiciousParent and SuspiciousPath indicators fire. Security Event ID 4688 for both processes.

Unlock Pro Content

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

Response PlaybookInvestigation GuideHunting QueriesAtomic Red Team TestsTuning Guidance

Related Detections