Cracking-Sitzungen in Hashcat verwalten

Kali LinuxBeginner
Jetzt üben

Einleitung

Hashcat ist ein leistungsstarkes und beliebtes Werkzeug zur Passwortwiederherstellung. Das Knacken von Passwörtern kann ein sehr zeitaufwändiger Prozess sein, der manchmal Stunden, Tage oder sogar Wochen dauert. Aus diesem Grund ist es entscheidend zu wissen, wie man diese langlaufenden Aufgaben verwaltet. Möglicherweise müssen Sie eine Aufgabe pausieren, um Systemressourcen freizugeben, oder Sie sind mit einem unerwarteten Systemabsturz konfrontiert. Ohne ordnungsgemäßes Sitzungsmanagement müssten Sie den gesamten Prozess von vorne beginnen und wertvolle Zeit verschwenden.

In diesem Lab lernen Sie die Grundlagen der Sitzungsverwaltung in Hashcat kennen. Sie üben das Starten einer benannten Sitzung, das interaktive Pausieren und Fortsetzen sowie das Stoppen und Wiederherstellen mithilfe der integrierten Sitzungsverwaltungsfunktionen von Hashcat. Diese Fähigkeiten sind für jede praktische Anwendung von Hashcat unerlässlich.

Starten einer langlaufenden Cracking-Sitzung

In diesem Schritt starten Sie eine Passwort-Cracking-Aufgabe und geben ihr einen spezifischen Sitzungsnamen. Die Benennung einer Sitzung ist der erste und wichtigste Schritt für die Verwaltung, da sie Hashcat anweist, den Fortschritt dieser spezifischen Aufgabe zu verfolgen und zu speichern.

Wir werden einen einfachen Wörterbuchangriff verwenden. Die Befehlsstruktur verwendet mehrere Flags:

  • -m 0: Gibt den Hash-Typ an. 0 entspricht MD5.
  • -a 0: Gibt den Angriffsmodus an. 0 entspricht einem Straight (Wörterbuch)-Angriff.
  • --session <name>: Weist der aktuellen Sitzung einen Namen zu. Dies ist entscheidend für das Pausieren und Wiederherstellen.

Stellen Sie zunächst sicher, dass Sie sich im Verzeichnis ~/project befinden, in dem das Setup-Skript die notwendigen Dateien (hashes.txt und wordlist.txt) erstellt hat.

Führen Sie nun den folgenden Befehl aus, um eine Sitzung namens my_session zu starten:

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

Nachdem Sie den Befehl ausgeführt haben, wird Hashcat initialisiert und zeigt einen Statusbildschirm in Ihrem Terminal an. Dieser Bildschirm liefert Echtzeitinformationen über den Fortschritt des Crackings.

hashcat (v6.2.x) starting...

...

Session..........: my_session
Status...........: Running
Hash.Name........: MD5
Hash.Target......: 5f4dcc3b5aa765d61d8327deb882cf99
Time.Started.....: ...
Time.Estimated...: ...
Guess.Base.......: File (wordlist.txt)
Guess.Queue......: 1/1 (100.00%)
Speed.#*.........: ...
...
Progress.........: 123456/1000001 (12.34%)
...

[s]tatus [p]ause [r]esume [b]ypass [q]uit =>

Beachten Sie die Zeile Session..........: my_session, die unseren Sitzungsnamen bestätigt. Der Status ist Running und die Fortschrittsanzeige (Progress) bewegt sich. Lassen Sie den Prozess einige Momente laufen, bevor Sie mit dem nächsten Schritt fortfahren.

Sitzung durch Drücken von 'p' pausieren

In diesem Schritt lernen Sie, wie Sie eine aktive Hashcat-Sitzung pausieren. Dies ist nützlich, wenn Sie die Ressourcen Ihres Computers vorübergehend für eine andere Aufgabe zuweisen müssen, ohne Ihren Cracking-Fortschritt zu verlieren.

Hashcat bietet am unteren Rand seines Statusbildschirms ein interaktives Menü. Sie können die verfügbaren Optionen sehen: [s]tatus [p]ause [r]esume [b]ypass [q]uit.

Um die Sitzung zu pausieren, drücken Sie einfach die Taste p auf Ihrer Tastatur, während das Hashcat-Terminalfenster aktiv ist. Sie müssen nicht Enter drücken.

Drücken Sie jetzt p.

Sie werden sehen, wie sich das Feld Status auf dem Bildschirm sofort von Running zu Paused ändert.

...
Session..........: my_session
Status...........: Paused
...

[s]tatus [p]ause [r]esume [b]ypass [q]uit =>

Während die Sitzung pausiert ist, stoppt Hashcat die gesamte Verarbeitung und die GPU/CPU-Auslastung für die Aufgabe sinkt auf Null. Die Anwendung bleibt jedoch in Ihrem Terminal aktiv und wartet auf weitere Anweisungen.

Sitzung durch Drücken von 'r' fortsetzen

In diesem Schritt setzen Sie die gerade pausierte Sitzung fort.

So wie Sie die Taste p zum Pausieren verwendet haben, können Sie die Taste r zum Fortsetzen verwenden. Dies weist Hashcat an, den Cracking-Prozess genau an dem Punkt fortzusetzen, an dem er pausiert wurde.

