banner

Blog

Jul 28, 2023

Evitar Bitlocker con un analizador lógico

El ingeniero de seguridad [Guillaume Quéré] pasa el día probando sistemas de penetración para su empleador y ha señalado y explotado con éxito una debilidad bastante obvia en el sistema de cifrado de volumen completo BitLocker, que, como dice el artículo vinculado, permite simplemente olfatear el tráfico entre los Chip TPM discreto y CPU a través de un bus SPI. La forma en que funciona Bitlocker es utilizar una clave privada almacenada en el chip TPM para cifrar la clave de volumen completo que a su vez se utilizó para cifrar los datos del volumen. Todo esto lo realizan controladores de dispositivos de bajo nivel en el kernel de Windows y es transparente para el usuario.

El objetivo de BitLocker era evitar el acceso a los datos del volumen seguro en caso de robo o pérdida de un dispositivo físico. Simplemente extraer la unidad y colocarla en una máquina no segura o en algún otro adaptador no proporcionaría ningún dato sin la clave almacenada por el TPM. Sin embargo, dado que esa clave debe pasar como texto sin formato desde el TPM a la CPU durante la secuencia de arranque, [Guillaume] muestra que es bastante sencillo, con herramientas de muy bajo costo y software gratuito, simplemente localizar y detectar este TPM. -Transacción de CPU y decodificar el flujo de datos y localizar la clave. Usando poco más que un analizador lógico barato conectado a algunos pines convenientemente grandes en un chip flash cercano (debido a que los pines SCK, MISO y MOSI se comparten con el TPM), el TIS simple se decodificó lo suficiente como para bloquear los bytes del TPM. marco. Luego, esto podría decodificarse con una aplicación web decodificadora de flujo TPM, cortesía del grupo comunitario de software TPM2. El comando a buscar es TPM_CC.Unseal, que es la solicitud de la CPU al TPM para enviar la clave que nos interesa. Después de eso, simplemente tomar y decodificar el marco de respuesta del TPM revelará inmediatamente los productos.

Lo que haga a continuación es una cuestión de conveniencia, pero la mayoría de los tipos de seguridad y análisis forense ya estarían guardados en un archivo de imagen de disco de bajo nivel del volumen de destino. Al utilizar el comando xxd de Linux para convertir esa clave de volcado hexadecimal de 32 bytes en un archivo de clave binaria, el módulo FUSE dislocker-fuse puede crear un sistema de archivos virtual descifrado dinámicamente que puede simplemente montar. Si lo desea, puede escribir los datos del volumen descifrado en un disco nuevo, colocarlo en una máquina e iniciar el sistema operativo. Probablemente no puedas iniciar sesión, pero como [Guillaume] señala, al sobrescribir la aplicación de teclas adhesivas (sethc.exe) con cmd.exe, puede acceder al símbolo del sistema simplemente presionando la tecla Mayús cinco veces. ¡Buenos tiempos!

Si realmente necesita compatibilidad con TPM para un sistema más antiguo, para poder instalar Windows 11 (si realmente es necesario), siempre puede crear el suyo propio. Además, dado que la interfaz LPC se encuentra en muchas placas base, ¿por qué no aprovecharla y usarla para colgar un adaptador de bus ISA para conectar esa vieja tarjeta Soundblaster clásica que no soportas desechar?

COMPARTIR