Hashcat Potfiles und Ausgabedateien

LinuxBeginner
Jetzt üben

Einführung

Hashcat ist ein leistungsstarkes und weit verbreitetes Tool zur Passwortwiederherstellung. Wenn Sie eine Cracking-Sitzung durchführen, benötigt Hashcat eine Möglichkeit, die Ergebnisse zu verwalten. Es ist entscheidend zu wissen, welche Passwörter erfolgreich geknackt wurden und welche noch ungelöst sind.

In diesem Lab lernen Sie die Grundlagen der Verwaltung von Hashcat-Ausgaben. Wir werden die hashcat.potfile untersuchen, in der geknackte Passwörter automatisch gespeichert werden. Sie lernen außerdem, wie Sie Befehlszeilenoptionen wie --show zum Anzeigen geknackter Passwörter, -o zum Speichern von Ergebnissen in einer bestimmten Datei und --left zum Identifizieren noch ungeknackter Hashes verwenden. Die Beherrschung dieser Funktionen ist für jeden effektiven Workflow bei der Passwortprüfung oder -wiederherstellung unerlässlich.

Den Zweck der hashcat.potfile verstehen

In diesem Schritt lernen Sie die hashcat.potfile kennen, eine entscheidende Komponente von Hashcat. Um zu vermeiden, dass dieselben Hashes in zukünftigen Sitzungen erneut geknackt werden müssen, speichert Hashcat jeden erfolgreich geknackten Hash zusammen mit dem entsprechenden Klartext-Passwort automatisch in einer Datei. Diese Datei wird "Potfile" genannt. Standardmäßig heißt sie hashcat.potfile und befindet sich im Verzeichnis ~/.local/share/hashcat/.

Lassen Sie uns einen einfachen Wörterbuchangriff durchführen, um einige Hashes zu knacken. Dadurch wird die Potfile für uns generiert. Wir haben eine Datei namens hashes.txt, die MD5-Hashes enthält, sowie eine wordlist.txt mit potenziellen Passwörtern.

Führen Sie den folgenden Befehl aus, um den Angriff zu starten:

hashcat -m 0 -a 0 hashes.txt wordlist.txt

Hier ist eine Aufschlüsselung des Befehls:

  • -m 0: Gibt den Hash-Typ an, wobei 0 für MD5 steht.
  • -a 0: Gibt den Angriffsmodus an, wobei 0 ein direkter Wörterbuchangriff ist.
  • hashes.txt: Die Eingabedatei, die die zu knackenden Hashes enthält.
  • wordlist.txt: Die Wörterbuchdatei, die die zu testenden Passwörter enthält.

Sie werden sehen, wie Hashcat startet. Da unsere Wortliste die korrekten Passwörter für alle Hashes enthält, wird der Vorgang schnell abgeschlossen sein.

...
Session..........: hashcat
Status...........: Cracked
Hash.Name........: MD5
Hash.Target......: hashes.txt
Time.Started.....: ...
Time.Estimated...: 0 secs
Guess.Base.......: File (wordlist.txt)
Guess.Queue......: 1/1 (100.00%)
Speed.#1.........:  ... H/s (0.00ms) @ Accel:128 Loops:1 Thr:1 Vec:8
Recovered........: 4/4 (100.00%) Digests, 0/1 (0.00%) Salts
Progress.........: 5/5 (100.00%)
Rejected.........: 0/5 (0.00%)
Restore.Point....: 5/5 (100.00%)
Restore.Sub.#1...: Salt:0 Amplifier:0-1 Iteration:0-1
Candidates.#1....: password -> testing
Hardware.Mon.#1..: Temp: 46c Fan: 33%
...
Started: ...
Stopped: ...

Die Ausgabe zeigt, dass alle 4 Hashes wiederhergestellt wurden. Das bedeutet, dass die hashcat.potfile nun erstellt und mit diesen Ergebnissen gefüllt wurde.

