Detection rules › Sigma
Msiexec Quiet Installation
Adversaries may abuse msiexec.exe to proxy execution of malicious payloads. Msiexec.exe is the command-line utility for the Windows Installer and is thus commonly associated with executing installation packages (.msi)
Known false positives
- WindowsApps installing updates via the quiet flag
MITRE ATT&CK coverage
| Tactic | Techniques |
|---|---|
| Stealth |
Telemetry coverage
| Provider | Record / event type |
|---|---|
| Sysmon | Event ID 1: Process creation |
Rule body
title: Msiexec Quiet Installation
id: 79a87aa6-e4bd-42fc-a5bb-5e6fbdcd62f5
status: test
description: |
Adversaries may abuse msiexec.exe to proxy execution of malicious payloads.
Msiexec.exe is the command-line utility for the Windows Installer and is thus commonly associated with executing installation packages (.msi)
references:
- https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/msiexec
- https://github.com/redcanaryco/atomic-red-team/blob/f339e7da7d05f6057fdfcdd3742bfcf365fee2a9/atomics/T1218.007/T1218.007.md
- https://twitter.com/_st0pp3r_/status/1583914244344799235
author: frack113
date: 2022-01-16
modified: 2026-07-28
tags:
- attack.stealth
- attack.t1218.007
logsource:
category: process_creation
product: windows
detection:
selection_img:
- Image|endswith: '\msiexec.exe'
- OriginalFileName: 'msiexec.exe'
selection_cli:
# Note that there is no space before and after the arguments because it's possible to write a commandline as such
# Example: msiexec -q/i [MSI Package]
CommandLine|contains|windash:
- '-i'
- '-package'
- '-a'
- '-j'
selection_quiet:
CommandLine|contains|windash: '-q'
filter_main_system_temp:
ParentImage|startswith: 'C:\Windows\Temp\'
filter_main_ccm:
ParentImage: 'C:\Windows\CCM\Ccm32BitLauncher.exe'
IntegrityLevel:
- 'System'
- 'S-1-16-16384'
filter_optional_user_temp:
# The %temp% is a very common location for installers
ParentImage|startswith: 'C:\Users\'
ParentImage|contains: '\AppData\Local\Temp\'
filter_optional_wsl:
# C:\WINDOWS\system32\msiexec.exe /quiet /i "C:\Users\xodih\AppData\Local\Temp\wsl.2.6.3.0.arm64 (2).msi" SKIPVALIDATION=1 /L*V C:\Users\xodih\AppData\Local\Temp\wsl-install-logs.txt
ParentImage|endswith: 'C:\Windows\System32\wsl.exe'
Image|endswith: 'C:\Windows\System32\msiexec.exe'
condition: all of selection_* and not 1 of filter_main_* and not 1 of filter_optional_*
falsepositives:
- WindowsApps installing updates via the quiet flag
level: medium
Stages and Predicates
Stage 0: condition
all of selection_* and not 1 of filter_main_* and not 1 of filter_optional_*Stage 1: selection_img
selection_img:
- Image|endswith: '\msiexec.exe'
- OriginalFileName: 'msiexec.exe'
Stage 2: selection_cli
selection_cli:
CommandLine|contains|windash:
- '-i'
- '-package'
- '-a'
- '-j'
Stage 3: selection_quiet
selection_quiet:
CommandLine|contains|windash: '-q'
Stage 4: not filter_main_*
filter_main_system_temp:
ParentImage|startswith: 'C:\Windows\Temp\'
filter_main_ccm:
ParentImage: 'C:\Windows\CCM\Ccm32BitLauncher.exe'
IntegrityLevel:
- 'System'
- 'S-1-16-16384'
Stage 5: not filter_optional_*
filter_optional_user_temp:
ParentImage|startswith: 'C:\Users\'
ParentImage|contains: '\AppData\Local\Temp\'
filter_optional_wsl:
ParentImage|endswith: 'C:\Windows\System32\wsl.exe'
Image|endswith: 'C:\Windows\System32\msiexec.exe'
Exclusions
The rule actively suppresses these predicates.
| Field | Kind | Excluded values | Search |
|---|---|---|---|
IntegrityLevel | eq | S-1-16-16384 | excludes:IntegrityLevel field:"IntegrityLevel" value:"S-1-16-16384" |
IntegrityLevel | eq | System | excludes:IntegrityLevel field:"IntegrityLevel" value:"System" |
ParentImage | eq | C:\Windows\CCM\Ccm32BitLauncher.exe | excludes:ParentImage field:"ParentImage" value:"C:\Windows\CCM\Ccm32BitLauncher.exe" |
ParentImage | starts_with | C:\Windows\Temp\ | excludes:ParentImage field:"ParentImage" value:"C:\Windows\Temp\" |
Image | ends_with | C:\Windows\System32\msiexec.exe | excludes:Image field:"Image" value:"C:\Windows\System32\msiexec.exe" |
ParentImage | ends_with | C:\Windows\System32\wsl.exe | excludes:ParentImage field:"ParentImage" value:"C:\Windows\System32\wsl.exe" |
ParentImage | match | \AppData\Local\Temp\ | excludes:ParentImage field:"ParentImage" value:"\AppData\Local\Temp\" |
ParentImage | starts_with | C:\Users\ | excludes:ParentImage field:"ParentImage" value:"C:\Users\" |
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
CommandLine | match |
| field:"CommandLine" kind:match |
Image | ends_with |
| field:"Image" kind:ends_with value:"\msiexec.exe" |
OriginalFileName | eq |
| field:"OriginalFileName" kind:eq value:"msiexec.exe" |