Detect InstallUtil in CrowdStrike LogScale
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/
LogScale Detection Query
#event_simpleName=ProcessRollup2
| ImageFileName=/(?i)\\installutil\.exe$/ OR ParentBaseFileName=/(?i)^installutil\.exe$/
| SuspiciousPath := if(CommandLine=/(?i)(\\Temp\\|\\AppData\\|\\Downloads\\|\\Public\\|\\ProgramData\\|\\Users\\)/, 1, 0)
| SuspiciousParent := if(ParentBaseFileName=/(?i)^(cmd|powershell|wscript|cscript|mshta|winword|excel)\.exe$/, 1, 0)
| UninstallFlag := if(CommandLine=/(?i)(\/u\s|\/uninstall|\/logfile)/, 1, 0)
| SuspiciousChild := if(ParentBaseFileName=/(?i)^installutil\.exe$/ AND ImageFileName=/(?i)(cmd|powershell|wscript|cscript|rundll32|regsvr32|net)\.exe$/, 1, 0)
| RiskScore := SuspiciousPath + SuspiciousParent + UninstallFlag + SuspiciousChild
| RiskScore > 0 OR ParentBaseFileName=/(?i)^installutil\.exe$/
| select([@timestamp, ComputerName, UserName, ImageFileName, CommandLine, ParentBaseFileName, ParentCommandLine, SuspiciousPath, SuspiciousParent, UninstallFlag, SuspiciousChild, RiskScore])
| sort(field=@timestamp, order=desc) CrowdStrike LogScale CQL query detecting T1218.004 InstallUtil proxy execution using Falcon ProcessRollup2 telemetry. Derives a composite risk score from four behavioural indicators — suspicious payload path, interpreter or Office parent process, command-line suppression or uninstall flags, and post-exploitation child process spawning — and surfaces all events with any positive score or where InstallUtil is the direct parent.
Data Sources
Required Tables
False Positives & Tuning
- Falcon-protected endpoints running SCCM or PDQ Deploy software distribution tasks where the deployment wrapper is cmd.exe or PowerShell, triggering SuspiciousParent on legitimate .NET component installations
- Windows CI/CD build agents (Azure DevOps, Jenkins) where MSBuild tasks stage .NET assemblies under a user AppData or TEMP build cache directory before invoking InstallUtil for local registration, scoring on SuspiciousPath
- IT operations staff using InstallUtil /u during software removal procedures on managed endpoints, which scores on UninstallFlag regardless of payload legitimacy
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.
- 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.
- 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.
- 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.
References (7)
- https://attack.mitre.org/techniques/T1218/004/
- https://lolbas-project.github.io/lolbas/Binaries/Installutil/
- https://msdn.microsoft.com/en-us/library/50614e95.aspx
- https://github.com/redcanaryco/atomic-red-team/blob/master/atomics/T1218.004/T1218.004.md
- https://unit42.paloaltonetworks.com/attackers-tactics-and-techniques-in-unsecured-docker-daemons-revealed/
- https://www.cybereason.com/blog/operation-cobalt-kitty-apt
- https://www.anomali.com/blog/mustang-panda-threat-actor-targets-minority-groups-journalists-and-activists
Unlock Pro Content
Get the full detection package for T1218.004 including response playbook, investigation guide, and atomic red team tests.