DIF_GruppeD_Logbuch/06.04.2023 - Übung 3/Logbuch - Übung 3.md

9.7 KiB

Logbuch für die Durchführung der Übung 3

Aufgabe 1:

System: Für diese Übung verwenden wir Kali Linux.

Bearbeitungsschritte:

  1. Verwendung der U2.img-Datei aus Übung 2.
  2. Mounten der U2.img-Datei und Extraktion der Dateien.
  3. Versuch, die extrahierten Dateien zu öffnen.
  4. Untersuchung der Dateien mit einem Hex-Editor.
  5. Ermittlung der möglichen Dateiformate der untersuchten Dateien.
  6. Ermittlung der gängigen Signaturen (Magic Numbers) der gefundenen Dateiformate.
  7. Vergleich der Dateisignaturen (Magic Numbers) mit den tatsächlichen Signaturen und gegebenenfalls Änderung der Bytes zur Wiederherstellung der Dateien.

Dokumentation:

RecoverMe01:

Schritt 1: Öffnen der Terminalfenster und Navigation zum Verzeichnis, in dem sich die Datei “U2.img” aus Übung 2 befindet.

2023-04-08 00:46:32 $ cd /home/GruppeD/DIF/Uebung2

Schritt 2: Mounten und extrahieren der U2.img-Datei

2023-04-08 00:48:53 $ fdisk -l U2.img mnt
2023-04-08 00:49:35 $ sudo mount -o ro U2.img mnt

Dadurch wird die U2.img-Datei in das Verzeichnis “/mnt” gemountet.


Schritt 3: Navigiere zum “/mnt”-Verzeichnis und verwende den Befehl “ls”, um eine Liste der Dateien und Verzeichnisse anzuzeigen.

2023-04-08 00:49:43 $ cd mnt
2023-04-08 00:49:47 $ cd ls -la

Ausgabe:

Untitled


Schritt 4: Untersuchen der Datei mit einem Hex-Editor und xxd

2023-04-08 00:50:39 $ hexeditor RecoverMe01
2023-04-08 00:53:19 $ xxd RecoverMe01 | head

hexeditor RecoverMe01

hexeditor RecoverMe01

xxd RecoverMe01 | head

xxd RecoverMe01 | head


Schritt 5: Ermittlung der Dateiformat mit dem folgenden Befehl

2023-04-08 00:55:03 $ binwalk RecoverMe01

Ausgabe:

Beschreibung: image data

Beschreibung: image data


Schritt 6: Um die gefundenen Dateien zu reparieren, war es notwendig, die Signaturen der Dateiformate zu überprüfen und gegebenenfalls anzupassen. Bei einer der Dateien handelte es sich um eine beschädigte JPEG-Datei, deren magische Zahl, siehe https://de.wikipedia.org/wiki/Magische_Zahl_(Informatik) im Hex-Editor als 0x0FFD8FF statt 0xFFD8FF angezeigt wurde, siehe Abbildung “Hexeditor RecoverMe01”. Um die Datei zu reparieren, musste diese magische Zahl auf 0xFFD8FF geändert werden. Da die Datei jedoch zuvor gemounted wurde und somit nur lesbar war, musste sie zuerst in einen anderen Ordner kopiert werden, um die nötigen Änderungen durchführen zu können, siehe Schritt 7.

Hexeditor RecoverMe01

Hexeditor RecoverMe01


Schritt 7: Um die entsprechenden Bytes zu ändern und die Datei wiederherzustellen, muss die betreffende Datei zuerst in einen schreibbaren Ordner kopiert werden. Dazu kann ein neuer Ordner mit dem Befehl mkdir erstellt werden, und die Datei kann dann mit dem Befehl cp in den neuen Ordner kopiert werden. Anschließend können die entsprechenden Bytes im Hex-Editor geändert werden, um die Datei wiederherzustellen.

2023-04-08 00:56:11 $ cd ..
2023-04-08 00:56:23 $ mkdir extracted
2023-04-08 00:56:39 $ cp mnt/RecoverMe01 extracted/

Um die Image-Datei zu reparieren, müssen wir nun in den "extracted" Ordner wechseln. Dazu verwenden wir den Befehl "cd ..", um in den übergeordneten Ordner zu gelangen, und anschließend "cd extracted", um in den Zielordner zu navigieren.

Nachdem wir in den "extracted" Ordner gewechselt sind, können wir Schritt 4 erneut durchführen und die betroffene Datei in einem Hex-Editor öffnen. Hier können wir die entsprechenden Bytes von 0x0F auf 0xFF ändern und die Änderungen mit "^X" speichern und den Editor verlassen.

Untitled

Nachdem die Reparatur der Magischen Zahl erfolgreich durchgeführt wurde, konnten wir die Datei in einem Hex-Editor erneut überprüfen und die Bytes von 0x0F zu 0xFF ändern. Anschließend haben wir die Datei gespeichert und den Hex-Editor verlassen. Mit dem Befehl 'xdg-open RecoverMe01' konnten wir die reparierte Image-Datei öffnen, da wir zuvor mit dem Befehl 'binwalk RecoverMe01' herausgefunden hatten, dass es sich um eine Image-Datei handelt. Diesmal haben wir den Befehl 'xdg-open' verwendet, um die Datei mit dem Standardprogramm für das jeweilige Dateiformat zu öffnen.

