Open Source im professionellen Einsatz

Offset

Die erste nutzbare Partition beginnt im Beispiel beim Offset 2048, was bei einer modernen GPT-Partition (Globally Unique Identifier Partition Table, [8]) Standard ist, während alte, konventionelle MS-DOS-Partitionierungen meist bei Offset 63 begannen. Die Wiederherstellung startet jetzt mit:

tsk_recover -o 2048 /dev/sda /tmp/recovered

Bei »/tmp/recovered« handelt es sich um einen leeren Ordner auf einer Partition mit ausreichend Platz. Das zweite Beispiel rekonstruiert ein forensisches EWF-Image von Free BSD (Listing 3).

Listing 3:
BSD-Recovery

01 # mmls freebsd.E01
02 DOS Partition Table
03 Offset Sector: 0
04 Units are in 512-byte sectors
05 
06      Slot       Start           End             Length          Description
07 00:  Meta       0000000000      0000000000      0000000001      Primary Table (#0)
08 01:  -----      0000000000      0000000062      0000000063      Unallocated
09 02:  00:00      0000000063      0041942879      0041942817      FreeBSD (0xA5)
10 03:  -----      0041942880      0041943039      0000000160      Unallocated
11 
12 # tsk_recover -o 63 freebsd.E01 /tmp/recovered_bsd
13 Files Recovered: 1

Das Ergebnis dieses Aufrufs überraschte die Tester. Sleuthkit konnte nur eine gelöschte Datei wiederherstellen. Die Erklärung ist einfach: Die Autoren des Linux-Magazins hatten übersehen, dass BSD mit Slices arbeitet, also Partitionen in Partitionen. Der Mmls-Befehl hat lediglich eine Partition erkannt, zumindest für Unix-Systeme eine unübliche Konfiguration. Die Slices erkennt Sleuthkit erst, wenn es etwas genauer in diese Partition hineinsieht. Der Trick ist vertraut: Wieder mal gilt es, den Offset 63 an den Mmls-Befehl zu übergeben (Listing 4).

Listing 4: »mmls -o 63
freebsd.E01«

01 BSD Disk Label
02 Offset Sector: 63
03 Units are in 512-byte sectors
04 
05      Slot       Start           End             Length          Description
06 00:  -----      0000000000      0000000062      0000000063      Unallocated
07 01:  Meta       0000000001      0000000001      0000000001      Partition Table
08 02:  00         0000000063      0001048638      0001048576      4.2BSD (0x07)
09 03:  02         0000000063      0041942879      0041942817      Unused (0x00)
10 04:  01         0001048639      0005174974      0004126336      Swap (0x01)
11 05:  03         0005174975      0009334462      0004159488      4.2BSD (0x07)
12 06:  04         0009334463      0010383038      0001048576      4.2BSD (0x07)
13 07:  05         0010383039      0041942879      0031559841      4.2BSD (0x07)
14 08:  -----      0041942880      0041943039      0000000160      Unallocated

Slices revisited

Die weiteren Slices sind nun deutlich erkennbar, eine Partition beginnt bei Offset 5174975, danach folgen nochmals zwei Partitionen. Mit

tsk_recover -o 5174975 freebsd.E01 /tmp/recovered_bsd
Files Recovered: 12

rekonstruiert der Admin gelöschte Dateien in der Partition am mit »-o« angegebenen Offset. Abbildung 2 zeigt so die nach »/tmp/recovered_bsd« wiederhergestellten Files der Festplatte eines BSD-Systems, das in »/media/virt/ewf« gemountet ist.

Abbildung 2: Hier hat der Admin die gelöschten Daten eines BSD-Systems wiederhergestellt, zum Beispiel »spool«- oder »tmp«-Verzeichnisse.

Abbildung 2: Hier hat der Admin die gelöschten Daten eines BSD-Systems wiederhergestellt, zum Beispiel »spool«- oder »tmp«-Verzeichnisse.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 4 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Als digitales Abo

Als PDF im Abo bestellen

comments powered by Disqus

Ausgabe 07/2013

Preis € 6,40

Insecurity Bulletin

Insecurity Bulletin

Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...

Linux-Magazin auf Facebook