Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
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.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2021-1675 — # Pädagogischer Proof-of-Concept für PrintNightmare (CVE-2021-1675/34527) mit simuliertem, nicht funktionsfähigem Payload, Angriffsablauf-Analyse, MITRE-Zuordnung, Erkennungsanleitung und Behebungsmaßnahmen. | Kitploit
Tools/GitHubGitHub/hkenzokimura/cve-2021-1675
Privilege EscalationSchwachstellenanalyseExploitationLaterale BewegungPenetrationstestsLernen & Bildung
GitHubhkenzokimura/cve-2021-1675

CVE-2021-1675

# Pädagogischer Proof-of-Concept für PrintNightmare (CVE-2021-1675/34527) mit simuliertem, nicht funktionsfähigem Payload, Angriffsablauf-Analyse, MITRE-Zuordnung, Erkennungsanleitung und Behebungsmaßnahmen.

Repository anzeigen
29vor 1 MonatNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

🖨️ CVE-2021-1675 — PrintNightmare Windows Print Spooler RCE/LPE

Typ: Proof of Concept — Simuliert (nicht funktionsfähig) CVE: CVE-2021-1675 + CVE-2021-34527 CVSS: 7.8 (LPE) / 8.8 (RCE) Alias: PrintNightmare Gepatcht: Juni/Juli 2021 — KB5004945 Zur CISA KEV hinzugefügt: Juli 2021

⚠️ Das Payload dieses PoC ist ausdrücklich fiktiv und nicht bösartig — nur 4 Bytes DCE/RPC-Header, gefolgt vom Funktionsnamen in ASCII. Es führt keinen Code aus, installiert keinen Treiber, erhöht keine Privilegien. Ausschließlich für Lernzwecke und die Entwicklung von Erkennungsregeln.

Developed by: HKK


$ cat ./vulnerability_summary.txt

CVE-2021-1675, bekannt als PrintNightmare, ist eine kritische Schwachstelle für Remote Code Execution und Local Privilege Escalation im Windows Print Spooler-Dienst. Der Fehler ermöglicht es Angreifern, beliebigen Code mit SYSTEM-Rechten auszuführen, indem die Funktion RpcAddPrinterDriverEx() ausgenutzt wird, die für die Remote-Installation von Druckertreibern ohne angemessene Zugriffskontrollvalidierung verwendet wird.

Ursprünglich als LPE (CVSS 7.8) eingestuft und im Patch Tuesday vom Juni 2021 gepatcht, stufte Microsoft die Schwachstelle am 21. Juni als RCE (CVSS 8.8) neu ein. Um Verwirrung zu vermeiden, erhielt der RCE-Vektor eine neue Kennung, CVE-2021-34527 — beide werden allgemein als PrintNightmare bezeichnet.


$ cat ./timeline.txt

Jun 08, 2021  Microsoft veröffentlicht ersten Patch im Patch Tuesday — CVE-2021-1675 (LPE, CVSS 7.8)
Jun 21, 2021  Microsoft stuft als RCE neu ein (CVSS 8.8)
Jun 29, 2021  Forscher veröffentlichen versehentlich PoC — in der Annahme, es sei dieselbe bereits gepatchte Schwachstelle
Jul 01, 2021  CVE-2021-34527 für den RCE-Vektor vergeben — getrennt von der ursprünglichen LPE
Jul 02, 2021  Microsoft veröffentlicht Notfall-Patch außerhalb der Reihe: KB5004945
Jul 2021      CISA nimmt in den Known Exploited Vulnerabilities Catalog auf
              Aktive Ausnutzung durch Ransomware-Gruppen (Vice Society, Magniber, etc.)

$ cat ./architecture.txt

Warum ist der Print Spooler ein so wertvoller Vektor?

┌──────────────────────────────────────────────────────────────────────────┐
│              PRINTNIGHTMARE — ANGRIFFSABLAUF                              │
│                                                                          │
│  ANGREIFER (authentifizierter Benutzer)   WINDOWS PRINT SPOOLER          │
│                                                  (spoolsv.exe)           │
│  1. Authentifizierung mit beliebigem      ┌────────────────────────────┐ │
│     gültigem Domänenkonto                 │  Läuft als SYSTEM          │ │
│                    │                      │  Standardmäßig aktiv auf   │ │
│  2. Verbindung über RPC zum               │  allen Windows, inkl. DCs  │ │
│     Named Pipe \pipe\spoolss              └──────────────┬─────────────┘ │
│                    │                                     │               │
│  3. Aufruf von RpcAddPrinterDriverEx()                   │               │
│     mit Pfad zu bösartiger DLL ─────────────────────────►│               │
│     (UNC: \\attacker\share\evil.dll)                     │               │
│                                           ┌────────────▼────────────┐   │
│                                           │ Print Spooler lädt den  │   │
│                                           │ Treiber (DLL) als       │   │
│                                           │ SYSTEM, ohne Herkunft   │   │
│                                           │ oder Integrität zu      │   │
│                                           │ prüfen                  │   │
│                                           └────────────┬────────────┘   │
│                                                        │                 │
│  ◄── RCE / LPE als SYSTEM ────────────────────────────┘                 │
│       Neuer Admin-Benutzer, Reverse Shell,                               │
│       Ransomware-Bereitstellung, etc.                                    │
│                                                                          │
│  ─────────────────────────────────────────────────────────────────────  │
│  DIESER POC: nur TCP-Connect + 25 Bytes → kein echtes RPC → kein Exploit│
└──────────────────────────────────────────────────────────────────────────┘

