Menu Close

Computer Forensik (Vorlesung 13)

In der heutigen Sitzung besprechen wir die Ergebnisse der zweiten Übung. Der Schwerpunkt dieser Übung liegt auf der Analyse von NTFS-Partitionen.

Skript-AnfangÜbung 2 – Seite 1
Skript-EndeÜbung 2 – Seite 1

Besprechung der Übung

Schreiben Sie die einzige erweiterte Dateisystempartition (d.h. sekundäre Dateisystempartition) in die Arbeitskopie workingcopy_partition_ext.dd.

Damit wir eine Partition extrahieren können, benötigen wir weitere Informationen über die Partitionierung des Images. Wir verwenden mmls, um die Partitionstabelle im MBR auszuwerten.

$ 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

Sekundäre Dateisystempartitionen sind anhand der Informationen in der Slot-Spalte zu erkennen. Primäre Partitionen sind mit 00:XX und sekundäre Partitionen mit 01:XX maskiert. Der Eintrag für diese Partition steht somit nicht im MBR, sondern in der Extended Table. Folglich ist die zweite NTFS-Partition für uns von Interesse. Wir schreiben sie mithilfe von dd heraus.

$ dd if=arbeitskopie.dd of=workingcopy_partition_ext.dd bs=512 skip=0010295296 count=1843200

Wie lautet die SHA-256-Hashsumme von workingcopy_partition_ext.dd?

$ sha256sum workingcopy_partition_ext.dd \n80241dd91be5077aacaa03dfb5954bbb03944c2715d51a592dcb56e43cf71d86  workingcopy_partition_ext.dd

Wie groß ist der Partitionsslack, d.h. die Anzahl freier Sektoren der Partition „hinter“ dem Dateisystem?

Wir wissen bereits, dass die nun extrahierte Partition 1.843.200 Sektoren (je 512 Byte) groß ist. Dies ist die Sicht von Außen auf die Partition. Über fsstat erfahren wir mehr über die innere Sicht auf unsere NTFS-Partition.

$ fsstat workingcopy_partition_ext.dd 
FILE SYSTEM INFORMATION
--------------------------------------------
File System Type: NTFS
Volume Serial Number: 2E10B58010B55017
OEM Name: NTFS    
Volume Name: Volume3
Version: Windows XP

[...]

CONTENT INFORMATION
--------------------------------------------
Sector Size: 512
Cluster Size: 4096
Total Cluster Range: 0 - 230398
Total Sector Range: 0 - 1843198

Der Auszug zeigt, dass insgesamt 230.399 Cluster bzw. 1.843.199 von dieser Partition verwendet werden. Rechnet man diese Werte in Byte um, so zeigt sich, dass durch die Sektorangabe ein größerer Speicherbereich abgedeckt wird als von der Cluster-Angabe. Da für uns nur der Wert hinter der reservierten Partition interessant ist, verwenden wir den größeren Wert als Referenz. Gemäß der Definition in der Vorlesung gilt, dass ein Partitionsslack alle Sektoren innerhalb einer Partition umfasst, die nicht einem Dateisystem zugeordnet sind. Folglich gibt es einen freien Sektor (1.843.200 – 1.843.199 = 1).

Wo liegt die Backupkopie des Bootsektors?

Die Backupkopie des Bootsektors liegt im letzten Sektor des Partitionsslacks, also hinter dem Dateisystem. Mit xxd können wir uns den Inhalt des Bootsektors ansehen. Der Parameter -seek 943717888 erlaubt es uns an der Position des 943.717.888 Bytes bzw. des 1.843.199 Clusters zu starten.

