Event Triggered Execution: Windows Management Instrumentation Event Subscription

Adversaries may establish persistence and elevate privileges by executing malicious content triggered by a Windows Management Instrumentation (WMI) event subscription. WMI can be used to install event filters, providers, consumers, and bindings that execute code when a defined event occurs. Examples of events that may be subscribed to are the wall clock time, user login, or the computer's uptime.[1]

Adversaries may use the capabilities of WMI to subscribe to an event and execute arbitrary code when that event occurs, providing persistence on a system.[2][3] Adversaries may also compile WMI scripts – using mofcomp.exe –into Windows Management Object (MOF) files (.mof extension) that can be used to create a malicious subscription.[4][5]

WMI subscription execution is proxied by the WMI Provider Host process (WmiPrvSe.exe) and thus may result in elevated SYSTEM privileges.

ID: T1546.003
Sub-technique of:  T1546
Platforms: Windows
Permissions Required: Administrator, SYSTEM
Contributors: Brent Murphy, Elastic; David French, Elastic; Viren Chaudhari, Qualys
Version: 1.4
Created: 24 January 2020
Last Modified: 13 April 2024

Procedure Examples

ID Name Description
S0202 adbupd

adbupd can use a WMI script to achieve persistence.[6]

G0016 APT29

APT29 has used WMI event subscriptions for persistence.[7]

G0064 APT33

APT33 has attempted to use WMI event subscriptions to establish persistence on compromised hosts.[8]


BADHATCH can use WMI event subscriptions for persistence.[9]

G0108 Blue Mockingbird

Blue Mockingbird has used mofcomp.exe to establish WMI Event Subscription persistence mechanisms configured from a *.mof file.[10]

G0061 FIN8

FIN8 has used WMI event subscriptions for persistence.[11]


HEXANE has used WMI event subscriptions for persistence.[12]


HOPLIGHT can use WMI event subscriptions to create persistence.[13]

S1020 Kevin

Kevin can compile randomly-generated MOF files into the WMI repository to persistently run malware.[12]

G0065 Leviathan

Leviathan has used WMI for persistence.[14]

G1013 Metador

Metador has established persistence through the use of a WMI event subscription combined with unusual living-off-the-land binaries such as cdb.exe.[15]

S1059 metaMain

metaMain registered a WMI event subscription consumer called "hard_disk_stat" to establish persistence.[15]

G0129 Mustang Panda

Mustang Panda's custom ORat tool uses a WMI event consumer to maintain persistence.[16]

C0023 Operation Ghost

During Operation Ghost, APT29 used WMI event subscriptions to establish persistence for malware.[17]

S0378 PoshC2

PoshC2 has the ability to persist on a system using WMI events.[18]


POSHSPY uses a WMI event subscription to establish persistence.[19]


POWERTON can use WMI for persistence.[20]

G0075 Rancor

Rancor has complied VBScript-generated MOF files into WMI event subscriptions for persistence.[21]

S0511 RegDuke

RegDuke can persist using a WMI consumer that is launched every time a process named WINWORD.EXE is started.[17]

S1085 Sardonic

Sardonic can use a WMI event filter to invoke a command-line event consumer to gain persistence.[22]

S0053 SeaDuke

SeaDuke uses an event filter in WMI code to execute a previously dropped executable shortly after system startup.[3]


SILENTTRINITY can create a WMI Event to execute a payload for persistence.[23]

C0024 SolarWinds Compromise

During the SolarWinds Compromise, APT29 used a WMI event filter to invoke a command-line event consumer at system boot time to launch a backdoor with rundll32.exe.[24][25]

S0682 TrailBlazer

TrailBlazer has the ability to use WMI for persistence.[26]

G0010 Turla

Turla has used WMI event filters and consumers to establish persistence.[27]


ID Mitigation Description
M1040 Behavior Prevention on Endpoint

On Windows 10, enable Attack Surface Reduction (ASR) rules to prevent malware from abusing WMI to attain persistence.[28]

M1026 Privileged Account Management

Prevent credential overlap across systems of administrator and privileged accounts.[3]

M1018 User Account Management

By default, only administrators are allowed to connect remotely using WMI; restrict other users that are allowed to connect, or disallow all users from connecting remotely to WMI.


ID Data Source Data Component Detects
DS0017 Command Command Execution

Monitor executed commands and arguments that can be used to register WMI persistence, such as the Register-WmiEvent PowerShell cmdlet [29]

DS0022 File File Creation

Monitor for MOF files outside of the HKLM\SOFTWARE\Microsoft\WBEM folder, as almost all legitimate MOF files will be stored in the WBEM folder.[30] Adversaries may create modified MOF files to be complied into WMI event subscriptions.

DS0009 Process Process Creation

Monitor newly executed processes that result from the execution of subscriptions (i.e. spawning from the WmiPrvSe.exe WMI Provider Host process).

Note: Windows Event ID 4688 (A new process has been created) and Sysmon Event ID 1 (Process creation) can be used to alert on processes created by WMI event subscription triggers by filtering on events with a parent process name of WmiPrvSe.exe.

Monitor for execution of mofcomp.exe as a child of a suspicious shell or script running utility – \powershell.exe or \cmd.exe – or by having a suspicious path in the command line, such as %temp%.[31][32] Adversaries may compile modified MOF files using mofcomp.exe to create malicious WMI event subscriptions.

DS0005 WMI WMI Creation