$ cat ./design_decisions.md

1. Analyse des fiktiven Payloads

fake_rpc_payload = b"\x05\x00\x0b\x03RpcAddPrinterDriverEx"

Dieses Payload hat 25 Bytes und demonstriert zwei Konzepte gleichzeitig:

Bytes 0-3: Legitimer DCE/RPC-Header

ByteWertBedeutung
\x055Version des DCE/RPC-Protokolls (Version 5 — Windows-Standard)
\x000Minor-Version 0
\x0b11PDU-Typ: BIND — erster Schritt der RPC-Aushandlung
\x033Flags: `PFC_FIRST_FRAG(0x01)

Bytes 4-24: Funktionsname in ASCII

RpcAddPrinterDriverEx — der Name der verwundbaren Funktion, im Klartext.

Warum funktioniert dieses Payload nicht als echter Exploit?

Ein legitimes RPC-BIND würde nach dem 4-Byte-Header Folgendes erfordern:

- max_xmit_frag     (2 Bytes)
- max_recv_frag     (2 Bytes)
- assoc_group_id    (4 Bytes)
- num_ctx_items     (1 Byte)
- context_elem[]    → Interface-UUID von MS-RPRN:
                      {12345678-1234-ABCD-EF00-0123456789AB}
- transfer_syntaxes → NDR-UUID

Ohne diese Struktur weist Windows das Paket sofort zurück. Das Payload ist effektiv nur eine Konnektivitätsprüfung — „Kann ich Port 445 mit diesem fiktiven Payload erreichen?".


2. Port 445 — SMB als RPC-Transport

sock.connect((target_ip, 445))

Warum 445 und nicht 135 (RPC Endpoint Mapper)?

PrintNightmare verwendet die SMB-Named-Pipe \pipe\spoolss als Transport — nicht direktes RPC. Der tatsächliche Ablauf ist:

1. TCP-Connect → Port 445 (SMB)
2. SMB-Negotiation + Session-Setup (NTLM/Kerberos-Authentifizierung)
3. Tree-Connect → IPC$
4. Named-Pipe-Öffnung → \pipe\spoolss
5. DCE/RPC-BIND → Schnittstelle MS-RPRN
6. RpcAddPrinterDriverEx()-Aufruf mit NDR-Marshaling

Der PoC simuliert nur Schritt 1 — die anfängliche TCP-Verbindung — ohne die Schritte 2-6 zu implementieren.

sock.settimeout(5): Ein Timeout von 5 Sekunden verhindert, dass der PoC bei Hosts hängen bleibt, die nicht antworten. Nützlich für schnelles Scannen der Portverfügbarkeit.


3. CVE-2021-1675 vs CVE-2021-34527 — Die Unterscheidung

AspektCVE-2021-1675CVE-2021-34527
VektorLokal (LPE)Remote (RCE)
CVSS7.88.8
AuthentifizierungLokales KontoAuthentifiziertes Domänenkonto
PatchJuni 2021 (Patch Tuesday)Juli 2021 (außer der Reihe KB5004945)
Verwundbare FunktionRpcAddPrinterDriverExRpcAddPrinterDriverEx
SzenarioLokale EskalationRemote-RCE über SMB-Named-Pipe

Die Ursache ist in beiden Fällen dieselbe: Die Funktion RpcAddPrinterDriverEx() versäumt es, die Herkunft der Treiberdateien zu validieren, erzwingt keine angemessenen Privilegienbeschränkungen für die Treiberinstallation und prüft nicht die Authentizität oder Integrität der geladenen DLLs.


$ cat ./mitre_mapping.yml

tactic: Initial Access / Lateral Movement
  - T1210    # Exploitation of Remote Services
             # RPC-Aufruf über \pipe\spoolss an entfernten Host
             # Erfordert gültige Domänenanmeldedaten
Tool herunterladen