$ xxd -seek 943717888 workingcopy_partition_ext.dd \n383ffe00:eb52 904e 5446 5320 2020 2000 0208 0000  .R.NTFS    .....\n383ffe10:0000 0000 00f8 0000 3f00 ff00 0008 0000  ........?.......\n383ffe20:0000 0000 8000 8000 ff1f 1c00 0000 0000  ................\n383ffe30:002c 0100 0000 0000 0200 0000 0000 0000  .,..............\n383ffe40:f600 0000 0100 0000 1750 b510 80b5 102e  .........P......\n383ffe50:0000 0000 fa33 c08e d0bc 007c fb68 c007  .....3.....|.h..\n383ffe60:1f1e 6866 00cb 8816 0e00 6681 3e03 004e  ..hf......f.>..N\n383ffe70:5446 5375 15b4 41bb aa55 cd13 720c 81fb  TFSu..A..U..r...\n383ffe80:55aa 7506 f7c1 0100 7503 e9dd 001e 83ec  U.u.....u.......\n383ffe90:1868 1a00 b448 8a16 0e00 8bf4 161f cd13  .h...H..........\n383ffea0:9f83 c418 9e58 1f72 e13b 060b 0075 dba3  .....X.r.;...u..\n383ffeb0:0f00 c12e 0f00 041e 5a33 dbb9 0020 2bc8  ........Z3... +.\n383ffec0:66ff 0611 0003 160f 008e c2ff 0616 00e8  f...............\n383ffed0:4b00 2bc8 77ef b800 bbcd 1a66 23c0 752d  K.+.w......f#.u-\n383ffee0:6681 fb54 4350 4175 2481 f902 0172 1e16  f..TCPAu$....r..\n383ffef0:6807 bb16 6870 0e16 6809 0066 5366 5366  h...hp..h..fSfSf\n383fff00:5516 1616 68b8 0166 610e 07cd 1a33 c0bf  U...h..fa....3..\n383fff10:2810 b9d8 0ffc f3aa e95f 0190 9066 601e  (........_...f`.\n383fff20:0666 a111 0066 0306 1c00 1e66 6800 0000  .f...f.....fh...\n383fff30:0066 5006 5368 0100 6810 00b4 428a 160e  .fP.Sh..h...B...\n383fff40:0016 1f8b f4cd 1366 595b 5a66 5966 591f  .......fY[ZfYfY.\n383fff50:0f82 1600 66ff 0611 0003 160f 008e c2ff  ....f...........\n383fff60:0e16 0075 bc07 1f66 61c3 a0f8 01e8 0900  ...u...fa.......\n383fff70:a0fb 01e8 0300 f4eb fdb4 018b f0ac 3c00  ..............<.\n383fff80:7409 b40e bb07 00cd 10eb f2c3 0d0a 4665  t.............Fe\n383fff90:686c 6572 2062 6569 6d20 4c65 7365 6e20  hler beim Lesen \n383fffa0:6465 7320 4461 7465 6e74 7284 6765 7273  des Datentr.gers\n383fffb0:000d 0a42 4f4f 544d 4752 2066 6568 6c74  ...BOOTMGR fehlt\n383fffc0:000d 0a42 4f4f 544d 4752 206b 6f6d 7072  ...BOOTMGR kompr\n383fffd0:696d 6965 7274 000d 0a4e 6575 7374 6172  imiert...Neustar\n383fffe0:7420 6d69 7420 5374 7267 2b41 6c74 2b45  t mit Strg+Alt+E\n383ffff0:6e74 660d 0a00 0a00 8cb1 c1d7 0000 55aa  ntf...........U.

Erfreulicherweise wird uns am Ende ebenfalls die bekannte Signatur 0xAA55 angezeigt, die typisch für Bootsektoren ist.

Geben Sie ohne Zuhilfenahme des Dateisystems die Sektoren an, die von der $MFTMirr belegt werden.

Wir nutzen den echo-Befehl in Kombination mit od, um uns die ASCII-konvertierten Bytes anzeigen zu lassen. Diese verwenden wir später, um nach der Zeichenkette „FILE“ zu suchen.

$ echo -n "FILE" | od -t x1\n0000000 46 49 4c 45

Der Parameter -n hat an dieser Stelle verhindert, dass Zeilenumbrüche von echo angezeigt werden. Wir haben somit 0x454c4946 als Suchwert erhalten. Suchen wir nun mittels sigfind nach dieser Signatur, sollten wir die $MFTMirr finden.

$ sigfind -l 454c4946 workingcopy_partition_ext.dd 
Block size: 512  Offset: 0  Signature: 46494C45
Block: 16 (-)
Block: 18 (+2)
Block: 20 (+2)
Block: 22 (+2)
Block: 614400 (+614378)
Block: 614402 (+2)
Block: 614404 (+2)
Block: 614406 (+2)
Block: 614408 (+2)
Block: 614410 (+2)
Block: 614412 (+2)
Block: 614414 (+2)
Block: 614416 (+2)
	
[...]

An dieser Stelle ist nur ein Ausschnitt des Rückgabewerts zu sehen. Die Blöcke 16-22 sind vermutlich der normalen $MFT zuzuordnen. Die Blöcke im Bereich 614400 wären dadurch der $MFTMirr zuzordnen. Sie kann daran erkannt werden, dass vier aufeinander folgende Einträgen mit „FILE“ enthalten sind. Diese stehen für Records von $MFT, $MFTMirr, $LogFile und $Volume. An dieser Stelle ist anzumerken, dass die $MFTMirr normalerweise in der Mitte der Partition anzufinden ist (ca. bei Block 921.599). Hier liegt sie jedoch deutlich weiter vorne.

