-
Introdução
- Este artigo explica como contornar a criptografia do BitLocker no Windows 11 (versão 24H2). Isso é feito extraindo a Full Volume Encryption Key (FVEK) da memória.
-
Contexto
- Se um invasor tiver acesso físico ao dispositivo, pode reiniciar o computador repentinamente e fazer um dump da RAM da instância do Windows executada mais recentemente para obter informações sensíveis.
- Como o conteúdo da RAM se degrada rapidamente quando a energia é cortada, há métodos para evitar isso, como resfriar fisicamente a RAM ou usar uma fonte de alimentação externa.
- O Secure Boot é um padrão de segurança que restringe o que pode ser executado na inicialização do dispositivo, mas existem maneiras de contorná-lo.
-
Etapa 1: criar um dispositivo USB inicializável
- É necessário preparar um dispositivo de armazenamento USB com capacidade maior que a RAM do sistema alvo.
- O script
flashimage.sh é usado para criar e utilizar o aplicativo inicializável.
-
Etapa 2: reinicialização repentina do sistema alvo
- O objetivo é minimizar o tempo em que o computador fica totalmente desligado.
- Durante o carregamento do Windows, reiniciar o sistema antes que a tela de login apareça é eficaz.
-
Etapa 3: inicializar pelo dispositivo USB
- Inicialize imediatamente pelo dispositivo USB com o Memory-Dump-UEFI para chegar ao shell UEFI.
- Execute
app.efi para gerar o dump de memória.
-
Etapa 4: analisar o dump
- Devido ao limite de 4 GB por arquivo no sistema de arquivos FAT32, vários dumps podem ser gerados.
- O programa
concatDumps pode ser usado para combinar vários dumps em um só.
- O programa
searchMem pode ser usado para procurar padrões específicos dentro do dump.
-
Pool tag
- A pool tag é um identificador de 4 caracteres que indica a localização do pool de memória do kernel do Windows.
- O arquivo
pooltag.txt contém várias pool tags e seus propósitos.
-
Recuperação da chave FVEK
- A chave FVEK pode ser encontrada sob a pool tag
dFVE, que está relacionada ao filtro de dump de falha de criptografia de unidade do BitLocker de volume completo.
- A chave também pode ser encontrada sob a tag
None.
-
Próximos passos
- É necessário adicionar o algoritmo usado à chave obtida.
- A ferramenta
dislocker pode ser usada para desbloquear a unidade.
-
Nota final
- Para entender a implementação do BitLocker, o ideal é realizar depuração em nível de kernel.
- A Microsoft tenta destruir as chaves, mas não consegue destruir todas.
1 comentários
Comentários do Hacker News
O BitLocker oferece o maior benefício quando usado com TPM (PCR 7+11) e PIN ao mesmo tempo. Sem o PIN, não é possível ler a FVEK, e se houver muitas tentativas incorretas de PIN, o TPM entra em modo de bloqueio contra ataques de dicionário
systemd-cryptsetup/cryptenrollé exclusivo para LUKS, pretendo criptografar diretórios sensíveis comfscryptNão entendo o modelo de segurança do BitLocker. Na maioria das instalações, basta apertar o botão de energia para inicializar no Windows
Um ataque específico é totalmente mitigado pela especificação de mitigação de ataque de reset da plataforma de grupo de trabalho de clientes de PC
Sou o autor do artigo. Se tiverem perguntas, mandem mensagem. O trabalho foi divertido, e agradeço o interesse
Há uma palestra relacionada da 38C3 sobre contornar o BitLocker no Windows 11
Existem máquinas "enterprise" nas quais um adversário com acesso físico não consegue fazer um "reinício repentino" a partir do exterior
O BitLocker só protege quando o computador está desligado, e deve ser configurado para exigir uma senha de inicialização
O Windows sugere opções de criptografia de memória e compressão de memória
Sobre um exploit que lê o dump de memória da máquina-alvo, quando há acesso físico, fico na dúvida se um dispositivo "interposer" conseguiria copiar ou modificar os dados externamente
Um Surface Pro 5 com disco criptografado por BitLocker vai rapidamente para uma BSOD durante a inicialização