tools:dateisystem:sleuthkit:disk_images_untersuchen_mit_tsk
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende Überarbeitung | |||
| tools:dateisystem:sleuthkit:disk_images_untersuchen_mit_tsk [2024/05/18 18:52] – Seite überarbeitet gahsul | tools:dateisystem:sleuthkit:disk_images_untersuchen_mit_tsk [2024/05/20 09:13] (aktuell) – Kleinere Korrekturen gahsul | ||
|---|---|---|---|
| Zeile 3: | Zeile 3: | ||
| In diesen Tutorial wird TSK und das EWF (Expert Witness Compression Format) für die Image Erstellung verwendet, | In diesen Tutorial wird TSK und das EWF (Expert Witness Compression Format) für die Image Erstellung verwendet, | ||
| da das [[ap> | da das [[ap> | ||
| - | Als Alternative zu '' | + | Als Alternative zu '' |
| - | Es werden | + | Es werden Begriffe wie case (Fall), Evidence (Beweis) etc. fallen. Da diese Tools hauptsächlich in der Digital Forensik zum Einsatz kommen. |
| ===== Vorbereitungen ===== | ===== Vorbereitungen ===== | ||
| Zeile 14: | Zeile 14: | ||
| <code bash> | <code bash> | ||
| - | # blkdiscard -fz /dev/sdc | + | sudo blkdiscard -fz /dev/sdc |
| </ | </ | ||
| - | Als nächtes legen wir auf dem USB-Stick eine neue GPT (Guided Partition Tabelle) | + | Als nächtes legen wir auf dem USB-Stick eine neue [[wpde> |
| - | Die wir wiederum einmal | + | Die wir mit dem [[wpde> |
| <WRAP todo> | <WRAP todo> | ||
| Zeile 30: | Zeile 30: | ||
| NTFS_filesystem ="/ | NTFS_filesystem ="/ | ||
| - | # mkdir -p ${exFAT_filesystem} ${NTFS_filesystem} | + | sudo mkdir -p ${exFAT_filesystem} ${NTFS_filesystem} |
| - | # mount /dev/sdc1 ${exFAT_filesystem} | + | sudo mount /dev/sdc1 ${exFAT_filesystem} |
| - | # mount /dev/sdc2 ${NTFS_filesystem} | + | sudo mount /dev/sdc2 ${NTFS_filesystem} |
| - | $ echo "Ich bin eine Datei auf einem extFAT Dateisystem" | + | echo "Ich bin eine Datei auf einem extFAT Dateisystem" |
| - | $ echo "Ich bin eine Datei auf einem NTFS Dateisystem" | + | echo "Ich bin eine Datei auf einem NTFS Dateisystem" |
| - | $ echo "Ich bin ursprünglich gelöscht worden." | + | echo "Ich bin ursprünglich gelöscht worden." |
| - | $ echo "Ich bin ursprünglich gelöscht worden." | + | echo "Ich bin ursprünglich gelöscht worden." |
| </ | </ | ||
| Zeile 43: | Zeile 43: | ||
| <code bash> | <code bash> | ||
| - | $ rm -i ${exFAT_filesystem}/ | + | rm -i ${exFAT_filesystem}/ |
| - | $ rm -i ${NTFS_filesystem}/ | + | rm -i ${NTFS_filesystem}/ |
| - | # umount ${exFAT_filesystem} ${NTFS_filesystem} | + | sudo umount ${exFAT_filesystem} ${NTFS_filesystem} |
| </ | </ | ||
| Zeile 51: | Zeile 51: | ||
| <WRAP important> | <WRAP important> | ||
| - | Das Erste, das man tun sollte, falls man festgestellt hat, dass man Daten von seinem | + | Das Erste, das man tun sollte, falls Daten von einem Datenträger versehentlich gelöscht |
| - | Ist die Daten auf dem Datenträger zu sichern und nicht mehr weiterzuverwenden, | + | sind die Daten auf dem Datenträger zu sichern und den Datenträger |
| </ | </ | ||
| <WRAP info> | <WRAP info> | ||
| - | Im folgenden Beispiel | + | Im folgenden Beispiel |
| - | Sollte | + | Sollen |
| </ | </ | ||
| Zeile 64: | Zeile 64: | ||
| <WRAP todo> | <WRAP todo> | ||
| * Es sollte für ewfacquire eine eigene Wikiseite verwendet werden. | * Es sollte für ewfacquire eine eigene Wikiseite verwendet werden. | ||
| - | * Fehlende Sprache. Fürs Wiki sollte der Text sachlich und ohne persönliche Rede verwendet werden. | ||
| </ | </ | ||
| - | Um die Daten vom USB-Stick sicherzustellen. Verwende wir das Tool '' | + | Um Daten vom USB-Stick sicherzustellen. Verwende wir das Tool '' |
| Das **EWF** speichert noch einige Metadaten rund um das zu sichernde Medium und der Forensik Station (in unseren Fall unser PC). | Das **EWF** speichert noch einige Metadaten rund um das zu sichernde Medium und der Forensik Station (in unseren Fall unser PC). | ||
| - | Welche zusätzlichen Metadaten | + | Welche zusätzlichen Metadaten |
| - | Wir legen für unseren Fall (**case**) ein neues Verzeichnis | + | Wir legen für unseren Fall (**case**) ein neues Arbeitsverzeichnis |
| <code bash> | <code bash> | ||
| Zeile 80: | Zeile 79: | ||
| Als Nächstes starten wir das Programm mit Root Rechten, um Zugriff auf den USB-Stick zu bekommen. | Als Nächstes starten wir das Programm mit Root Rechten, um Zugriff auf den USB-Stick zu bekommen. | ||
| Die einzige Option, die wir angeben, ist die '' | Die einzige Option, die wir angeben, ist die '' | ||
| - | für den rest lassen wir uns von ewfacquire abfragen. | + | für den rest lassen wir uns von '' |
| <code bash> | <code bash> | ||
| - | # ewfacquire -l image.log /dev/sdc | + | sudo ewfacquire -l image.log /dev/sdc |
| ewfacquire 20140608 | ewfacquire 20140608 | ||
| Zeile 164: | Zeile 164: | ||
| Die Ausgabe ist auf das wesentliche gekürzt worden. | Die Ausgabe ist auf das wesentliche gekürzt worden. | ||
| - | Das Sicherstellen der Daten hat 3 Min Gedauert und die MD5 Prüfsumme über für die Daten ist '' | + | Das Sicherstellen der Daten hat 3 Min Gedauert und die MD5 Prüfsumme über die Daten ist '' |
| Diese wurde in die Datei '' | Diese wurde in die Datei '' | ||
| <code bash> | <code bash> | ||
| - | $ cat image.log | + | cat image.log |
| MD5 hash calculated over data: d6742b4b02073025bcdf0a6dceff4bb3 | MD5 hash calculated over data: d6742b4b02073025bcdf0a6dceff4bb3 | ||
| </ | </ | ||
| - | im Arbeitsverzeichnis befinden zu dem Zeitpunkt nun folgende Dateien: | + | im Arbeitsverzeichnis befinden |
| <code bash> | <code bash> | ||
| - | $ ls -lh | + | ls -lh |
| insgesamt 7,5M | insgesamt 7,5M | ||
| -rw-r--r-- 1 root root 65 4. Mai 11:14 image.log | -rw-r--r-- 1 root root 65 4. Mai 11:14 image.log | ||
| Zeile 189: | Zeile 190: | ||
| Damit wir ohne Root Rechte am Image weiterarbeiten können, | Damit wir ohne Root Rechte am Image weiterarbeiten können, | ||
| - | änderen wir den den Besitzer | + | änderen wir den den Besitzer des Images auf unseren Benutzer. |
| Sicherheitshalber geben wir der Datei auch nur Leserechte, da wir von dieser Datei nur lesen möchten. | Sicherheitshalber geben wir der Datei auch nur Leserechte, da wir von dieser Datei nur lesen möchten. | ||
| <code bash> | <code bash> | ||
| - | # chown sebastian: usb_stick_image.E01 | + | sudo chown sebastian: usb_stick_image.E01 |
| - | $ chmod 400 usb_stick_image.E01 | + | chmod 400 usb_stick_image.E01 |
| </ | </ | ||
| ===== Daten Untersuchen/ | ===== Daten Untersuchen/ | ||
| + | |||
| + | ==== mmls (Image Struktur Analysieren) ==== | ||
| <WRAP todo> | <WRAP todo> | ||
| * mmls sollte eine eigene Wikiseite bekommen | * mmls sollte eine eigene Wikiseite bekommen | ||
| - | * Fehlende Sprache | ||
| </ | </ | ||
| - | ==== mmls (Image | + | Um die Innere |
| - | Um die Innere Struktur des Images anzeigen lassen, kann '' | + | <code bash> |
| + | mmls usb_stick_image.E01 | ||
| - | <code bash> | ||
| - | $ mmls usb_stick_image.E01 | ||
| GUID Partition Table (EFI) | GUID Partition Table (EFI) | ||
| Offset Sector: 0 | Offset Sector: 0 | ||
| Zeile 224: | Zeile 225: | ||
| </ | </ | ||
| - | + | Man erkennt, eine GPT mit 2 Partitionen und noch nicht zugewiesener | |
| - | + | ||
| - | Man erkennt, | + | |
| - | seiner eigenen Metadaten + 2 Partitionen und noch nicht zugewiesener | + | |
| - | noch einmal ganz am ende des Datenträgers | + | |
| <WRAP important> | <WRAP important> | ||
| - | Auf nicht Adressierte Berreiche, können sich auch Daten befinden! | + | **Auf nicht Adressierte Berreiche, können sich auch Daten befinden!** |
| Dieser Raum wurde legetlich zurzeit der Image Erstellung nicht Adressiert. | Dieser Raum wurde legetlich zurzeit der Image Erstellung nicht Adressiert. | ||
| </ | </ | ||
| - | Wir haben jetzt also eine Ahnung wo sich interessante | + | Wir haben jetzt also eine Ahnung wo sich Daten befinden können. |
| Einmal am **offset 2048**, und einmal am **offset 1026048**. | Einmal am **offset 2048**, und einmal am **offset 1026048**. | ||
| Zeile 244: | Zeile 241: | ||
| </ | </ | ||
| - | Um in Erfahrung zu bringen welches Dateisystem sich an den beiden | + | Um in Erfahrung zu bringen welches Dateisystem sich an den [[wpde> |
| setzten wir das '' | setzten wir das '' | ||
| - | <code bash [highlight_lines_extra=" | + | <code bash [highlight_lines_extra=" |
| - | $ fsstat -o 2048 usb_stick_image.E01 | + | fsstat -o 2048 usb_stick_image.E01 |
| FILE SYSTEM INFORMATION | FILE SYSTEM INFORMATION | ||
| -------------------------------------------- | -------------------------------------------- | ||
| Zeile 292: | Zeile 290: | ||
| Das gleiche wiederholen wir mit der anderen Partition: | Das gleiche wiederholen wir mit der anderen Partition: | ||
| - | <code bash [highlight_lines_extra=" | + | <code bash [highlight_lines_extra=" |
| - | $ fsstat -o 1026048 usb_stick_image.E01 | + | fsstat -o 1026048 usb_stick_image.E01 |
| FILE SYSTEM INFORMATION | FILE SYSTEM INFORMATION | ||
| -------------------------------------------- | -------------------------------------------- | ||
| Zeile 336: | Zeile 335: | ||
| </ | </ | ||
| - | Hier die selben | + | Hier änliche |
| <WRAP help> | <WRAP help> | ||
| - | Um die Ausgaben | + | Um die Ausgaben verstehen zu können, sollte man sich der Dokumentation des jeweiligen Dateisystems widmen. |
| </ | </ | ||
| Zeile 345: | Zeile 344: | ||
| <WRAP todo> | <WRAP todo> | ||
| - | * fsstat | + | * fls sollte eine eigene Wikiseite bekommen. |
| </ | </ | ||
| Zeile 351: | Zeile 350: | ||
| <code bash> | <code bash> | ||
| - | $ fls -o 2048 usb_stick_image.E01 | + | fls -o 2048 usb_stick_image.E01 |
| r/r 2051: | r/r 2051: | ||
| r/r 2052: | r/r 2052: | ||
| Zeile 366: | Zeile 366: | ||
| Die Ausgabe ist in mehren Spalten unterteilt. | Die Ausgabe ist in mehren Spalten unterteilt. | ||
| - | Die erste Spalte, zeigt an um was es sich handelt eine Datei (r, Regular file), ein Verzeichnis (d, Directory) eine Virtuelle TSK Datei (v, TSK Virtual file) etc. | + | Die erste Spalte zeigt, um was es sich handelt eine Datei (r, Regular file), ein Verzeichnis (d, Directory) eine Virtuelle TSK Datei (v, TSK Virtual file) etc. |
| Mehr Information dazu gibt siehe [[https:// | Mehr Information dazu gibt siehe [[https:// | ||
| Es folgt eine Spalte indem eventuell ein ** * ** zu sehen ist. Dieses ** * ** bedeutet das diese Datei gelöscht, bzw. nicht mehr über den Index des Dateisystems referenziert wird. | Es folgt eine Spalte indem eventuell ein ** * ** zu sehen ist. Dieses ** * ** bedeutet das diese Datei gelöscht, bzw. nicht mehr über den Index des Dateisystems referenziert wird. | ||
| - | Und damit irgendwann überschrieben werden würde. | + | **Und damit irgendwann überschrieben werden würde.** |
| Es folgt die Spalte mit der [[wpde> | Es folgt die Spalte mit der [[wpde> | ||
| Zeile 379: | Zeile 379: | ||
| <code bash> | <code bash> | ||
| - | $ fls -d -o 2048 usb_stick_image.E01 | + | fls -d -o 2048 usb_stick_image.E01 |
| r/r * 2063: | r/r * 2063: | ||
| </ | </ | ||
| - | === Daten Extrahieren === | + | ===== Daten Extrahieren |
| + | |||
| + | ==== icat (Inhaltsausgabe anhand der Inode) ==== | ||
| <WRAP todo> | <WRAP todo> | ||
| * icat sollte eine eigene Wikiseite bekommen. | * icat sollte eine eigene Wikiseite bekommen. | ||
| </ | </ | ||
| - | |||
| - | == icat (Inhaltsausgabe anhand der Inode) == | ||
| wie das normale cat, gibt '' | wie das normale cat, gibt '' | ||
| Zeile 397: | Zeile 398: | ||
| <code bash> | <code bash> | ||
| - | $ icat -o 2048 usb_stick_image.E01 2059 | + | icat -o 2048 usb_stick_image.E01 2059 |
| Ich bin eine Datei auf einem extFAT Dateisystem | Ich bin eine Datei auf einem extFAT Dateisystem | ||
| </ | </ | ||
| Zeile 404: | Zeile 406: | ||
| <WRAP important> | <WRAP important> | ||
| - | Dies keine vollständigen Extraktion. | + | **Dies ist keine vollständigen Extraktion!** |
| Es wird dabei nur der Dateiinhalt extrahiert nicht aber die Metadaten. | Es wird dabei nur der Dateiinhalt extrahiert nicht aber die Metadaten. | ||
| - | Dies spielt bei der Beweis Führung eine wichtige Rolle. | + | Dies spielt bei der Beweis Führung eine wichtige Rolle! |
| </ | </ | ||
| - | Desweiteren gibt es noch andere Möglichkeiten um gleich mehre Dateien und Verzeichnisse | + | Um mehrere |
| - | Es sollte also jeder für sich das Risiko von Datenmissbrauch Abwegen. | + | |
| Dies funktioniert auch bei nicht mehr Referenzierten Dateien: | Dies funktioniert auch bei nicht mehr Referenzierten Dateien: | ||
| <code bash> | <code bash> | ||
| - | $ icat -o 2048 usb_stick_image.E01 2063 | + | icat -o 2048 usb_stick_image.E01 2063 |
| Ich bin ursprünglich gelöscht worden. | Ich bin ursprünglich gelöscht worden. | ||
| </ | </ | ||
| - | === Dateisystem machen den Unterschied === | + | ==== Dateisystem machen den Unterschied |
| - | Beim examinieren von Daten haben Dateisysteme gravierende Unterschiede. | + | Beim examinieren von Daten, haben Dateisysteme gravierende Unterschiede. |
| - | Manche sind mehr auf Sicherheit bedacht als andere | + | Manche sind mehr auf Sicherheit bedacht als andere. |
| Um den Unterscheid zu Demonstrieren hier die Fehlende Ausgabe des NTFS Dateisystems: | Um den Unterscheid zu Demonstrieren hier die Fehlende Ausgabe des NTFS Dateisystems: | ||
| <code bash> | <code bash> | ||
| - | $ fls -o 1026048 usb_stick_image.E01 | + | fls -o 1026048 usb_stick_image.E01 |
| r/r 4-128-1: | r/r 4-128-1: | ||
| r/r 8-128-2: | r/r 8-128-2: | ||
| Zeile 451: | Zeile 454: | ||
| Um diese sehen zu können muss die Option '' | Um diese sehen zu können muss die Option '' | ||
| - | <code bash [highlight_lines_extra=" | + | <code bash [highlight_lines_extra=" |
| - | $ fls -r -o 1026048 usb_stick_image.E01 | + | fls -r -o 1026048 usb_stick_image.E01 |
| r/r 4-128-1: | r/r 4-128-1: | ||
| r/r 8-128-2: | r/r 8-128-2: | ||
| Zeile 495: | Zeile 499: | ||
| <code bash> | <code bash> | ||
| - | $ icat -o 1026048 usb_stick_image.E01 27-128-2 | + | icat -o 1026048 usb_stick_image.E01 27-128-2 |
| Ich bin ursprünglich gelöscht worden. | Ich bin ursprünglich gelöscht worden. | ||
| </ | </ | ||
tools/dateisystem/sleuthkit/disk_images_untersuchen_mit_tsk.1716058352.txt.gz · Zuletzt geändert: von gahsul