2 pontos por GN⁺ 2025-01-01 | 1 comentários | Compartilhar no WhatsApp
  • 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

 
GN⁺ 2025-01-01
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

    • Estou tentando uma configuração parecida no Linux, e como systemd-cryptsetup/cryptenroll é exclusivo para LUKS, pretendo criptografar diretórios sensíveis com fscrypt
    • O TPM é muito difícil quando se tenta implementar algo além do básico
    • É um projeto pessoal, e pretendo escrever sobre isso quando terminar
  • Nã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

    • Se uma máquina com disco rígido criptografado for roubada, fico na dúvida se basta simplesmente ligá-la
    • Presumo que o tráfego no barramento SPI deva estar criptografado, mas parece que a máquina forneceria a chave com facilidade
    • O LUKS mostra um prompt de senha para desbloquear a unidade
  • 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

    • Se o sistema operacional não for encerrado corretamente, o firmware apaga a RAM e interrompe o processo antes da próxima inicialização
    • Fico na dúvida se o Windows não usa isso ou se o sistema testado não implementava isso
  • 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

    • É uma pena que OEMs amplamente usados ainda permitam "reinício repentino" com tanta facilidade
  • 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

    • Intel e AMD estão trabalhando para incorporar isso à CPU, e o alvo são servidores com múltiplas VMs, não laptops
  • 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

    • Será que seria possível modificar a memória como o dispositivo "Action Replay" do Gameboy?
    • Será que seria possível inserir um dispositivo entre a RAM e a placa-mãe para capturar o estado da memória?
    • Não sou engenheiro eletricista, então a ideia pode ser irrealista, mas imagino que haja limitações de espaço físico e largura de banda
  • Um Surface Pro 5 com disco criptografado por BitLocker vai rapidamente para uma BSOD durante a inicialização

    • Fico na dúvida se isso poderia funcionar nessa situação e estou aguardando um exploit para extrair as fotos do disco