Drücken Sie bei noch aktivem Hashcat-Terminal die Taste r.

Das Feld Status ändert sich wieder von Paused zu Running, und Sie werden sehen, dass die Indikatoren Progress und Speed wieder aktiv werden.

...
Session..........: my_session
Status...........: Running
...

[s]tatus [p]ause [r]esume [b]ypass [q]uit =>

Die Sitzung läuft nun wieder, und es ist kein Fortschritt verloren gegangen. Dieser Pause/Fortsetzen-Zyklus kann beliebig oft wiederholt werden.

Sitzung beenden und die .restore-Datei verstehen

In diesem Schritt lernen Sie, wie Sie eine Sitzung vollständig beenden und die Datei inspizieren, die Hashcat zum Speichern seines Zustands verwendet. Dies unterscheidet sich vom Pausieren; das Beenden beendet die Anwendung vollständig. Dies ist das, was Sie tun würden, wenn Sie Ihren Computer herunterfahren müssen.

Um die Sitzung ordnungsgemäß zu beenden, drücken Sie die Taste q (für quit).

Drücken Sie jetzt q.

Hashcat stoppt den Cracking-Prozess und wird beendet, wodurch Sie zur Eingabeaufforderung zurückkehren.

Wenn Sie eine benannte Sitzung verwenden, speichert Hashcat seinen Fortschritt automatisch in einer Wiederherstellungsdatei (restore file). Diese Datei hat denselben Namen wie Ihre Sitzung mit der Erweiterung .restore.

Lassen Sie uns überprüfen, ob diese Datei erstellt wurde. Listen Sie die Dateien in Ihrem aktuellen Verzeichnis auf:

ls -l

Sie sollten my_session.restore in der Dateiliste sehen.

-rw-r--r-- 1 labex labex    28 Jul 10 10:30 hashes.txt
-rw-r--r-- 1 labex labex    48 Jul 10 10:32 my_session.restore
-rw-r--r-- 1 labex labex 8888898 Jul 10 10:30 wordlist.txt

Diese Datei enthält alle Informationen, die Hashcat benötigt, um die Sitzung später fortzusetzen, einschließlich der ursprünglichen Befehlszeilenargumente und des zuletzt getesteten Passwortkandidaten. Sie können ihren Inhalt mit dem Befehl cat anzeigen:

cat my_session.restore

Die Ausgabe ist eine Reihe von Zeilen, die die Konfiguration und den Fortschritt der Sitzung enthalten. Diese Datei ist der Schlüssel zu Hashcats leistungsfähigen Sitzungsverwaltungsfunktionen.

Eine frühere Sitzung mit den Flags --session und --restore wiederherstellen

In diesem letzten Schritt lernen Sie, wie Sie eine vollständig gestoppte Sitzung wiederherstellen. Dies ist äußerst nützlich, um die Arbeit nach einem Neustart oder nach dem absichtlichen Stoppen einer lang laufenden Aufgabe fortzusetzen.

Um eine Sitzung wiederherzustellen, verwenden Sie das Flag --restore zusammen mit dem Flag --session, um anzugeben, welche Sitzung fortgesetzt werden soll. Ein großer Vorteil dieser Methode ist, dass Sie den ursprünglichen Hash-Typ, den Angriffsmodus oder die Dateipfade nicht erneut angeben müssen. Hashcat liest all diese Informationen aus der .restore-Datei.

Führen Sie den folgenden Befehl aus, um my_session wiederherzustellen:

hashcat --session my_session --restore

Hashcat startet erneut und lädt automatisch den Zustand aus der Datei my_session.restore. Sie sehen den Statusbildschirm und, was wichtig ist, der Progress beginnt dort, wo er aufgehört hat, nicht von Anfang an.

...
Session..........: my_session
Status...........: Running
...
Progress.........: 123456/1000001 (12.34%) -> (Resuming from where it was stopped)
...

[s]tatus [p]ause [r]esume [b]ypass [q]uit =>

Sie haben erfolgreich eine gestoppte Sitzung wiederhergestellt. Sie können sie nun bis zum Abschluss laufen lassen oder erneut q drücken, um sie zu beenden.

Zusammenfassung

In diesem Lab haben Sie die wesentlichen Fähigkeiten für die Verwaltung von Cracking-Sitzungen in Hashcat erlernt. Sie wissen nun, wie Sie lang laufende Aufgaben bewältigen können, ohne befürchten zu müssen, den Fortschritt durch Unterbrechungen zu verlieren.

Sie haben gelernt:

  • Eine benannte Sitzung mit dem Flag --session zu starten, was die Grundlage für die Sitzungsverwaltung ist.
  • Eine laufende Sitzung interaktiv zu steuern, indem Sie p zum Pausieren und r zum Fortsetzen drücken.
  • Eine Sitzung mit q ordnungsgemäß zu stoppen und zu verstehen, dass Hashcat automatisch eine .restore-Datei erstellt, um den Zustand zu speichern.
  • Eine vollständig gestoppte Sitzung mit den Flags --session und --restore wiederherzustellen, wodurch Sie effizient weiterarbeiten können.

Die Beherrschung dieser Funktionen ist entscheidend für die effektive Nutzung von Hashcat bei jeder nicht trivialen Passwort-Cracking-Aufgabe.