Hashes filtern mit --left und --show

Kali LinuxBeginner
Jetzt üben

Einleitung

Hashcat ist ein leistungsstarkes und beliebtes Werkzeug zur Wiederherstellung von Passwörtern. Wenn Sie mit sehr großen Listen von Hashes arbeiten, kann eine Cracking-Sitzung lange dauern und unterbrochen werden. In diesen Situationen ist es entscheidend zu wissen, welche Hashes bereits geknackt wurden und welche noch übrig sind.

In diesem Lab lernen Sie die Verwendung von zwei wichtigen Hashcat-Flags kennen: --show und --left. Das --show-Flag ermöglicht es Ihnen, die bereits erfolgreich geknackten Passwörter anzuzeigen, während das --left-Flag nur die noch nicht geknackten Hashes anzeigt. Dies ermöglicht Ihnen eine effiziente Verwaltung Ihrer Passwort-Cracking-Aufgaben.

Starten eines Angriffs auf eine große Hash-Liste

In diesem Schritt beginnen Sie einen Standard-Dictionary-Angriff mit hashcat. Wir haben zwei Dateien für Sie im Verzeichnis ~/project vorbereitet: hashes.txt, die eine Liste von MD5-Hashes enthält, und wordlist.txt, ein kleines Wörterbuch mit potenziellen Passwörtern.

Die grundlegende Befehlsstruktur für einen hashcat-Angriff lautet hashcat -m <mode> <hash_file> <wordlist_file>. Wir verwenden -m 0, um anzugeben, dass unsere Hashes MD5 sind.

Führen Sie den folgenden Befehl in Ihrem Terminal aus, um den Angriff zu starten.

hashcat -m 0 hashes.txt wordlist.txt

Hashcat wird gestartet, sein Backend initialisiert und der Cracking-Prozess beginnt. Sie sehen einen Statusbildschirm, der in Echtzeit aktualisiert wird. Lassen Sie ihn einige Sekunden laufen.

hashcat (v6.2.6) starting

...

Session..........: hashcat
Status...........: Running
Hash.Name........: MD5
Hash.Target......: hashes.txt
Time.Started.....: ...
Time.Estimated...: ...
Guess.Base.......: File (wordlist.txt)
Guess.Queue......: 1/1 (100.00%)
Speed.#1.........:   ... H/s (0.01ms) @ Accel:128 Loops:1 Thr:1 Vec:8
Recovered........: 3/5 (60.00%) Digests
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 -> admin
Hardware.Mon.#1..: Temp: 46c

[s]tatus [p]ause [b]ypass [c]heckpoint [q]uit =>

Unterbrechung des Angriffs in der Mitte

In diesem Schritt simulieren wir eine Unterbrechung oder eine Situation, in der Sie den Cracking-Prozess beenden müssen, bevor er vollständig abgeschlossen ist. Hashcat ermöglicht es Ihnen, den Vorgang ordnungsgemäß zu beenden und Ihren Fortschritt zu speichern, damit Sie ihn später fortsetzen oder die Ergebnisse überprüfen können.

Während der hashcat-Statusbildschirm in Ihrem Terminal aktiv ist, drücken Sie einfach die Taste q auf Ihrer Tastatur, um zu beenden.

q

Nachdem Sie q gedrückt haben, wird hashcat die Sitzung beenden und Sie zur Eingabeaufforderung zurückkehren lassen. Es speichert automatisch alle geknackten Passwörter in einer Datei namens hashcat.potfile in seinem Arbeitsverzeichnis. Diese Datei ist für die nächsten Schritte von entscheidender Bedeutung.

Session hashcat stopping.

Verwenden des Flags --show, um bereits geknackte Hashes anzuzeigen

Nachdem die Sitzung gestoppt wurde, möchten Sie vielleicht sehen, welche Passwörter bisher erfolgreich wiederhergestellt wurden. Hier ist das --show-Flag nützlich. Es gleicht die Eingabe-Hash-Datei mit der hashcat.potfile ab und zeigt alle Übereinstimmungen an.

Führen Sie in Ihrem Terminal den hashcat-Befehl erneut auf derselben Hash-Datei aus, fügen Sie diesmal jedoch das --show-Flag hinzu.

hashcat -m 0 hashes.txt --show

Die Ausgabe listet jeden geknackten Hash gefolgt von seinem entsprechenden Klartext-Passwort auf, getrennt durch einen Doppelpunkt.

5f4dcc3b5aa765d61d8327deb882cf99:password
e10adc3949ba59abbe56e057f20f883e:123456
e9a71b642151421421257419a0a23d89:sunshine

Dies bestätigt, dass drei der fünf Hashes erfolgreich mit unserer Wortliste geknackt wurden.

Verwenden des Flags --left, um ungeknackte Hashes anzuzeigen

So wie es nützlich ist zu sehen, was geknackt wurde, ist es ebenso wichtig zu sehen, was übrig geblieben ist. Das --left-Flag tut das Gegenteil von --show. Es vergleicht die Eingabe-Hash-Datei mit der hashcat.potfile und zeigt nur die Hashes an, die nicht geknackt wurden.

Um die verbleibenden Hashes anzuzeigen, führen Sie den hashcat-Befehl mit dem --left-Flag aus.

hashcat -m 0 hashes.txt --left

Die Ausgabe ist eine Liste der Hashes aus hashes.txt, die noch nicht in der hashcat.potfile enthalten sind.

2c7e3378803a5b054952514139821a79
b8d3c555434b89a01af1654b26d30609

Dies sind die beiden Hashes, die unsere wordlist.txt nicht knacken konnte.

Erstellen einer neuen Datei, die nur ungeknackte Hashes enthält

Ein gängiger Arbeitsablauf ist das Speichern der verbleibenden ungeknackten Hashes in einer neuen Datei. Dies ermöglicht es Ihnen, diese in einem zukünftigen Angriff gezielt anzugehen, vielleicht mit einer anderen Wortliste oder einem anderen Angriffsmodus, ohne Zeit mit den bereits geknackten Hashes zu verschwenden.

Sie können dies einfach tun, indem Sie die Ausgabe des --left-Befehls in eine neue Datei umleiten. Nennen wir sie uncracked.txt.

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

Dieser Befehl erzeugt keine Ausgabe im Terminal, da die Ausgabe in die Datei umgeleitet wurde. Um zu überprüfen, ob es funktioniert hat, können Sie den Inhalt der neuen Datei mit dem cat-Befehl anzeigen.

cat uncracked.txt

Sie sollten die beiden ungeknackten Hashes sehen, die nun für Ihren nächsten Knackversuch bereit sind.

2c7e3378803a5b054952514139821a79
b8d3c555434b89a01af1654b26d30609

Zusammenfassung

In diesem Lab haben Sie gelernt, wie Sie Hash-Listen während einer Passwort-Cracking-Sitzung mit hashcat verwalten und filtern.

Sie haben einen Angriff gestartet und ihn dann gestoppt, was ein gängiges Szenario in der realen Welt simuliert. Anschließend haben Sie das --show-Flag verwendet, um die erfolgreich geknackten Passwörter anzuzeigen, und das --left-Flag, um die verbleibenden ungeknackten Hashes zu isolieren. Schließlich haben Sie eine praktische Technik erlernt, um diese verbleibenden Hashes für zukünftige Angriffe in einer neuen Datei zu speichern.

Die Beherrschung von --show und --left ist für einen effizienten Workflow bei der Passwortwiederherstellung unerlässlich, insbesondere bei umfangreichen Aufgaben.