Parte 3
Introducción
En nuestros posts anteriores, sentamos las bases para entender la Tabla de Particiones GUID (GPT) examinando el MBR Protector y el Encabezado GPT. Ahora, en la Parte 3, nos enfocaremos en el GPT Partition Entry Array. Este componente crucial del esquema GPT proporciona un mapa detallado de todas las particiones del disco, cada entrada contiene información vital sobre una partición específica. Al entender la estructura y función del GPT Partition Entry Array, obtendrá una visión completa de cómo GPT gestiona las particiones, permitiendo un análisis más efectivo, la resolución de problemas y la recuperación de datos.
GPT (Tabla de particiones GUID) Matriz de entradas de partición
La matriz de entradas de la tabla de particiones GUID (GPT) es una parte crítica del sistema de particiones GPT, que se utiliza para definir y gestionar las particiones de un disco duro. Piense en ello como una lista detallada que registra los detalles de cada partición en el disco, como el catálogo de una biblioteca que enumera los detalles de cada libro.
Componentes clave de la matriz de entrada GPT:
GUID de partición: Cada partición tiene un identificador único, conocido como GUID de partición, que garantiza que cada partición pueda ser identificada de forma única, incluso a través de diferentes sistemas.
Identificación única: Se trata de otro identificador único específico de cada partición, que proporciona una capa adicional de identificación única.
Inicio del LBA (Logical Block Addressing) de la partición: Indica el punto de inicio de la partición en el disco. Indica al sistema dónde comienza la partición.
LBA final de la partición: Al igual que el LBA inicial, indica dónde termina la partición en el disco.
Bits de atributos: Son banderas que proporcionan información adicional sobre la partición, como si es arrancable o si tiene algún atributo especial.
Nombre de la partición: Cada partición puede tener un nombre legible para el ser humano, lo que nos facilita la identificación de la finalidad o el contenido de la partición. Este nombre se termina con un carácter nulo para marcar el final de la cadena.
Vamos a desglosarlas todas en detalle para que entiendas perfectamente cada entrada de la matriz.


Cuando el disco se configura como un disco GPT, la primera partición que se creará es la Partición del Sistema EFI (ESP). Esta es una partición oculta que no está disponible para los usuarios. Esta partición se encuentra en el sector 2048 y está formateada como FAT32 para ser compatible con todos los sistemas (Windows, Linux, MacOS).
La captura de pantalla anterior muestra una instalación estándar de Windows 10 en la que se creó la partición reservada de Microsoft junto con una partición de datos básicos especificada por el usuario durante la instalación.

A continuación se muestra un extracto de GUIDs de una tabla que se encuentra en la página de Wikipedia GUID Partition Table:

Fuente: https://en.wikipedia.org/wiki/GUID_Partition_Table#Partition_type_GUIDs
Por supuesto, el GUID no se almacenará en la forma GUIID al visualizar los valores dentro del visor hexadecimal.

Los GUIDs se convierten tal y como hicimos en la anterior entrada del blog, pero también se pueden ver fácilmente al visualizarlo en HxD:

Podemos confirmar los GUID de la partición del volumen con el comando: mountvol.exe


Conociendo el LBA inicial y el LBA final, podemos calcular el tamaño de la partición. Por ejemplo, la partición EFI:
LBA inicial: 2048
Final LBA: 534527
Longitud total: 532479 sectores x 512 bytes/sector = 272629248 bytes, lo que equivale a 260 MB.


La matriz de entrada de partición GPT de copia de seguridad
La matriz de entrada de la partición GPT de respaldo se encuentra al final del disco y antes del encabezado GPT, específicamente 33 sectores antes del final del disco (LBA (n - 33) donde n es el último sector del disco). También podemos hacer algún cálculo de por qué está 33 sectores antes del final del disco, o 32 sectores antes del Backup GPT Header.
Cada entrada de partición es de 128 bytes y hay 128 entradas totales en el Entry Array. Esto significa que hay 16.384 sectores en el Array o 32 sectores (16384/512).
El encabezado GPT de copia de seguridad apunta a la ubicación de la matriz de entrada de partición GPT de copia de seguridad


Copia de seguridad de la matriz de entrada de partición GPT cerca del final del disco
Reparación de una matriz de entrada de partición GPT
Reparar la matriz de entrada de particiones GPT es tan sencillo como copiar la copia de seguridad de 16.384 bytes encontrados 33 sectores desde el final del disco y pegarlos en LBA 2 a 3. No hay necesidad de ninguna alteración/modificación de los valores hexadecimales ya que son copias exactas.
El GPT de reserva situado cerca del final del disco es el mismo que el primario. De hecho, si se separan los sectores de cada uno y se les aplica el hash, se comprueba que coinciden exactamente.

Conclusión
En esta tercera entrega, hemos examinado a fondo la matriz de entradas de partición GPT, un componente crítico del esquema GPT. Desglosando cada campo dentro de las entradas de partición, desde los GUIDs hasta los bits de atributo y los nombres de partición, hemos visto cómo GPT proporciona un marco robusto para organizar y acceder a los datos del disco. Este conocimiento es esencial para investigaciones forenses, recuperación de datos y administración de sistemas, equipándote con las habilidades para navegar y manipular discos particionados con GPT de forma efectiva. Permanezca atento a nuestro próximo post, en el que profundizaremos en aplicaciones prácticas y casos de estudio, llevando la teoría a la práctica.
Este post concluye nuestra serie de 3 partes sobre estructuras de partición GPT.
Si se ha perdido las entradas anteriores, empiece por Parte 1 - El MBR protectordonde exploramos cómo se mantiene la compatibilidad heredada, y continuamos con Parte 2 - La cabecera GPTque define la disposición del disco y garantiza su integridad.
¿Quiere profundizar más? Suscríbase a nuestro boletín de noticias para recibir contenidos sobre recuperación de particiones, hashing a nivel de disco y desafíos CTF basados en escenarios forenses reales.
Un comentario