Geknackte Hash-Passwort-Paare in der Potfile anzeigen

In diesem Schritt werden wir den Inhalt der hashcat.potfile direkt untersuchen. Dies hilft Ihnen zu verstehen, wie Hashcat die geknackten Anmeldedaten speichert. Das Format ist einfach und effektiv: Jede Zeile enthält den Hash, einen Doppelpunkt als Trennzeichen und das geknackte Klartext-Passwort.

Um den Inhalt der Potfile anzuzeigen, verwenden Sie den Befehl cat. Die Datei befindet sich in einem versteckten Verzeichnis in Ihrem Home-Ordner.

cat ~/.local/share/hashcat/hashcat.potfile

Die Ausgabe zeigt die Hash-Passwort-Paare an, die im vorherigen Schritt erfolgreich geknackt wurden.

5f4dcc3b5aa765d61d8327deb882cf99:password
e10adc3949ba59abbe56e057f20f883e:123456
d8578edf8458ce06fbc5bb76a58c5ca4:qwerty
f9664ea1803311b35f81d07d8c9e072d:lab

Wie Sie sehen können, enthält die Datei die vier Hashes aus hashes.txt, die mit den Passwörtern in wordlist.txt übereinstimmten. Während das direkte Betrachten der Potfile nützlich ist, um ihre Struktur zu verstehen, kann sie in realen Szenarien mit Tausenden von geknackten Passwörtern unübersichtlich und schwer lesbar werden. Im nächsten Schritt lernen Sie eine effizientere Methode kennen, um Ergebnisse für eine bestimmte Aufgabe anzuzeigen.

'--show' verwenden, um geknackte Passwörter für eine bestimmte Hash-Liste anzuzeigen

In diesem Schritt lernen Sie eine praktischere Methode zum Überprüfen Ihrer Ergebnisse kennen. Anstatt die gesamte Potfile manuell zu lesen, können Sie die Option --show von Hashcat verwenden. Dieser Befehl weist Hashcat an, eine bestimmte Hash-Liste mit der Potfile zu vergleichen und nur die geknackten Hashes aus dieser Liste anzuzeigen. Es wird kein neuer Cracking-Vorgang durchgeführt.

Dies ist äußerst nützlich, wenn Sie schnell die Ergebnisse für eine bestimmte Zielliste sehen möchten, ohne eine potenziell riesige Potfile durchsuchen zu müssen, die Ergebnisse aus vielen verschiedenen Sitzungen enthält.

Führen Sie den folgenden Befehl aus, um die geknackten Hashes aus unserer hashes.txt-Datei anzuzeigen:

hashcat -m 0 --show hashes.txt

Hashcat überprüft sofort die Potfile und gibt die Ergebnisse in einem sauberen, lesbaren Format aus.

5f4dcc3b5aa765d61d8327deb882cf99:password
e10adc3949ba59abbe56e057f20f883e:123456
d8578edf8458ce06fbc5bb76a58c5ca4:qwerty
f9664ea1803311b35f81d07d8c9e072d:lab

Die Ausgabe ist übersichtlich und beantwortet direkt die Frage: "Welche Hashes aus hashes.txt habe ich bereits geknackt?" Dies ist die empfohlene Methode, um nach geknackten Passwörtern aus einer bestimmten Sitzung zu suchen.

Geknackte Passwörter mit '-o' in einer dedizierten Ausgabedatei speichern

In diesem Schritt lernen Sie, wie Sie Ihre Cracking-Ergebnisse in einer separaten Datei speichern. Während die Potfile eine hervorragende interne Datenbank für Hashcat ist, benötigen Sie für Berichte oder Analysen oft eine saubere Ausgabedatei. Dies erreichen Sie mit der Option -o (oder --outfile).

