Teil 3

Einführung

In unseren vorherigen Beiträgen haben wir die Grundlagen für das Verständnis der GUID Partition Table (GPT) gelegt, indem wir den MBR und den GPT Header untersucht haben. In Teil 3 wenden wir uns nun dem GPT Partition Entry Array zu. Diese wichtige Komponente des GPT-Schemas bietet eine detaillierte Übersicht über alle Partitionen auf der Festplatte, wobei jeder Eintrag wichtige Informationen über eine bestimmte Partition enthält. Wenn Sie die Struktur und Funktion des GPT Partition Entry Array verstehen, erhalten Sie einen umfassenden Überblick darüber, wie GPT Partitionen verwaltet, was eine effektivere Analyse, Fehlersuche und Datenwiederherstellung ermöglicht.

GPT (GUID Partition Table) Partition Entry Array

Das GUID Partition Table (GPT) Entry Array ist ein wichtiger Teil des GPT-Partitionierungssystems, das zur Definition und Verwaltung der Partitionen auf einer Festplatte verwendet wird. Stellen Sie es sich als eine detaillierte Liste vor, die die Besonderheiten jeder Partition auf der Festplatte aufzeichnet, wie der Katalog einer Bibliothek, der die Details jedes Buches auflistet.

Hauptbestandteile des GPT-Eintragsarrays:

Partitions-GUID: Jede Partition hat einen eindeutigen Bezeichner, die so genannte Partitions-GUID, die sicherstellt, dass jede Partition eindeutig identifiziert werden kann, auch über verschiedene Systeme hinweg.

Eindeutige ID: Dies ist ein weiterer eindeutiger Bezeichner, der für jede Partition spezifisch ist und eine zusätzliche Ebene der eindeutigen Identifizierung bietet.

Start der LBA (Logical Block Addressing) der Partition: Hier wird der Anfangspunkt der Partition auf der Festplatte angegeben. Er teilt dem System mit, wo die Partition beginnt.

Ende der LBA der Partition: Wie der Anfangs-LBA gibt dies an, wo die Partition auf der Festplatte endet.

Attribut Bits: Dies sind Flags, die zusätzliche Informationen über die Partition liefern, z.B. ob sie bootfähig ist oder ob sie besondere Eigenschaften hat.

Name der Partition: Jede Partition kann einen menschenlesbaren Namen haben, der es uns erleichtert, den Zweck oder Inhalt der Partition zu identifizieren. Dieser Name wird mit einem Nullzeichen abgeschlossen, um das Ende der Zeichenkette zu markieren.

Lassen Sie uns diese im Detail aufschlüsseln, damit Sie jeden Eintrag im Array vollständig verstehen.

Wenn die Festplatte als GPT-Festplatte eingerichtet wird, ist die erste Partition, die erstellt wird, die EFI-Systempartition (ESP). Dabei handelt es sich um eine versteckte Partition, die für den Benutzer nicht ohne weiteres zugänglich ist. Diese Partition befindet sich im Sektor 2048 und ist zur Kompatibilität mit allen Systemen (Windows, Linux, MacOS) als FAT32 formatiert.

Der obige Screenshot zeigt eine Standard-Windows 10-Installation, bei der die Microsoft Reserved Partition zusammen mit einer Basic Data Partition erstellt wurde, die vom Benutzer während der Installation angegeben wurde.

Im Folgenden finden Sie einen Auszug der GUIDs aus einer Tabelle, die Sie auf der Wikipedia-Seite GUID Partition Table finden:

Quelle: https://en.wikipedia.org/wiki/GUID_Partition_Table#Partition_type_GUIDs

Natürlich wird die GUID nicht in der GUIID-Form gespeichert, wenn die Werte im Hex-Viewer angezeigt werden. 

Die GUIDs werden genauso konvertiert wie im vorherigen Blogbeitrag, sind aber auch in HxD leicht zu erkennen:

Wir können die GUIDs der Volume-Partition mit dem folgenden Befehl bestätigen: mountvol.exe

Wenn wir die Start-LBA und die End-LBA kennen, können wir berechnen, wie groß die Partition ist. Zum Beispiel die EFI-Partition:

Beginnende LBA: 2048

LBA-Ende: 534527

Gesamtlänge: 532479 Sektoren x 512 Bytes/Sektor = 272629248 Bytes, das sind 260 MB.

Das Backup GPT Partition Entry Array

Das Backup GPT Partition Entry Array befindet sich am Ende der Festplatte und vor dem GPT Header, genauer gesagt 33 Sektoren vor dem Ende der Festplatte (LBA (n - 33), wobei n der letzte Sektor der Festplatte ist). Wir können auch ausrechnen, warum es 33 Sektoren vor dem Ende der Festplatte oder 32 Sektoren vor dem Backup-GPT-Header liegt.

Jeder Partitionseintrag besteht aus 128 Bytes und es gibt insgesamt 128 Einträge im Entry Array. Das bedeutet, dass es 16.384 Sektoren im Array oder 32 Sektoren (16384/512) gibt. 

Der Backup GPT Header verweist auf den Speicherort des Backup GPT Partition Entry Array

Sicherung des GPT-Partitionseingangs Array gegen Ende der Festplatte

Reparieren eines GPT-Partitionseintragsarrays

Das Reparieren des GPT-Partition Entry Array ist so einfach wie das Kopieren der 16.384 Byte großen Sicherungskopie, die 33 Sektoren vom Ende der Festplatte gefunden hat, und das Einfügen in LBA 2 bis 3. Da es sich um exakte Kopien handelt, sind keine Änderungen/Modifikationen der Hex-Werte erforderlich.

Das Backup-GPT, das sich am Ende der Festplatte befindet, ist mit dem primären identisch. Das Herausschneiden der einzelnen Sektoren und das Hashing zeigen, dass sie genau übereinstimmen. 

Schlussfolgerung

In diesem dritten Teil haben wir das GPT Partition Entry Array, eine wichtige Komponente des GPT-Schemas, gründlich untersucht. Durch die Aufschlüsselung jedes Feldes innerhalb der Partitionseinträge, von den GUIDs bis hin zu den Attributbits und Partitionsnamen, haben wir gesehen, wie GPT einen robusten Rahmen für die Organisation und den Zugriff auf Festplattendaten bietet. Dieses Wissen ist für forensische Untersuchungen, Datenwiederherstellung und Systemadministration unerlässlich, da es Sie mit den Fähigkeiten ausstattet, GPT-partitionierte Festplatten effektiv zu navigieren und zu manipulieren. Bleiben Sie dran für unseren nächsten Beitrag, in dem wir uns mit praktischen Anwendungen und Fallstudien befassen und die Theorie in die Praxis umsetzen werden.

Dieser Beitrag schließt unsere 3-teilige Serie über GPT-Partitionsstrukturen ab.
Wenn Sie die früheren Beiträge verpasst haben, beginnen Sie mit Teil 1 - Der schützende MBRwo wir untersuchen, wie die Kompatibilität von Altgeräten aufrechterhalten wird, und weiter mit Teil 2 - Die GPT-Kopfzeiledie das Festplattenlayout definiert und die Integrität sicherstellt.

Möchten Sie tiefer einsteigen? Abonnieren Sie unseren Newsletter und erfahren Sie mehr über die Wiederherstellung von Partitionen, Hashing auf Festplattenebene und CTF-Herausforderungen, die auf realen forensischen Szenarien basieren.