Detect Msiexec in CrowdStrike LogScale
Adversaries may abuse msiexec.exe to proxy execution of malicious payloads. Msiexec.exe is the command-line utility for the Windows Installer and is commonly associated with executing installation packages (.msi). Since it is a signed Microsoft binary, msiexec.exe can bypass application control solutions. Adversaries use it to launch local or remote MSI files and to execute DLLs. Execution may also be elevated to SYSTEM if the AlwaysInstallElevated policy is enabled. Widely abused by malware families including QakBot, IcedID, Emotet, Clop, Maze, Ragnar Locker, Latrodectus, Raspberry Robin, TA505, Rancor, ZIRCONIUM, and many others.
MITRE ATT&CK
- Tactic
- Defense Evasion
- Technique
- T1218 System Binary Proxy Execution
- Sub-technique
- T1218.007 Msiexec
- Canonical reference
- https://attack.mitre.org/techniques/T1218/007/
LogScale Detection Query
#event_simpleName=ProcessRollup2
| regex("(?i)\\\\msiexec\\.exe$", field=ImageFileName)
| case {
regex("(?i)(http[s]?|ftp)://", field=CommandLine) | RemoteMSI := "1" ;
* | RemoteMSI := "0"
}
| case {
regex("(?i)\\s/y\\s", field=CommandLine) | DLLExec := "1" ;
* | DLLExec := "0"
}
| case {
regex("(?i)(/q |/quiet |/passive )", field=CommandLine) | SilentInstall := "1" ;
* | SilentInstall := "0"
}
| case {
regex("(?i)(Temp|AppData|Downloads|Public|Desktop)", field=CommandLine) | SuspiciousPath := "1" ;
* | SuspiciousPath := "0"
}
| case {
regex("(?i)(cmd|powershell|wscript|cscript|mshta|winword|excel|outlook)\\.exe$", field=ParentBaseFileName) | SuspiciousParent := "1" ;
* | SuspiciousParent := "0"
}
| case {
regex("[A-Z]+=[a-zA-Z0-9+/]{10,}", field=CommandLine) | PropertyPair := "1" ;
* | PropertyPair := "0"
}
| where RemoteMSI = "1" or DLLExec = "1" or (SilentInstall = "1" and SuspiciousPath = "1") or SuspiciousParent = "1"
| table([_time, ComputerName, UserName, CommandLine, ParentBaseFileName, RemoteMSI, DLLExec, SilentInstall, SuspiciousPath, SuspiciousParent, PropertyPair])
| sort(field=_time, order=desc) Detects T1218.007 msiexec.exe proxy execution abuse using CrowdStrike LogScale CQL against Falcon ProcessRollup2 telemetry from the Falcon Data Replicator (FDR). Evaluates five risk indicators across the msiexec command line and parent process context: remote URL loading, DLL registration (/y), silent install from suspicious staging path, suspicious parent (Office/scripting engines), and MSI property pair injection patterns used by malware for payload delivery. Covers QakBot, IcedID, Raspberry Robin, and Latrodectus TTPs.
Data Sources
Required Tables
False Positives & Tuning
- CrowdStrike Falcon sensor self-updates or third-party EDR agents that install or update themselves via msiexec with silent flags from AppData paths, matching SilentInstall and SuspiciousPath simultaneously
- Remote monitoring and management (RMM) tools such as Kaseya, NinjaRMM, or Datto that invoke msiexec from PowerShell or cmd.exe parent processes during managed software deployments, triggering SuspiciousParent
- Internal developer tooling build systems that download MSI artifacts from internal CI artifact stores via HTTP during automated build agent provisioning, matching the RemoteMSI indicator on internal RFC1918 URLs
Other platforms for T1218.007
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 1Msiexec Remote MSI Execution
Expected signal: Sysmon Event ID 1: msiexec.exe with URL and /q flag. Sysmon Event ID 3: Network connection attempt to 127.0.0.1:8080. Security Event ID 4688. The installation will fail (no server) but the process creation event fires.
- Test 2Msiexec DLL Execution via /y Flag
Expected signal: Sysmon Event ID 11: DLL written to Temp. Sysmon Event ID 1: msiexec.exe with /y flag and Temp path. Sysmon Event ID 7 (Image Load) for the DLL being loaded by msiexec.
- Test 3Msiexec Silent Install from Temp Directory via PowerShell
Expected signal: Sysmon Event ID 1: powershell.exe, then msiexec.exe with /q and Temp path, ParentImage=powershell.exe. Both SuspiciousParent and SuspiciousPath fire. Security Event ID 4688 for both.
References (6)
- https://attack.mitre.org/techniques/T1218/007/
- https://lolbas-project.github.io/lolbas/Binaries/Msiexec/
- https://blog.trendmicro.com/trendlabs-security-intelligence/attack-using-windows-installer-msiexec-exe-leads-lokibot/
- https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/msiexec
- https://docs.microsoft.com/en-us/windows/win32/msi/alwaysinstallelevated
- https://github.com/redcanaryco/atomic-red-team/blob/master/atomics/T1218.007/T1218.007.md
Unlock Pro Content
Get the full detection package for T1218.007 including response playbook, investigation guide, and atomic red team tests.