Menu Close

Computer Forensik (Praktikum 1)

Im ersten Praktikum untersuchen wir ein Datenträgerabbild und versuchen die Inhalte beschädigter Dateien zu identifizeren.

Skript-AnfangPraktikum 1 – Seite 1
Skript-EndePraktikum 1 – Seite 1

Kopieren

Duplizieren Sie die Masterkopie EDF.dd mittels dd in die Datei arbeitskopie.dd.

Mit dem Werkzeug dd lassen sich bit-genaue Kopien von Dateien erzeugen. Im Gegensatz zu anderen Kopierfunktionen bleiben alle Informationen vom originalen Zustand erhalten.

# dd if=EDF.dd of=arbeitskopie.dd\n12648614+0 records in\n12648614+0 records out\n6476090368 bytes (6.5 GB) copied, 442.091 s, 14.6 MB/s

Prüfen Sie die Übereinstimmung der beiden Hashwerte von EDF.dd und arbeitskopie.dd.

# sha256sum arbeitskopie.dd EDF.dd 
d93f75c0eb592538c49baeaa8081b90f3f2ddfd91e8d059b94e08bdca6b9f288  arbeitskopie.dd
d93f75c0eb592538c49baeaa8081b90f3f2ddfd91e8d059b94e08bdca6b9f288  EDF.dd

Wie sich zeigt sind die berechneten Hashwerte absolut identisch, weshalb die Dateien identisch sein müssen.

Kopieren Sie mittels dd aus arbeitskopie.dd ab Block 2048 bis einschließlich Block 10231807 nach partition_1.dd.

Bevor wir die Partition 1 extrahieren, möchte ich mir die eigentliche Partitionstabelle ansehen. Hierfür verwenden wir den Befehl mmls.