Monitor WMI event subscription entries, comparing current WMI event subscriptions to known good subscriptions for each host. Tools such as Sysinternals Autoruns may also be used to detect WMI changes that could be attempts at persistence. [33] [34] Monitor for the creation of new WMI EventFilter, EventConsumer, and FilterToConsumerBinding events. Event ID 5861 is logged on Windows 10 systems when new EventFilterToConsumerBinding events are created.[35]


  1. Mandiant. (2015, February 24). M-Trends 2015: A View from the Front Lines. Retrieved May 18, 2016.
  2. Devon Kerr. (2015). There's Something About WMI. Retrieved May 4, 2020.
  3. Ballenthin, W., et al. (2015). Windows Management Instrumentation (WMI) Offense, Defense, and Forensics. Retrieved March 30, 2016.
  4. Dell SecureWorks Counter Threat Unit™ (CTU) Research Team. (2016, March 28). A Novel WMI Persistence Implementation. Retrieved March 30, 2016.
  5. Satran, M. (2018, May 30). Managed Object Format (MOF). Retrieved January 24, 2020.
  6. Windows Defender Advanced Threat Hunting Team. (2016, April 29). PLATINUM: Targeted attacks in South and Southeast Asia. Retrieved February 15, 2018.
  7. Dunwoody, M. and Carr, N.. (2016, September 27). No Easy Breach DerbyCon 2016. Retrieved October 4, 2016.
  8. Microsoft Threat Protection Intelligence Team. (2020, June 18). Inside Microsoft Threat Protection: Mapping attack chains from cloud to endpoint. Retrieved June 22, 2020.
  9. Vrabie, V., et al. (2021, March 10). FIN8 Returns with Improved BADHATCH Toolkit. Retrieved September 8, 2021.
  10. Lambert, T. (2020, May 7). Introducing Blue Mockingbird. Retrieved May 26, 2020.
  11. Martin Zugec. (2021, July 27). Deep Dive Into a FIN8 Attack - A Forensic Investigation. Retrieved September 1, 2021.
  12. Kayal, A. et al. (2021, October). LYCEUM REBORN: COUNTERINTELLIGENCE IN THE MIDDLE EAST. Retrieved June 14, 2022.
  13. US-CERT. (2019, April 10). MAR-10135536-8 – North Korean Trojan: HOPLIGHT. Retrieved April 19, 2019.
  14. FireEye. (2018, March 16). Suspected Chinese Cyber Espionage Group (TEMP.Periscope) Targeting U.S. Engineering and Maritime Industries. Retrieved April 11, 2018.
  15. Ehrlich, A., et al. (2022, September). THE MYSTERY OF METADOR | AN UNATTRIBUTED THREAT HIDING IN TELCOS, ISPS, AND UNIVERSITIES. Retrieved January 23, 2023.
  16. Counter Threat Unit Research Team. (2019, December 29). BRONZE PRESIDENT Targets NGOs. Retrieved April 13, 2021.
  17. Faou, M., Tartare, M., Dupuy, T. (2019, October). OPERATION GHOST. Retrieved September 23, 2020.
  18. Nettitude. (2018, July 23). Python Server for PoshC2. Retrieved April 23, 2019.
  1. Dunwoody, M.. (2017, April 3). Dissecting One of APT29’s Fileless WMI and PowerShell Backdoors (POSHSPY). Retrieved April 5, 2017.
  2. Ackerman, G., et al. (2018, December 21). OVERRULED: Containing a Potentially Destructive Adversary. Retrieved January 17, 2019.
  3. Jen Miller-Osborn and Mike Harbison. (2019, December 17). Rancor: Cyber Espionage Group Uses New Custom Malware to Attack Southeast Asia. Retrieved February 9, 2024.
  4. Budaca, E., et al. (2021, August 25). FIN8 Threat Actor Goes Agile with New Sardonic Backdoor. Retrieved August 9, 2023.
  5. Salvati, M. (2019, August 6). SILENTTRINITY Modules. Retrieved March 24, 2022.
  6. MSTIC, CDOC, 365 Defender Research Team. (2021, January 20). Deep dive into the Solorigate second-stage activation: From SUNBURST to TEARDROP and Raindrop . Retrieved January 22, 2021.
  7. Microsoft 365 Defender Team. (2020, December 28). Using Microsoft 365 Defender to protect against Solorigate. Retrieved January 7, 2021.
  8. CrowdStrike. (2022, January 27). Early Bird Catches the Wormhole: Observations from the StellarParticle Campaign. Retrieved February 7, 2022.
  9. Faou, M. and Dumont R.. (2019, May 29). A dive into Turla PowerShell usage. Retrieved June 14, 2019.
  10. Microsoft. (2021, July 2). Use attack surface reduction rules to prevent malware infection. Retrieved June 24, 2021.
  11. Microsoft. (n.d.). Retrieved January 24, 2020.
  12. Chad Tilbury. (2023, May 22). Finding Evil WMI Event Consumers with Disk Forensics. Retrieved February 9, 2024.
  13. detection.fyi. (2023, October 28). Potential Suspicious Mofcomp Execution. Retrieved February 9, 2024.
  14. The DFIR Report. (2023, January 8). proc_creation_win_mofcomp_execution.yml. Retrieved February 9, 2024.
  15. Russinovich, M. (2016, January 4). Autoruns for Windows v13.51. Retrieved June 6, 2016.
  16. French, D. (2018, October 9). Detecting & Removing an Attacker’s WMI Persistence. Retrieved October 11, 2019.
  17. French, D., Murphy, B. (2020, March 24). Adversary tradecraft 101: Hunting for persistence using Elastic Security (Part 1). Retrieved December 21, 2020.