Boot or Logon Autostart Execution: Print Processors
- ID
- T1547.012
- Tactics
- TA0003 Persistence, TA0004 Privilege Escalation
- Sub-technique of
- T1547 Boot or Logon Autostart Execution
- Platforms
- Windows
- Data sources
- Windows Registry Key Modification, File Creation, Module Load, Process Access
- Source
- attack.mitre.org
- MITRE last modified
- 25 Oct 2025
Adversaries may abuse print processors to run malicious DLLs during system boot for persistence and/or privilege escalation. Print processors are DLLs that are loaded by the print spooler service, spoolsv.exe, during boot.[1]
Adversaries may abuse the print spooler service by adding print processors that load malicious DLLs at startup. A print processor can be installed through the AddPrintProcessor API call with an account that has SeLoadDriverPrivilege enabled. Alternatively, a print processor can be registered to the print spooler service by adding the HKLM\SYSTEM\\[CurrentControlSet or ControlSet001]\Control\Print\Environments\\[Windows architecture: e.g., Windows x64]\Print Processors\\[user defined]\Driver Registry key that points to the DLL.
For the malicious print processor to be correctly installed, the payload must be located in the dedicated system print-processor directory, that can be found with the GetPrintProcessorDirectory API call, or referenced via a relative path from this directory.[2] After the print processors are installed, the print spooler service, which starts during boot, must be restarted in order for them to run.[3]
The print spooler service runs under SYSTEM level permissions, therefore print processors installed by an adversary may run under elevated privileges.
Detection
- DET0026 Windows Detection Strategy for T1547.012 - Print Processor DLL Persistence
Data components: Windows Registry Key Modification, File Creation, Module Load, Process Access
Mitigations (1)
- M1018 User Account Management
Limit user accounts that can load or unload device drivers by disabling
SeLoadDriverPrivilege.
