John the Ripper für digitale Forensik

Kali LinuxBeginner
Jetzt üben

Einleitung

In der digitalen Forensik ist die Wiederherstellung von Passwörtern aus beschlagnahmten Beweismitteln oft ein entscheidender Schritt. Diese Passwörter können verschlüsselte Dateien entsperren, auf Benutzerkonten zugreifen oder wichtige Einblicke in die Aktivitäten eines Verdächtigen geben. John the Ripper ist ein kostenloses und quelloffenes Tool zur Passwortknackung, das von Sicherheitsexperten und forensischen Ermittlern weit verbreitet ist, um die Passwortstärke zu testen und verlorene oder kompromittierte Passwörter wiederherzustellen.

Dieses Labor wird Sie durch die praktische Anwendung von John the Ripper im Kontext der digitalen Forensik führen. Sie lernen, wie Sie Passwort-Hashes aus verschiedenen Quellen extrahieren, John the Ripper zum Knacken dieser Hashes verwenden und die Bedeutung einer ordnungsgemäßen Dokumentation und einer lückenlosen Beweismittelkette (chain of custody) bei forensischen Untersuchungen verstehen. Am Ende dieses Labors werden Sie ein solides Verständnis dafür haben, wie Sie John the Ripper in Ihren digitalen forensischen Arbeitsablauf integrieren können.

Hashes aus forensischen Images extrahieren

In diesem Schritt lernen Sie, wie Sie die Extraktion von Passwort-Hashes aus einem forensischen Image simulieren. In einem realen Szenario würden diese Hashes aus verschiedenen Quellen wie /etc/shadow-Dateien, SAM-Datenbanken oder verschlüsselten Containern extrahiert werden. Für dieses Labor haben wir eine Datei namens hashes.txt vorbereitet, die Beispiel-MD5-Hashes enthält.

Zuerst untersuchen wir den Inhalt der Datei hashes.txt, um das Format der Hashes zu verstehen, mit denen wir arbeiten werden.

cat ~/project/hashes.txt

Sie sollten eine Ausgabe ähnlich dieser sehen, wobei jede Zeile einen Benutzernamen gefolgt von einem Doppelpunkt und dem entsprechenden Hash darstellt:

user1:5f4dcc3b5aa765d61d8327deb882cf99
user2:21232f297a57a5a743894a0e4a801fc3
user3:d41d8cd98f00b204e9800998ecf8427e
user4:a87ff679a2f3e71d9181a67b7542122c

Dies sind MD5-Hashes. John the Ripper kann viele Hash-Typen automatisch erkennen, aber das Verständnis des Formats ist entscheidend für effektives Knacken.

John the Ripper zur Passwortwiederherstellung aus Beweismitteln verwenden

In diesem Schritt verwenden Sie John the Ripper, um die im vorherigen Schritt extrahierten Hashes zu knacken. Wir werden einen einfachen Wörterbuchangriff (wordlist attack) verwenden, eine gängige Technik beim Passwortknacken, bei der John versucht, Hashes mit einer Liste gängiger Passwörter abzugleichen.

Zuerst verwenden wir John the Ripper mit der Datei hashes.txt und der Datei wordlist.txt. Die Option --format=Raw-MD5 weist John the Ripper explizit an, die Hashes als rohe MD5-Hashes zu behandeln, obwohl es diese oft automatisch erkennt.

john --wordlist=~/project/wordlist.txt ~/project/hashes.txt

Nachdem Sie den Befehl ausgeführt haben, wird John the Ripper versuchen, die Passwörter zu knacken. Die Ausgabe zeigt den Fortschritt und alle geknackten Passwörter an. Dies kann einige Momente dauern.

Sobald John fertig ist, können Sie die geknackten Passwörter mit der Option --show anzeigen.

john --show ~/project/hashes.txt

Sie sollten eine Ausgabe ähnlich dieser sehen, die die geknackten Passwörter für die Benutzer anzeigt:

user1:password (user1)
user2:admin (user2)
user4:test (user4)
3 password hashes cracked, 1 left

Beachten Sie, dass das Passwort von user3 (das leer ist und durch d41d8cd98f00b204e9800998ecf8427e dargestellt wird) möglicherweise nicht mit dieser spezifischen Wortliste geknackt wird, da leere Passwörter oft anders behandelt werden oder spezifische Regeln erfordern.

Forensische Verfahren mit John the Ripper dokumentieren