Sehen Sie sich den Hexdump der Inhaltsdaten der Dateisystem-Metadaten-Datei $AttrDef an. Geben Sie nur anhand dieses Hexdumps Hypothesen an, welche Informationen in $AttrDef gespeichert werden und wie die Spezifikation der Datenstrukturen aussieht.

Die $AttrDef-Datei hat die Inode 4 und kann dadurch einfach adressiert werden.

$ icat workingcopy_partition_ext.dd 4  | xxd\n0000000: 2400 5300 5400 4100 4e00 4400 4100 5200  $.S.T.A.N.D.A.R.\n0000010: 4400 5f00 4900 4e00 4600 4f00 5200 4d00  D._.I.N.F.O.R.M.\n0000020: 4100 5400 4900 4f00 4e00 0000 0000 0000  A.T.I.O.N.......\n0000030: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n0000040: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n0000050: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n0000060: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n0000070: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n0000080: 1000 0000 0000 0000 0000 0000 4000 0000  ............@...\n0000090: 3000 0000 0000 0000 4800 0000 0000 0000  0.......H.......
\n00000a0: 2400 4100 5400 5400 5200 4900 4200 5500  $.A.T.T.R.I.B.U.\n00000b0: 5400 4500 5f00 4c00 4900 5300 5400 0000  T.E._.L.I.S.T...\n00000c0: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n00000d0: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n00000e0: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n00000f0: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n0000100: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n0000110: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n0000120: 2000 0000 0000 0000 0000 0000 8000 0000   ...............\n0000130: 0000 0000 0000 0000 ffff ffff ffff ffff  ................
\n0000140: 2400 4600 4900 4c00 4500 5f00 4e00 4100  $.F.I.L.E._.N.A.\n0000150: 4d00 4500 0000 0000 0000 0000 0000 0000  M.E.............\n0000160: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n0000170: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n0000180: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n0000190: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n00001a0: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n00001b0: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n00001c0: 3000 0000 0000 0000 0000 0000 4200 0000  0...........B...\n00001d0: 4400 0000 0000 0000 4202 0000 0000 0000  D.......B.......
\n00001e0: 2400 4f00 4200 4a00 4500 4300 5400 5f00  $.O.B.J.E.C.T._.\n00001f0: 4900 4400 0000 0000 0000 0000 0000 0000  I.D.............\n0000200: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n0000210: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n0000220: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n0000230: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n0000240: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n0000250: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n0000260: 4000 0000 0000 0000 0000 0000 4000 0000  @...........@...\n0000270: 0000 0000 0000 0000 0001 0000 0000 0000  ................
\n0000280: 2400 5300 4500 4300 5500 5200 4900 5400  $.S.E.C.U.R.I.T.\n0000290: 5900 5f00 4400 4500 5300 4300 5200 4900  Y._.D.E.S.C.R.I.\n00002a0: 5000 5400 4f00 5200 0000 0000 0000 0000  P.T.O.R.........\n00002b0: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n00002c0: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n00002d0: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n00002e0: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n00002f0: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n0000300: 5000 0000 0000 0000 0000 0000 8000 0000  P...............\n0000310: 0000 0000 0000 0000 ffff ffff ffff ffff  ................
\n0000320: 2400 5600 4f00 4c00 5500 4d00 4500 5f00  $.V.O.L.U.M.E._.\n0000330: 4e00 4100 4d00 4500 0000 0000 0000 0000  N.A.M.E.........\n0000340: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n0000350: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n0000360: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n0000370: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n0000380: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n0000390: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n00003a0: 6000 0000 0000 0000 0000 0000 4000 0000  `...........@...\n00003b0: 0200 0000 0000 0000 0001 0000 0000 0000  ................
\n00003c0: 2400 5600 4f00 4c00 5500 4d00 4500 5f00  $.V.O.L.U.M.E._.\n00003d0: 4900 4e00 4600 4f00 5200 4d00 4100 5400  I.N.F.O.R.M.A.T.\n00003e0: 4900 4f00 4e00 0000 0000 0000 0000 0000  I.O.N...........\n00003f0: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n0000400: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n0000410: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n0000420: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n0000430: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n0000440: 7000 0000 0000 0000 0000 0000 4000 0000  p...........@...\n0000450: 0c00 0000 0000 0000 0c00 0000 0000 0000  ................
\n0000460: 2400 4400 4100 5400 4100 0000 0000 0000  $.D.A.T.A.......\n0000470: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n0000480: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n0000490: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n00004a0: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n00004b0: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n00004c0: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n00004d0: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n00004e0: 8000 0000 0000 0000 0000 0000 0000 0000  ................\n00004f0: 0000 0000 0000 0000 ffff ffff ffff ffff  ................
\n0000500: 2400 4900 4e00 4400 4500 5800 5f00 5200  $.I.N.D.E.X._.R.\n0000510: 4f00 4f00 5400 0000 0000 0000 0000 0000  O.O.T...........\n0000520: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n0000530: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n0000540: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n0000550: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n0000560: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n0000570: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n0000580: 9000 0000 0000 0000 0000 0000 4000 0000  ............@...\n0000590: 0000 0000 0000 0000 ffff ffff ffff ffff  ................
\n00005a0: 2400 4900 4e00 4400 4500 5800 5f00 4100  $.I.N.D.E.X._.A.\n00005b0: 4c00 4c00 4f00 4300 4100 5400 4900 4f00  L.L.O.C.A.T.I.O.\n00005c0: 4e00 0000 0000 0000 0000 0000 0000 0000  N...............\n00005d0: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n00005e0: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n00005f0: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n0000600: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n0000610: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n0000620: a000 0000 0000 0000 0000 0000 8000 0000  ................\n0000630: 0000 0000 0000 0000 ffff ffff ffff ffff  ................
\n0000640: 2400 4200 4900 5400 4d00 4100 5000 0000  $.B.I.T.M.A.P...\n0000650: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n0000660: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n0000670: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n0000680: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n0000690: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n00006a0: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n00006b0: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n00006c0: b000 0000 0000 0000 0000 0000 8000 0000  ................\n00006d0: 0000 0000 0000 0000 ffff ffff ffff ffff  ................
\n00006e0: 2400 5200 4500 5000 4100 5200 5300 4500  $.R.E.P.A.R.S.E.\n00006f0: 5f00 5000 4f00 4900 4e00 5400 0000 0000  _.P.O.I.N.T.....\n0000700: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n0000710: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n0000720: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n0000730: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n0000740: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n0000750: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n0000760: c000 0000 0000 0000 0000 0000 8000 0000  ................\n0000770: 0000 0000 0000 0000 0040 0000 0000 0000  .........@......
\n0000780: 2400 4500 4100 5f00 4900 4e00 4600 4f00  $.E.A._.I.N.F.O.\n0000790: 5200 4d00 4100 5400 4900 4f00 4e00 0000  R.M.A.T.I.O.N...\n00007a0: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n00007b0: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n00007c0: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n00007d0: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n00007e0: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n00007f0: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n0000800: d000 0000 0000 0000 0000 0000 4000 0000  ............@...\n0000810: 0800 0000 0000 0000 0800 0000 0000 0000  ................
\n0000820: 2400 4500 4100 0000 0000 0000 0000 0000  $.E.A...........\n0000830: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n0000840: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n0000850: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n0000860: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n0000870: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n0000880: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n0000890: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n00008a0: e000 0000 0000 0000 0000 0000 0000 0000  ................\n00008b0: 0000 0000 0000 0000 0000 0100 0000 0000  ................
\n00008c0: 2400 4c00 4f00 4700 4700 4500 4400 5f00  $.L.O.G.G.E.D._.\n00008d0: 5500 5400 4900 4c00 4900 5400 5900 5f00  U.T.I.L.I.T.Y._.\n00008e0: 5300 5400 5200 4500 4100 4d00 0000 0000  S.T.R.E.A.M.....\n00008f0: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n0000900: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n0000910: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n0000920: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n0000930: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n0000940: 0001 0000 0000 0000 0000 0000 8000 0000  ................\n0000950: 0000 0000 0000 0000 0000 0100 0000 0000  ................\n0000960: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n0000970: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n0000980: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n0000990: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n00009a0: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n00009b0: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n00009c0: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n00009d0: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n00009e0: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n00009f0: 0000 0000 0000 0000 0000 0000 0000 0000  ................

Die Ausgabe zeigt ein gewisses Muster, das sich wiederholt. Blöcke bzw. Strukturen gleichbleibender Länge sind zu erkennen, die mit einem Namen beginnen. Die Namen deuten darauf hin, dass hier Informationen über Attribute des Dateisystems gespeichert sind.

Geben Sie die Spezifikation des MFT Entry Headers an.

OffsetZweck
0-3Signature: ether FILE or BAAD, which denotes a bad entry
4-5Offset to fixup array
6-7Number of entries in fixup array
8-15$LogFile sequence number
16-17Sequence value
18-19Link count
20-21Offset to first attribute
22-23Flags
24-27Used size of MFT entry
28-31Allocated size of MFT entry
32-39File reference to base record
40-41Next attribute identifier
42-1023Attributes and fixup values

Erläutern Sie, was ein Fixup-Value ist und wozu er dient.

Der Fixup-Value dient der Erkennung von Fehlern in Clustern. Das Ziel des Fixup-Value ist somit die Datenintegrität.

Geben Sie den Fixup-Value des MFT Eintrags von $AttrDef an und überzeugen sich, dass er an den erwarteten Stellen auftritt.

Um an den MFT-Eintrag von $AttrDef zu kommen, muss Inode 0 adressiert werden. Innerhalb des MFT adressieren wir den vierten Eintrag, indem wir die Eintragsgröße von 1024 Byte als Referenz ausnutzen.

$ icat workingcopy_partition_ext.dd 0 | xxd -seek 4096 -l 1024\n0001000: 4649 4c45 3000 0300 7927 2000 0000 0000  FILE0...y' .....\n0001010: 0400 0100 3800 0100 c001 0000 0004 0000  ....8...........\n0001020: 0000 0000 0000 0000 0500 0000 0400 0000  ................\n0001030: 0800 0000 0000 0000 1000 0000 4800 0000  ............H...\n0001040: 0000 1800 0000 0000 3000 0000 1800 0000  ........0.......\n0001050: 106b 43b2 0f4d cf01 106b 43b2 0f4d cf01  .kC..M...kC..M..\n0001060: 106b 43b2 0f4d cf01 106b 43b2 0f4d cf01  .kC..M...kC..M..\n0001070: 0600 0000 0000 0000 0000 0000 0000 0000  ................\n0001080: 3000 0000 7000 0000 0000 1800 0000 0200  0...p...........\n0001090: 5200 0000 1800 0100 0500 0000 0000 0500  R...............\n00010a0: 106b 43b2 0f4d cf01 106b 43b2 0f4d cf01  .kC..M...kC..M..\n00010b0: 106b 43b2 0f4d cf01 106b 43b2 0f4d cf01  .kC..M...kC..M..\n00010c0: 0090 0000 0000 0000 a08c 0000 0000 0000  ................\n00010d0: 0600 0000 0000 0000 0803 2400 4100 7400  ..........$.A.t.\n00010e0: 7400 7200 4400 6500 6600 0000 0000 0000  t.r.D.e.f.......\n00010f0: 5000 0000 8000 0000 0000 1800 0000 0300  P...............\n0001100: 6400 0000 1800 0000 0100 0480 4800 0000  d...........H...\n0001110: 5400 0000 0000 0000 1400 0000 0200 3400  T.............4.\n0001120: 0200 0000 0000 1400 8900 1200 0101 0000  ................\n0001130: 0000 0005 1200 0000 0000 1800 8900 1200  ................\n0001140: 0102 0000 0000 0005 2000 0000 2002 0000  ........ ... ...\n0001150: 0101 0000 0000 0005 1200 0000 0102 0000  ................\n0001160: 0000 0005 2000 0000 2002 0000 0000 0000  .... ... .......\n0001170: 8000 0000 4800 0000 0100 0000 0000 0400  ....H...........\n0001180: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n0001190: 4000 0000 0000 0000 0010 0000 0000 0000  @...............\n00011a0: 000a 0000 0000 0000 000a 0000 0000 0000  ................\n00011b0: 3101 b725 0100 0000 ffff ffff 0000 0000  1..%............\n00011c0: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n00011d0: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n00011e0: 0000 0000 0000 0000 0000 0000 0000 0000  ................

[...]
\n00013e0: 0000 0000 0000 0000 0000 0000 0000 0000  ................\n00013f0: 0000 0000 0000 0000 0000 0000 0000 0800  ................

Wir können aus der vorherigen Tabelle ablesen, dass die Angabe zum Offset in den Bytes 4 und 5 vermerkt ist. Der enthaltene Wert ist 0x0030. Schauen wir uns die Bytes an der Adresse 0x1030 bis 0x1031 an, finden wir die Bytes 08 00. Diese Wertkombination kann ebenfalls in den letzten beiden Byte wiedergefunden werden.

Wie lautet die Referenzadresse von $AttrDef?

Jeder MFT-Eintrag hat eine 16 Bit Sequenznummer und eine 48 Bit Record-Nummer. Sie bilden eine 64 Bit Referenzadresse.

$ istat workingcopy_partition_ext.dd  4
MFT Entry Header Values:
Entry: 4        Sequence: 4
$LogFile Sequence Number: 2107257
Allocated File
Links: 1

[...]

Die Referenzadresse von $AttrDef ist in diesem Fall 0x0004 || 0x000000000004.

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.