CVE-2024-38063 — Windows IPv6-Stack-Schwachstelle (Analyse & PoC)
-red)
Technische Analyse und Proof-of-Concept (PoC) für CVE-2024-38063, eine kritische Remote-Code-Execution-(RCE-)Schwachstelle im Windows-IPv6-Stack (tcpip.sys). Diese von KunLun Lab entdeckte Schwachstelle ist zero-click, das heißt, sie kann durch speziell präparierte Pakete ohne Benutzerinteraktion ausgelöst werden.
Akademischer Kontext: Abschlussprojekt für den Kurs „Grundlagen der Netzwerksicherheit“.
Demo
Inhaltsverzeichnis
Überblick
Dieses Repository enthält:
- eine strukturierte Analyse der Schwachstelle,
- eine PoC-Demonstration mit Scapy,
- sowie die vollständige Kursdokumentation und Laboranleitungen.
Technische Zusammenfassung
Das Kernproblem ist ein Integer-Underflow in tcpip.sys bei der Verarbeitung von IPv6-Erweiterungsheadern innerhalb fragmentierten Datenverkehrs.
- Logikfehler: Die Validierung der Header-Länge schlägt bei der Berechnung fehl.
- Speicherbeschädigung: Der Underflow führt zu einem Pufferüberlauf und unsicheren Speicherschreibvorgängen.
- Auswirkung: potenzieller BSOD und RCE unter bestimmten Bedingungen.
Repository-Inhalt
- CVE-2024-38063 Analysis.pdf — Folien zu Hintergrund, Ursache und Gegenmaßnahmen.
- CVE-2024-38063.py — Scapy-basiertes PoC-Skript (demonstriert das Absturzverhalten).
- WriteUP.pdf — Vollständige Ausarbeitung, Laboranforderungen und Ausführungshinweise.
Laboreinrichtung
Um die Umgebung in einem kontrollierten, edukativen Labor nachzubilden:
- Opfer: Windows 10/11 vor dem Patch vom Aug. 2024 / 24H2, IPv6 aktiviert.
- Angreifer: Linux-VM mit Python 3, Scapy.
- Netzwerk: IPv6-Konnektivität zwischen beiden Maschinen im selben Netzwerksegment.
PoC-Logik (auf hoher Ebene)
Der PoC erstellt eine Folge von Paketen, um den Underflow auszulösen:
- Destination Options mit einem nicht erkannten Optionstyp, um Fehlerbehandlungspfade zu erzwingen.
- Fragment 1, um die Fragmentierung zu starten und Nutzdaten bereitzustellen.
- Fragment 2, um die Sequenz zu beenden.
Das Skript wiederholt diese Batches und variiert dabei das Hop-Limit, um die Wahrscheinlichkeit zu erhöhen, den verwundbaren Verarbeitungspfad zu treffen.
Verwendung
- Ermitteln Sie die IPv6-Zieladresse.
- Aktualisieren Sie
ip_addr und iface in CVE-2024-38063.py.
- Führen Sie das Skript von der Angreifer-Maschine aus:
pip install scapy
pip install getmac
python3 CVE-2024-38063.py
Wenn das Ziel anfällig ist, tritt typischerweise innerhalb von 30–60 Sekunden ein BSOD auf, während der Kernel fehlerhafte Header verarbeitet.
Gegenmaßnahmen
- Sicherheitsupdates anwenden: Microsoft-Patch (13. August 2024).
- IPv6 deaktivieren, wo ein Patchen nicht möglich ist.
- Firewall-Filterung: Fragmentierte IPv6-Pakete an der Peripherie blockieren.
Was ich gelernt habe
- IPv6-Header-Architektur: Mein Verständnis der Next-Header-Verkettung (Hop-by-Hop, Destination Options und Fragmentation) sowie der Tatsache, dass die Komplexität verschachtelter Header die Angriffsfläche im Netzwerk vergrößert, wurde vertieft.
- Paketverarbeitung auf Kernel-Ebene (
tcpip.sys): Ich habe die Paketverarbeitung im Ring 0 aus erster Hand beobachtet. Da die Reassemblierung und das Parsen von Fragmenten tief im Inneren des Netzwerktreibers erfolgen, bevor sie User-Mode-Sockets erreichen, umgehen Schwachstellen auf dieser Ebene hostbasierte Software-Kontrollen und ermöglichen Zero-Click-Exploitation.
- Mechanik der Ursachenanalyse von Schwachstellen: Ich habe analysiert, wie ein Integer-Underflow bei der Berechnung der Header-Länge Pointer-Offsets verfälscht und einen arithmetischen Fehler in Out-of-Bounds-Schreibzugriffe auf den Kernel-Speicher und Systemabstürze (BSOD) verwandelt.
- Benutzerdefiniertes Paket-Crafting mit Scapy: Ich habe praktische Erfahrung darin gesammelt, nicht RFC-konforme Pakete zu konstruieren, fehlerhafte Destination-Option-TLVs (Type-Length-Value) einzuschleusen und Fragmente zu sequenzieren, um die Fehlerbehandlung für Randfälle im Ziel-Kernel zu erzwingen.
Haftungsausschluss
Dieses Projekt dient ausschließlich Bildungs- und Forschungszwecken. Unbefugtes Testen oder Zugreifen auf Systeme, die Ihnen nicht gehören oder für die Sie keine ausdrückliche Genehmigung zur Bewertung haben, ist illegal. Die Autoren übernehmen keine Verantwortung für Missbrauch.