# mmls arbeitskopie.dd 
DOS Partition Table
Offset Sector: 0
Units are in 512-byte sectors

     Slot    Start        End          Length       Description\n00:  Meta    0000000000   0000000000   0000000001   Primary Table (#0)\n01:  -----   0000000000   0000002047   0000002048   Unallocated\n02:  00:00   0000002048   0010231807   0010229760   NTFS (0x07)\n03:  00:01   0010231808   0010272767   0000040960   DOS FAT16 (0x06)\n04:  -----   0010272768   0010295295   0000022528   Unallocated\n05:  Meta    0010293248   0012646399   0002353152   Win95 Extended (0x0f)\n06:  Meta    0010293248   0010293248   0000000001   Extended Table (#1)\n07:  01:00   0010295296   0012138495   0001843200   NTFS (0x07)\n08:  -----   0012138496   0012648613   0000510118   Unallocated

Nun extrahieren wir die erste Partition, indem wir dd die ersten 2048 Blöcke überspringen lassen (beginnend mit 0) und lesen die nächsten 10229760 Blöcke ein. Die so erzeugte Datei umfasst ausschließlich den Bereich der Blöcke 2048 bis 10231807.

# dd if=arbeitskopie.dd of=partition_1.dd skip=2048 count=10229760 bs=512\n10231807+0 records in\n10231807+0 records out\n5238685184 bytes (5.2 GB) copied, 189.473 s, 27.6 MB/s

Notieren Sie die Hashsumme von partition_1.dd.

# sha256sum partition_1.dd
cc224419f690065a653efa9cb58dbf546b72e7db752fe71229bfb4d11dd8e685  partition_1.dd

Hashsummen

Mounten Sie partition_1.dd nach /mnt/.

# mount partition_1.dd /mnt
The disk contains an unclean file system (0, 0).
The file system wasn't safely closed on Windows. Fixing.

Auf der Partition hat sich scheinbar eine Windows-Partition befunden, die nun wieder erfolgreich gemountet wird. Lediglich ein Fehler durch eine unsaubere Beendigung scheint zu existieren, der zunächst behoben werden muss. Danach lassen sich erfolgreich Ordnerstrukturen erkennen.

Kopieren Sie alle Dateien unter /mnt/Documents/ auf Ihre Festplatte und vergleichen Sie die SHA256-Hashsumme von Kopie und Original.

# cp -R /mnt/Documents /root/Downloads/P1

# sha256sum /mnt/Documents/* /root/Downloads/P1/Documents/*
f1a450d97f7779f8049af5dd4877b6867a01f0687a3fc62c388320ba243eae51  /mnt/Documents/file1\n3bb8c855771c073508923e4a8818c076f2dc8a88dc30f2eb27b976f730064e62  /mnt/Documents/file2\n68d11c70f05b7020ea3802a3b3c97489fd2bfe7c98c04579ce8607317f3dde07  /mnt/Documents/file3
f3861e09be1824ca693c302674abfbb99d313485446ad5fd9d3b54f964418bd3  /mnt/Documents/file4\n45380bf0de0e900543cc9c9a9ac23491f3ee2de3e646f8f6d23ab5f149111c90  /mnt/Documents/file5\n0ebd56d6f836d10618a909fad35578d0da8413ad8fcd0625e70005030662b674  /mnt/Documents/file6
fb6f1b1ff819f14688dccfae6be26b6ef1630c60cab30858e0b559f47e124ffa  /mnt/Documents/file7
c1c462a67811b81ad9aebe57c95107a9ae07c18f8178da5f43278fd45e2cfa50  /mnt/Documents/file8
f1a450d97f7779f8049af5dd4877b6867a01f0687a3fc62c388320ba243eae51  /root/Downloads/P1/Documents/file1\n3bb8c855771c073508923e4a8818c076f2dc8a88dc30f2eb27b976f730064e62  /root/Downloads/P1/Documents/file2\n68d11c70f05b7020ea3802a3b3c97489fd2bfe7c98c04579ce8607317f3dde07  /root/Downloads/P1/Documents/file3
f3861e09be1824ca693c302674abfbb99d313485446ad5fd9d3b54f964418bd3  /root/Downloads/P1/Documents/file4\n45380bf0de0e900543cc9c9a9ac23491f3ee2de3e646f8f6d23ab5f149111c90  /root/Downloads/P1/Documents/file5\n0ebd56d6f836d10618a909fad35578d0da8413ad8fcd0625e70005030662b674  /root/Downloads/P1/Documents/file6
fb6f1b1ff819f14688dccfae6be26b6ef1630c60cab30858e0b559f47e124ffa  /root/Downloads/P1/Documents/file7
c1c462a67811b81ad9aebe57c95107a9ae07c18f8178da5f43278fd45e2cfa50  /root/Downloads/P1/Documents/file8

Die Dateien wurden offensichtlich ohne Veränderung in den neuen Ordner kopiert. Die identischen Hashsummen sind ein Nachweis dafür.

Zu welchem Zweck werden Hashsummen in der Computer Forensik eingesetzt?

Kryptologische Hashfunktionen besitzen spezielle Eigenschaften, in der Praxis sind es kollisionsresistente Einwegfunktionen. Sie werden verwendet, um Nachrichten zu signieren bzw. die Integrität von Daten sicherzustellen.http://de.wikipedia.org/wiki/Hashfunktion

Hat sich die Hashsumme von partition_1.dd geändert? Falls ja, warum?

# sha256sum partition_1.dd 
e01d086ec789334fb8e8956e2d31169cf301841a0f01448e55bb8e90e1f0a8f5  partition_1.dd

Beim Zugriff auf das Festplattenabbild kann es immer zu unerwünschten Schreibzugriffen kommen, die Informationen ändern. Die Fehlerkorrektur beim Mounten der Datei hat vermutlich zu der Veränderung geführt. Die Verwendung des readonly-Parameters hätte an dieser Stelle zuverlässig geholfen.

# mount -o ro partition_1.dd /mnt

Klassifikation verschiedener Dateitypen

Klassifizieren Sie die Art der Dateien anhand der Metadaten-Informationen, die in jeder Datei enthalten sind. Erläutern Sie, wie Sie den Dateityp bestimmt haben.

Wir schauen uns zunächst an, wie das Betriebssystem diese Dateien identifiziert. Das Werkzeug file untersucht dafür die sogenannten Magic numbers, die am Anfang der Dateien stehen.

# file *
file1: JPEG image data, JFIF standard 1.01
file2: Zip archive data, at least v2.0 to extract
file3: data
file4: data
file5: data
file6: data
file7: PC bitmap, Windows 3.x format, 607 x 351 x 32
file8: data

Wir überprüfen die Aussagen des Werkzeugs indem wir die Dateien 1, 2 und 7 zu öffnen versuchen. Dies lässt sich auch bewerkstelligen. Die Dateien 1 und 7 sind Bilder, letztere ist jedoch beschädigt. Bei Datei 2 handelt es sich um einen BSI-Leitfaden.

Für die restlichen Dateien verwenden wir zunächst xxd, um uns die Dateiköpfe anzusehen.

# xxd -l 32 file3\n0000000: 8950 6466 0d0a 1a0a 0000 000d 4948 4452  .Pdf........IHDR\n0000010: 0000 0238 0000 01ab 0802 0000 0042 0d7a  ...8.........B.z

# xxd -l 32 file4\n0000000: 3a94 d49a 6fb4 0027 62a6 7b87 0719 8ef9  :...o..'b.{.....\n0000010: 5f36 23de 16f8 4b1b 1f52 d4aa 1e48 ff00  _6#...K..R...H..

# xxd -l 32 file5\n0000000: 5044 462d 312e 360d 25e2 e3cf d30d 0a32  PDF-1.6.%......2\n0000010: 3730 3820 3020 6f62 6a0d 3c3c 2f4c 696e  708 0 obj.<</Lin

# xxd -l 32 file6\n0000000: 5241 5221 1a07 0066 6f72 6d61 7420 3300  RAR!...format 3.\n0000010: 1000 0101 0040 2000 0000 001c 0000 0004  .....@ .........

# xxd -l 32 file8\n0000000: ffff 504b 0304 1400 0008 0000 2285 483d  ..PK........".H=\n0000010: 5ec6 320c 2700 0000 2700 0000 0800 0000  ^.2.'...'.......

Auf den ersten Blick scheint es sich bei den Dateien 3,5 und 6 um PDFs und ein RAR-Archiv zu handeln. Vergleicht man die Magic Numbers mit einer Liste im Internet (Link), so erkennt man, dass hier kaum etwas komplett stimmt.

Wir untersuchen zunächst die Datei 3 mit strings, um mehr über deren Inhalt zu erfahren.

# strings file3
IHDR
sRGB
pHYs
tIME
IDATx
uEQt
jjjB
...

In Datei 3 sind Zeichenketten, wie IHDR, sRGB und pHYs zu finden, die typisch für png-Dateien sind. Eine vollständige Betrachtung der hexadezimalen Darstellung und ein Abgleich mit den Magic Numbers zeigt, dass der Datei-Trailer (49 45 4E 44 AE 42 60 82) ebenfalls zu png-Dateien gehört und der Dateikopf (89 50 4E 47 0D 0A 1A 0A) nahezu korrekt ist, mit kleinen Abweichungen.

# xxd file3
...
...\n003add0: f52f 35d2 2a22 5c66 6d18 0000 0000 4945  ./5.*"\fm.....IE\n003ade0: 4e44 ae42 6082

Korrigiert man die Abweichung 64 66 zu 4e 47, so lässt sich die Datei wieder öffnen. Sie zeigt den Campusplan der Hochschule Darmstadt. Der Dateikopf sieht nun wie folgt aus.

# xxd -l 16 f3\n0000000: 8950 4e47 0d0a 1a0a 0000 000d 4948 4452  .PNG........IHDR

Nun nehmen wir uns Datei 4 vor. Die Idee, sich den Datei-Trailer anzusehen, ist ein guter Ansatzpunkt. Die Kennzeichnung FF D9 stimmt mit dem Ende des JPEG-Formats überein. Betrachtet man den Dateikopf, so scheint dieser komplett zu fehlen oder falsch zu sein. Wir untersuchen die funktionierende JPEG-Datei (Datei 1) und erkennen, dass der Inhalt von Datei 4 komplett in Datei 1 enthalten ist. Wir fügen mit Hilfe eines Hexeditors den fehlenden Teil von Datei 1 ein.

FF D8 FF E0 00 10 4A 46 49 46 00 01 01 00 00 01 00 01 00 00 FF DB 00 84 00 09 06 06 14 12 11 15 14 10 14 14 14 15 15 17 14 14 15 14 14 15 14 14 17 14 14 14 14 15 15 14 14 15 14 17 1C 26 1E 17 19 23 19 14 14 1F 2F 20 24 27 29 2C 2C 2C 15 1E 31 35 30 2A 35 26 2B 2C 29 01 09 0A 0A 0E 0C 0E 17 0F 0F 14 29 1C 1C 1C 29 29 29 29 29 2C 29 29 29 2C 29 34 2D 29 29 2C 29 29 2C 29 2C 29 29 2C 29 29 29 29 29 2C 29 29 29 29 29 29 29 29 29 29 29 29 2C 2E 2C 2B 29 29 29 29 FF C0 00 11 08 00 C2 01 03 03 01 22 00 02 11 01 03 11 01 FF C4 00 1B 00 00 02 02 03 01 00 00 00 00 00 00 00 00 00 00 00 00 03 02 07 04 05 06 01 FF C4 00 42 10 00 02 01 02 02 06 06 06 08 05 04 02 03 00 00 00 01 02 00 03 11 04 21 05 06 12 31 41 51 22 61 71 81 91 A1 07 13 32 52 B1 C1 24 42 72 73 82 92 B2 D1 23 33 A2 C2 F0 14 34 62 93 63 E1 16 43 B3 FF C4 00 1A 01 00 03 00 03 01 00 00 00 00 00 00 00 00 00 00 00 00 01 02 03 05 06 04 FF C4 00 21 11 01 01 01 00 01 04 02 03 01 00 00 00 00 00 00 00 00 01 02 11 03 04 12 21 31 51 22 41 61 13 FF DA 00 0C 03 01 00 02 11 03 11 00 3F 00 AA EA AD 82 8E A9 2A 29 61 BE 4B 10 33 EC 92 51 95 A4 69 71 E8 23 AE 1E B2 DC 24 48 EB 82 66 6C A0 9B E4 07 39 0A 3B 0B 41 EA B8 44 CC 93 DD D6 4F 57 5C EC 75 6F 1D 42 98 F5 41 B6 5C 12 1B 6A CB B6 C0 DA E0 EE 3B B2 1B E7 BA 03 44 8A 2B 72 06 DB 7B 47 97 FC 41 9C 66 34 F4 DB ED 37 EA 32 E6 79 2E 56 E2 18 F5 32 AF D1 5A D7 5A 8D 85 F6 D4 7D 57 E0 39 06 DE 3E 1D 53 B5 D1 1A D9 46 B5 85 F6 1F DD 72 05 FE CB 6E 3E 47 AA 17 3C 0E 5D 0A 98 E5 31 08 63 14 C4 0E 06 31 4C 52 99 31 00 72 B4 60 33 1C 34 60 68 0E 4F 53 18 A6 63 83 18 8D 03 47 15 81 4A 82 CE 2F 63 70 77 10 79 82 33 06 6B F1 0A D4 F2 AB 77 4E 15 40 BB A0 FF 00 C8 A3 DA 1D 62 6D 54 C9 03 2F 1B D6 2F 32 A7 59 9B 9C 6A 34 AC B9 02 08 65 3B 99 4D C1 1D 46 46 65 D7 D1 85 49 6A 04 29 39 B5 33 FC B7 ED 1F 55 BA C7 9C C4 4A 81 89 00 15 71 9B 53 6F 68 0E 6B EF AF 58 9B 5E 8F 75 37 EB 5E AB 55 D7 ED 2E 3D E7 DC 10 84 27 B1 E2 10 84 20 04 21 08 01 08 42 00 42 10 80 10 84 20 1E C2 10 88 28 FA C7 A4 7B 60 C6 45 CF C6 7A D3 9D D7 CB A2 88 CE 9F 57 B4 3E C5 AA 54 1D 22 3A 23 DD 1F B9 F9 CD 66 89 C1 9B 8A 8C 85 97 80 16 27 B7 64 EF 13 A9 C2 63 11 FD 92 2F EE 9C 88 EE 31 06 75 14 00 DF 9C AD F1 2D D2 3D 64 FC 65 92 B2 B2 AA D9 F7 CB C9 51 78 C5 68 8B C9 A9 99 09 6E 6A CD 4B E1 68 FD 85 FD A6 DD 0C D0 EA BB 7D 12 97 D8 1F 13 37 54 DA 61 AA 64 29 93 43 13 4D A3 11 A2 06 C9 83 14 0C 98 8C 1A 1A 49 0C 54 98 31 19 CA D2 60 C4 03 26 1B 7C 01 EA 66 3E 33 47 A5 51 D2 19 8F 65 86 4C A7 98 61 98 8C 53 27 B7 18 69 71 01 A9 9B 56 CD 78 56 51 BB EF 54 6E FB 43 2E 76 83 2D BB 0E 60 8C C1 1C C1 9B D2 2F 35 98 8D 16 53 A5 42 D6 39 B5 23 EC 31 E6 BE E3 75 8C B9 CF 6F 47 BA B8 F5 AF 71 E3 EB 76 B9 DF BC FA AC 48 41 18 35 C0 B8 61 ED 53 6C 9D 7A ED C4 75 88 4D 9E 37 9D CE 73 5A BD E3 58 BC 6A 08 42 12 D0 21 08 40 08 42 10 02 10 84 03 D8 42 11 05 1C 46 62 66 68 FC 07 AC 6B 9F 64 1C FA FA A2 F0 D8 03 51 B7 D8 79 CE 86 85 10 A0 05 C8 09 CE D7 45 CB 2A 8A 5B 21 BA 3A A6 19 5F DA 00 F5 F1 EE 23 39 14 11 D4 E2 04 35

Nach diesem Schritt lässt sich Datei 4 wieder öffnen. Tatsächlich sind die Dateien identisch.

Nun wenden wir uns Datei 5 zu. Normalerweise verfügen PDF-Dateien über den Anfang 25 50 44 46. Mit der Idee im Kopf, dass man nur kleinere Fehler korrigieren muss, fügen wir die fehlenden 0x25 am Anfang der Datei ein.

# xxd -l 16 file5\n0000000: 2550 4446 2d31 2e36 0d25 e2e3 cfd3 0d0a  %PDF-1.6.%......

Daraufhin lässt sich die Datei wieder öffnen. Es handelt sich um den gleichen BSI-Leitfaden, der in Datei 2 enthalten ist.

Die vorhergehenden Schritte haben wir nun auch auf Datei 6 angewendet, ohne Erfolg. Das format 3 weist jedoch auf eine sqlite-Datei hin. Die Auswertung von strings zeigt, dass tatsächlich die Datensätze einer sqlite-Datei enthalten sind.

/tablecontactscontacts
CREATE TABLE contacts (
    name VARCHAR(32) PRIMARY KEY,
    no INTEGER UNIQUE
indexsqlite_autoindex_contacts_2contacts
indexsqlite_autoindex_contacts_1contacts

Untersucht man Datei 8 mit strings, so finden sich Zeichenketten wie application/vnd.oasis.opendocument.text darin, die auf eine OpenDocument-Textdatei schließen lässt.

Datei Header Analyse

Finden Sie so viel wie möglich uber die Datei file7 heraus, in dem Sie nur das Linux Kommando hexdump oder xxd auf die ersten 27 Bytes der Datei anwenden.

# xxd -l 27 file7\n0000000: 424d 42df 0a00 0000 0000 3600 0000 2800  BMB.......6...(.\n0000010: 0000 5f02 0000 5f01 0000 01              .._..._....

Wir übertragen diese Informationen auf ein Tabellenschema und analyisieren diese Werte nun. Man muss darauf achten, dass die Berechnung von Werten durch die Byte-Reihenfolge (endianess) beeinflusst wird. Die Zahlen, bis auf den Typ, sind also von rechts nach links auszuwerten.

BytesBedeutung
42 4dTyp: Windows Bitmap-Datei
42 df 0a 00Größe der Bitmap-Datei: 712.514 Byte
00 00Reserviert
00 00Reserviert
36 00 00 00Offset bis zum Pixelarray: 54 Byte
28 00 00 00Größe des Headers: 40 Byte
5f 02 00 00Breite des Bildes: 607px
5f 01 00 00Höhe des Bildes: 351px
00 01Anzahl der Farbebenen (nicht genutzt)

Sind alle angegebenen Informationen korrekt? Wie erklären Sie sich die Unstimmigkeiten?

Die Größe der Bitmap-Datei ist nicht korrekt. Auf dem Dateisystem nimmt das Bild 692034 Byte ein. Vermutlich sind Informationen beim Wiederherstellungsvorgang verloren gegangen.

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahren Sie, wie Ihre Kommentardaten verarbeitet werden.

Index