Print Spooler & NTLM Relaying
Last updated
Last updated
Print Spooler is an old service enabled by default on Windows systems (even latest versions).
PrinterBug (found in 2018) abuses Print Spooler to force a remote machine to authenticate elsewhere, sending a TGT (ticket-granting ticket).
Microsoft won't fix this—it's "by design."
If Print Spooler is enabled on a Domain Controller (DC), an attacker can:
Relay the connection to another DC and perform DCSync (dump user hashes).
Connect to a machine with Unconstrained Delegation (UD) – extract TGTs from memory (with Rubeus/Mimikatz).
Abuse AD CS – get a certificate for the DC, impersonate it.
Abuse Resource-Based Kerberos Delegation – authenticate as any admin.
Pre-condition: SMB Signing must be disabled on the target DC.
Step 1: Start NTLMRelayx to relay to the second Domain Controller.
Step 2: Trigger the PrinterBug from a compromised user.
Step 3: Wait for NTLMRelayx to catch the connection and perform DCSync.
Result: You receive user password hashes from the second DC.
Disable Print Spooler on all non-printing servers (especially DCs).
Or block remote calls via registry:
RegisterSpoolerRemoteRpcEndPoint = 2
(disables remote access)
No specific logs for this, but:
Monitor logons from core servers
Correlate with unexpected IP addresses
Look for successful logons from Kali machine IP
Block outbound 139/445 from DCs using firewall.
This prevents reverse connection but alerts you if the bug is triggered.
⚠️ Only for mature environments, since unknown bugs could bypass this.