Abuse of Windows InstallUtil for Application Control Bypass
Adversaries leverage the signed binary InstallUtil.exe with the /u flag to execute arbitrary code and bypass Windows application control policies.
InstallUtil.exe is a legitimate Microsoft-signed binary used to install and uninstall server resources. Threat actors exploit this capability by passing the /u (uninstall) switch to load and execute malicious assemblies, effectively using the binary as a proxy to bypass application control mechanisms like AppLocker. This technique, tracked as MITRE ATT&CK T1218.004, allows attackers to execute code while appearing as a trusted system process. Monitoring for this behavior is essential for detection engineers, as it often indicates an attempt to establish persistence or run malicious payloads without requiring administrative privileges. Defenders should focus on process lineage and command-line arguments to distinguish legitimate administrative use of InstallUtil from malicious execution.
Attack Chain
- Attacker gains initial access or code execution on a Windows endpoint.
- Attacker compiles a malicious .NET assembly designed to execute custom code upon uninstallation.
- Attacker drops the malicious assembly onto the file system.
- Attacker executes InstallUtil.exe via command line with the /u parameter and a path to the malicious assembly.
- InstallUtil.exe initializes the uninstallation process, loading the attacker's assembly into its process space.
- The .NET assembly executes, triggering the attacker's payload (e.g., C2 beaconing or credential theft).
- Attacker achieves post-exploitation objectives while maintaining a low profile by using a signed binary.
Impact
Successful abuse of InstallUtil.exe can lead to complete endpoint compromise, credential theft, and the establishment of long-term persistence within an environment. Because the malicious code runs under the context of a trusted, signed Microsoft binary, it can circumvent security controls that rely on file reputation or basic application allow-listing, potentially affecting any Windows environment where .NET is deployed.
Recommendation
- Deploy the Sigma rule below to detect suspicious use of the InstallUtil binary.
- Enable process creation logging (Sysmon Event ID 1 or Security Event ID 4688) to capture command-line arguments.
- Monitor for InstallUtil.exe spawning from non-standard parent processes or from unexpected user contexts.
- Utilize Endpoint Detection and Response (EDR) telemetry to correlate process executions with file system modifications of .NET assemblies.
Immediate actions
Deploy the Sigma detection rule to the SIEM
Threat Hunt
Search historical logs for InstallUtil.exe usage with /u or uninstall switches
Data: Process creation logs
Mitigations
Restrict the execution of InstallUtil.exe to known-good administrative users and paths via AppLocker or WDAC
T1218.004
Detection coverage 1
Detect Suspicious InstallUtil Uninstall Execution
mediumDetects the use of the Windows InstallUtil.exe binary with the /u (uninstall) switch, which can be abused to bypass application control.
Detection queries are available on the platform. Get full rules →