Wenn Sie -o in Kombination mit --show zu Ihrem Angriffsbefehl hinzufügen, ruft Hashcat die geknackten Hash-Passwort-Paare aus der Potfile ab und schreibt sie in die angegebene Ausgabedatei. Dies ist besonders nützlich, wenn die Hashes bereits geknackt wurden und in der Potfile existieren, da Sie diese Ergebnisse schnell extrahieren und in einer dedizierten Datei speichern können.

Lassen Sie uns den Befehl mit den Optionen --show und -o ausführen, um die geknackten Ergebnisse zu speichern.

hashcat -a 0 -m 0 --show -o cracked.txt hashes.txt wordlist.txt

Hashcat überprüft sofort die Potfile und schreibt alle geknackten Passwort-Paare in cracked.txt.

Lassen Sie uns nun den Inhalt unserer neuen Ausgabedatei anzeigen.

cat cracked.txt

Die Ausgabe ist eine saubere Liste der geknackten Paare.

5f4dcc3b5aa765d61d8327deb882cf99:password
e10adc3949ba59abbe56e057f20f883e:123456
d8578edf8458ce06fbc5bb76a58c5ca4:qwerty
f9664ea1803311b35f81d07d8c9e072d:lab

Diese cracked.txt-Datei ist nun ein portabler Datensatz der erfolgreichen Ergebnisse aus diesem spezifischen Angriff, getrennt von der Haupt-Potfile.

'--left' verwenden, um zu sehen, welche Hashes nicht geknackt wurden

In diesem Schritt lernen Sie, wie Sie identifizieren können, welche Hashes noch nicht geknackt wurden. Dies ist genauso wichtig wie zu wissen, welche Sie bereits gelöst haben, da es Ihnen ermöglicht, Ihre Bemühungen bei nachfolgenden Angriffen zu fokussieren (z. B. durch Verwendung einer anderen Wortliste oder eines anderen Angriffsmodus). Hashcat bietet hierfür die Option --left an.

Das Flag --left zeigt Hashes aus Ihrer Eingabeliste an, die nicht in der Potfile vorhanden sind.

Lassen Sie uns sehen, welche Hashes aus hashes.txt noch ungeknackt sind.

hashcat -m 0 --left hashes.txt

Da alle Hashes in unserer Liste geknackt wurden, wird die Ausgabe leer sein (es sind keine ungeknackten Hashes mehr vorhanden).

Sie können --left auch mit der Option -o kombinieren, um diese verbleibenden Hashes in einer neuen Datei zu speichern. Dies ist eine gängige Praxis, um eine Arbeitsliste für Ihren nächsten Cracking-Versuch zu erstellen.

hashcat -m 0 --left -o uncracked.txt hashes.txt

Überprüfen Sie nun den Inhalt der Datei uncracked.txt.

cat uncracked.txt

Da alle Hashes geknackt wurden, wird die Datei uncracked.txt leer sein.

Zusammenfassung

In diesem Lab haben Sie die wesentlichen Techniken zur Verwaltung und Interpretation der Hashcat-Ausgaben erlernt. Diese Fähigkeiten sind grundlegend für die Organisation eines effizienten Workflows beim Passwort-Cracking.

Sie haben gelernt:

  • Die Rolle der hashcat.potfile als automatische Datenbank für alle geknackten Passwörter.
  • Wie man hashcat --show verwendet, um die geknackten Passwörter aus einer bestimmten Hash-Liste übersichtlich anzuzeigen.
  • Wie man die Option -o verwendet, um geknackte Passwörter für Berichte und Analysen in einer dedizierten Ausgabedatei zu speichern.
  • Wie man die Option --left verwendet, um ungeknackte Hashes zu isolieren, damit Sie Ihre zukünftigen Bemühungen effektiv fokussieren können.

Durch die Beherrschung dieser Ausgabe- und Dateiverwaltungsfunktionen können Sie organisiertere, effizientere und effektivere Sitzungen zur Passwortwiederherstellung mit Hashcat durchführen.