2023-04-08 00:57:33 $ xdg-open RecoverMe01

Ausgabe: Anschließend konnte die reparierte JPEG-Datei mithilfe eines Image Viewers geöffnet werden und es war deutlich erkennbar, dass es sich um die Hochschule Mannheim, Gebäude H handelte.

RecoverMe01 - Image Viewer

RecoverMe01 - Image Viewer

RecoverMe02:

Schritt 1: Nach erfolgreicher Reparatur der RecoverMe01-Datei können wir nun ähnlich vorgehen, um auch die RecoverMe02-Datei zu reparieren. Dazu müssen wir zunächst die RecoverMe02-Datei in den "extracted" Ordner kopieren, um sie bearbeiten zu können.

2023-04-08 15:28:46 $ cd /home/GruppeD/DIF/Uebung2
2023-04-08 15:29:05 $ cp mnt/RecoverMe02 extracted/

Schritt 2: Bevor wir jedoch die Datei reparieren können, müssen wir zunächst herausfinden, um welches Dateiformat es sich handelt. Hierfür können wir den Hexeditor verwenden, um uns die Datei im Binärformat anzusehen und anhand bestimmter Merkmale wie der Magischen Zahl oder anderen Signaturen das Dateiformat zu identifizieren.

2023-04-08 15:33:50 $ cd extracted
2023-04-08 15:33:58 $ hexeditor RecoverMe02

Untitled

Nachdem wir die Datei im Hexeditor geöffnet haben, konnten wir feststellen, dass die ausgegebene magische Nummer 0x89504E470D0A1A0A nicht korrekt ist. Wir haben erkannt, dass anstatt des erwarteten Wertes 0x89504E770D0A1A0A, ein Fehler unterlaufen ist. Deshalb werden wir als nächstes die Zahl "47" zu "77" ändern, um die Datei zu reparieren.


Schritt 3: Nachdem wir die Datei im Hexeditor geöffnet haben, ändern wir die "77" zu "47", speichern die Änderungen mit "^X" und verlassen den Editor.

Untitled


Schritt 4: Nach der erfolgreichen Reparatur der Zahl können wir wie in Schritt 7 beschrieben die reparierte Datei mithilfe des Befehls "xdg-open" öffnen.

2023-04-08 15:46:45 $ xdg-open RecoverMe02

Ausgabe: Anschließend konnte die reparierte Datei mithilfe eines Image Viewers geöffnet werden und es war deutlich erkennbar, dass es sich um das Logo der Hochschule Mannheim handelte.

RecoverMe02 - Image Viewer

RecoverMe02 - Image Viewer

Aufgabe 2:

Schritt 1: Um die Fragen des Rechts zu beantworten, laden wir die Image-Datei über den folgenden Download-Link für U3 herunter: https://anakin.informatik.hs-mannheim.de/downloads/image.zip

$ /home/GruppeD/DIF/Uebung3
$ ls
> image.zip

Schritt 2: Ermitteln der Image-Datei enthaltenen Partitionen. Hierzu verwenden wir die Softwaretools fdisk und mmls und vergleichen die Ausgaben beider Tools.

Zunächst führen wir den Befehl “fdisk -l Image.img” aus, um die Partitionstabelle der Image-Datei anzuzeigen:

$ sudo fdisk -l image.img

Ausgabe:

Untitled

Die Partitionstabelle zeigt, dass die Image-Datei eine Partition enthält: image.img.

Als nächstes verwenden wir das Tool “mmls” aus dem Paket “sleuthkit”, um die Partitionstabelle der Image-Datei zu überprüfen:

Untitled

Die Ausgabe von fdisk und mmls zeigen, dass es in der Image-Datei eine einzige Partition gibt, welche als "EFI System Partition" bezeichnet wird. Beide Tools haben die gleiche Anzahl von Partitionen angezeigt, was darauf hinweist, dass sie in diesem Fall übereinstimmende Ergebnisse liefern.


Schritt 3: Ermitteln der Dateisystem in der Image-Datei:

Durch Ausführen des Befehls lsblk -f konnten wir das Dateisystem in der Image-Datei ermitteln. Die Ausgabe des Befehls zeigte uns, dass das Image-Datei mehrere Dateisystemtypen enthält, nämlich vfat, ext4 und swap.

$ lsblk -f

Ausgabe:

Untitled


Schritt 4: Um den größten Partitionsbereich aus der Image-Datei zu extrahieren, kann man den Befehl dd verwenden. Die Optionen notrunc, sync und noerror sind optional, aber empfohlen, um sicherzustellen, dass das Extrahieren reibungslos verläuft und keine Daten verloren gehen.

Der Befehl sieht folgendermaßen aus: //kommt noch