Entendiendo el MBR Protector en Discos Particionados GPT. Parte 1.

Introducción

En esta serie de entradas de blog, voy a profundizar en el esquema de tabla de particiones GUID. Mi objetivo es proporcionar una comprensión clara del esquema GPT y cómo permite a los investigadores forenses analizar y recuperar con precisión los datos de los dispositivos de almacenamiento modernos. La compatibilidad de GPT con discos más grandes, particiones múltiples y funciones mejoradas de integridad de datos, como la redundancia y la protección CRC, garantiza que los investigadores puedan acceder a todos los datos necesarios y verificarlos. Además, la compatibilidad de GPT con los sistemas operativos actuales y el firmware UEFI mejora la capacidad de realizar exámenes forenses exhaustivos, lo que la hace indispensable para descubrir pruebas digitales y garantizar la integridad y fiabilidad de los hallazgos forenses. 

Comenzaré con el MBR de protección y en qué se diferencia del MBR tradicional utilizado con unidades heredadas en BIOS. A continuación, hablaré de la cabecera GPT y de la matriz de entrada GPT. Por último, compartiré algunas reflexiones finales y consejos para explicar estos conceptos a un profano, como cuando se testifica ante un juez o un jurado.

En definitiva, después de leer esta serie, no tendrás ningún problema para enfrentarte a un desafío CTF que se encuentre en nuestra plataforma CTF.

PARTE 1

El MBR protector

El Master Boot Record (MBR) desde un punto de vista heredado nos proporcionaba una hoja de ruta para localizar hasta cuatro particiones primarias en un disco duro. Cada entrada de partición de 16 bytes nos guiaba a la ubicación de esa partición, ya fuera FAT32 o NTFS. Sin embargo, el antiguo MBR tenía limitaciones, entre otras:

  • Un límite de tamaño de 2 TB.
  • Limitado a 4 particiones primarias; si se necesitan más, una de esas particiones primarias se designaría como partición extendida.
  • Un único punto de fallo ya que el MBR, que incluye la tabla de particiones, se encontraba en el sector 0 sin copia de seguridad.

El LBA 0 (sector lógico 0) de un disco duro GPT contiene lo que se denomina un MBR protector en lugar de un MBR heredado. Piensa en el MBR protector como un cartel a la entrada de la biblioteca que dice a todo el mundo: "Eh, esta biblioteca utiliza ahora un sistema nuevo y mejorado. No utilices el método antiguo porque aquí no funcionará".

En lugar de contener la ubicación de sólo cuatro particiones primarias en la unidad, el MBR protector marca todo el disco como utilizado por GPT, indicando a los sistemas más antiguos que el disco está totalmente utilizado. El MBR protector existe sólo por compatibilidad con versiones anteriores. Contiene SÓLO una entrada de partición, que marca el disco y evita que las herramientas heredadas malinterpreten la estructura del disco. 

Estructura de la RBM de protección

Los primeros 440 bytes del MBR protector contienen código de arranque que no es utilizado por los sistemas UEFI. Se ignora.  

A continuación se muestra un diseño hipotético de un disco con una nueva instalación de Windows 10 que solo tiene una partición creada durante el proceso de instalación, la unidad C:. La partición del sistema UEFI se crea automáticamente y se oculta al usuario, y la partición reservada de Microsoft también se crea durante la instalación y se oculta al usuario. 

Aquí podemos ver el MBR protector residiendo en el LBA 0, que está apuntando al encabezado GPT en el LBA 1.

Disposición hexadecimal del MBR de protección

He aquí un ejemplo de disposición hexadecimal del MBR de protección:

Como se mencionó anteriormente, los primeros 440 bytes de código de arranque no son utilizados por los sistemas UEFI. Podrías ver estos primeros 440 bytes a cero en algunos sistemas. Aquí está el MBR de protección de la estación de trabajo que estoy usando para escribir este blog, donde estoy usando una unidad Samsung 1TB NVME:

Como puedes ver, la totalidad del MBR de protección en este caso contiene ceros excepto los cuatro bytes situados en el offset 440 (que no se utilizan), la primera "entrada de partición primaria" (que sólo apunta al LBA 1 - el encabezado GPT), y la firma de arranque situada en los dos últimos bytes del sector (0x55AA). 

Ahora echemos un vistazo más de cerca a la única entrada de partición que existe en un MBR Protector:

El primer byte de la entrada de la partición se establece en 0x00 para indicar que no es una partición arrancable. En un MBR tradicional, este valor sería 0x00 (no arrancable) o 0x80 (arrancable). Los siguientes tres bytes representan el Inicio de la CHS (Cilindro/Cabezal/Sector), que corresponderá al valor de 4 bytes en el Inicio de LBA en el byte 8. El valor del CHS inicial se fijará en 0x000200 que cuando se descompone y se convierte en una dirección LBA, es 1.

El siguiente valor de un byte se establece en 0xEE para el tipo de sistema operativo: GPT Protector. El valor de tres bytes en el offset 5 se establece en la dirección CHS del último bloque lógico del disco. El LBA inicial, que nos lleva a la cabecera de partición GPT, se encuentra en el offset 8 durante cuatro bytes y el valor se establecerá en 0x01000000 (o LBA 1 cuando se lee little endian). Los últimos 4 bytes del registro en el offset 12 representan el tamaño del disco menos uno. Se establece en 0xFFFFFFFF si el tamaño del disco es demasiado grande para ser representado en este campo, que es lo más probable.

Reparación de un MRB protector

Si el MBR se corrompió, se perdió o se borró, puede reemplazar el sector 0 copiando el MBR protector de otra unidad. También podría crear uno desde cero, dejando 0x00 desde el offset 0 hasta el 446, y luego creando una entrada de partición genérica apuntando al LBA 1, asegurándose de que exista 0xEE en el offset 4 para indicar el tipo de SO GPT Protector. Finalmente, coloca la firma de arranque (0x55AA) en los dos últimos bytes del sector.

Entrada genérica

446447448449450451452453454455456457458459460461
00000200EEFFFFFF01000000FFFFFFFF

Firma de la bota

510511
55AA

Lo siguiente sería suficiente para un MBR protector reconstruido:

Conclusión

En esta primera entrega, exploramos el MBR protector y su papel crucial a la hora de garantizar la compatibilidad con sistemas heredados. Examinamos cómo el MBR protector marca todo el disco como utilizado por GPT, evitando que los sistemas antiguos malinterpreten la estructura del disco. Al entender la estructura y función del MBR Protector, ahora tienes una base sólida para profundizar en el esquema GPT.

A medida que avancemos, nos centraremos en el encabezado GPT, la piedra angular del esquema GPT que define la disposición del disco y garantiza la integridad de los datos. En la Parte 2, desglosaremos el encabezado GPT, examinando cada campo y su significado. Manténgase en sintonía mientras continuamos desentrañando las complejidades del esquema GPT, dotándole de los conocimientos necesarios para gestionar y recuperar eficazmente los datos de los dispositivos de almacenamiento modernos.

¿Quieres profundizar en la estructura GPT?

En Parte 2desglosamos el Cabecera GPT y explique cómo garantiza la integridad de los datos en el disco.
Entonces en Parte 3exploramos la Matriz de entrada de partición GPT y lo que los analistas forenses necesitan saber al reconstruir tablas de particiones.

Facebook
Twitter
Correo electrónico
Imprimir

5 respuestas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Suscríbase para estar al día

No se pierda ni una entrada: reciba notificaciones cada vez que publiquemos un nuevo artículo en el blog, una guía forense o compartamos actualizaciones importantes.

Última publicación