In der digitalen Forensik ist eine sorgfältige Dokumentation von größter Bedeutung. Jeder Schritt, der während einer Untersuchung unternommen wird, einschließlich der Verwendung von Tools wie John the Ripper, muss aufgezeichnet werden. Dies gewährleistet die Integrität der Beweismittel und die Glaubwürdigkeit der Ergebnisse vor Gericht.

In diesem Schritt simulieren Sie die Dokumentation des Knackprozesses. Sie sollten Folgendes aufzeichnen:

  1. Verwendetes Tool: John the Ripper
  2. Version: (Diese finden Sie durch Ausführen von john --version)
  3. Eingabedatei: ~/project/hashes.txt
  4. Verwendete Wortliste: ~/project/wordlist.txt
  5. Geknackte Passwörter: Die Ausgabe von john --show
  6. Datum und Uhrzeit: Wann das Knacken durchgeführt wurde.

Erstellen wir eine einfache Textdatei zur Dokumentation. Verwenden Sie nano, um eine Datei namens forensic_log.txt in Ihrem ~/project-Verzeichnis zu erstellen und zu bearbeiten.

nano ~/project/forensic_log.txt

Innerhalb von nano fügen Sie Inhalte ähnlich den folgenden hinzu und ersetzen die geknackten Passwörter durch Ihre tatsächlichen Ergebnisse:

Forensic Log - Password Cracking

Date: <Aktuelles Datum und Uhrzeit>
Investigator: LabEx User

Tool Used: John the Ripper
Version: <Ausgabe von john --version>

Input Hash File: ~/project/hashes.txt
Wordlist Used: ~/project/wordlist.txt

Cracking Command:
john --wordlist=~/project/wordlist.txt ~/project/hashes.txt

Cracked Passwords:
user1:password
user2:admin
user4:test

Notes:
Attempted to crack MD5 hashes using a provided wordlist.

Drücken Sie Ctrl+X, dann Y zum Speichern und Enter, um den Dateinamen zu bestätigen.

Nach dem Speichern können Sie den Inhalt Ihrer Log-Datei anzeigen:

cat ~/project/forensic_log.txt

Dieses Protokoll ist ein wichtiger Bestandteil Ihres forensischen Berichts.

Nachverfolgbarkeit (Chain of Custody) für geknackte Passwörter aufrechterhalten

Die Aufrechterhaltung der Nachverfolgbarkeit (Chain of Custody) ist in der digitalen Forensik unerlässlich, um sicherzustellen, dass Beweismittel ordnungsgemäß behandelt werden und vor Gericht zulässig sind. Dies bedeutet, zu dokumentieren, wer wann und zu welchem Zweck Zugriff auf die Beweismittel hatte. Bei geknackten Passwörtern beinhaltet dies deren sichere Speicherung und die Dokumentation ihrer Entdeckung.

In diesem Schritt simulieren Sie die Sicherung der geknackten Passwörter und die Dokumentation ihrer Handhabung. Während in einem realen Szenario verschlüsselte Container oder sichere Datenbanken verwendet werden könnten, werden wir hier einfach die geknackten Passwörter in ein bestimmtes "Beweismittel"-Verzeichnis verschieben und unser Protokoll aktualisieren.

Erstellen wir zunächst ein Verzeichnis zur Speicherung der Beweismittel.

mkdir -p ~/project/evidence/cracked_passwords

Nun leiten wir die Ausgabe von john --show in eine Datei in diesem neuen Verzeichnis um. Diese Datei enthält nur die geknackten Passwörter.

john --show ~/project/hashes.txt > ~/project/evidence/cracked_passwords/cracked_passwords_output.txt

Überprüfen Sie, ob die Datei erstellt wurde und die geknackten Passwörter enthält:

cat ~/project/evidence/cracked_passwords/cracked_passwords_output.txt

Aktualisieren Sie abschließend Ihre forensic_log.txt, um zu dokumentieren, dass die geknackten Passwörter gesichert wurden. Öffnen Sie die Log-Datei erneut:

nano ~/project/forensic_log.txt

Fügen Sie dem Protokoll einen neuen Abschnitt hinzu, ähnlich diesem:

Cracked Passwords Secured:
Location: ~/project/evidence/cracked_passwords/cracked_passwords_output.txt
Date Secured: <Aktuelles Datum und Uhrzeit>

Speichern und beenden Sie nano (Ctrl+X, Y, Enter).

Dieser Prozess stellt sicher, dass die geknackten Passwörter als Beweismittel behandelt werden und ihre Handhabung dokumentiert ist.

Ergebnisse in einem forensischen Bericht präsentieren

Der letzte Schritt jeder digitalen forensischen Untersuchung ist die Präsentation der Ergebnisse in einem klaren, prägnanten und rechtlich einwandfreien forensischen Bericht. Dieser Bericht fasst die Untersuchung, die verwendeten Methoden, die gefundenen Beweismittel und die gezogenen Schlussfolgerungen zusammen.

In diesem Schritt kompilieren Sie die während dieses Labors gesammelten Informationen zu einem vereinfachten forensischen Bericht. Dieser Bericht würde typischerweise Folgendes enthalten:

  • Fallinformationen: Fall-ID, Ermittler, Datum.
  • Zusammenfassung (Executive Summary): Kurzer Überblick über die Ergebnisse.
  • Methodik: Verwendete Werkzeuge und Techniken (z. B. John the Ripper, Wortlisten-Angriff).
  • Ergebnisse: Spezifische geknackte Passwörter und die zugehörigen Konten.
  • Schlussfolgerung: Zusammenfassung dessen, was die Ergebnisse implizieren.
  • Anhänge: Rohe Protokolle, Hash-Dateien usw. (wie forensic_log.txt).

Erstellen wir eine neue Datei namens forensic_report.txt in Ihrem ~/project-Verzeichnis mit nano.

nano ~/project/forensic_report.txt

Fügen Sie Inhalte ähnlich den folgenden hinzu und integrieren Sie die Details aus Ihrer forensic_log.txt und den geknackten Passwörtern:

Digital Forensic Report

Case ID: LABEX-JTR-001
Investigator: LabEx User
Date of Report: <Aktuelles Datum und Uhrzeit>

1. Executive Summary:
This report details the recovery of user account passwords from seized digital evidence using John the Ripper. Three passwords were successfully recovered.

2. Methodology:
Password hashes were extracted from a simulated forensic image (hashes.txt). John the Ripper (version <John version>) was utilized with a custom wordlist (wordlist.txt) to perform a dictionary attack against the extracted MD5 hashes.

3. Findings:
The following user accounts and their corresponding passwords were recovered:
- user1: password
- user2: admin
- user4: test

The raw output of the cracking process and detailed procedural logs are appended in the Forensic Log (forensic_log.txt).

4. Conclusion:
The recovered passwords provide access to the identified user accounts, which may contain further relevant evidence for the ongoing investigation.

5. Appendices:
- Forensic Log: ~/project/forensic_log.txt
- Cracked Passwords Output: ~/project/evidence/cracked_passwords/cracked_passwords_output.txt

Speichern und beenden Sie nano (Ctrl+X, Y, Enter).

Überprüfen Sie abschließend Ihren vollständigen Bericht:

cat ~/project/forensic_report.txt

Diese Übung verdeutlicht die Bedeutung der Zusammenfassung aller Ergebnisse in einem umfassenden Bericht für rechtliche und investigative Zwecke.

Zusammenfassung

Herzlichen Glückwunsch! Sie haben das Labor "John the Ripper für digitale Forensik" erfolgreich abgeschlossen.

In diesem Labor haben Sie praktische Erfahrungen mit John the Ripper gesammelt, einem grundlegenden Werkzeug in der digitalen Forensik. Sie haben gelernt, wie man:

  • Hash-Extraktion aus forensischen Beweismitteln simuliert.
  • John the Ripper zur Wiederherstellung von Passwörtern mittels eines Wortlisten-Angriffs verwendet.
  • Forensische Verfahren sorgfältig dokumentiert und ein detailliertes Protokoll Ihrer Aktionen erstellt.
  • Die Nachverfolgbarkeit (Chain of Custody) für entdeckte Beweismittel, insbesondere geknackte Passwörter, versteht und aufrechterhält.
  • Ergebnisse zusammenstellt und präsentiert in einem strukturierten forensischen Bericht.

Diese Fähigkeiten sind für jeden digitalen Forensiker von entscheidender Bedeutung, da sie es ihm ermöglichen, Beweismittel effektiv zu analysieren, kritische Informationen wiederherzustellen und seine Ergebnisse auf rechtlich einwandfreie Weise zu präsentieren. Erkunden Sie weiterhin andere Passwort-Knacktechniken und erweiterte Funktionen von John the Ripper, um Ihre forensischen Fähigkeiten weiter zu verbessern.