Hybrid-Angriff in Hashcat durchführen

Kali LinuxBeginner
Jetzt üben

Einleitung

Hashcat ist ein renommiertes und leistungsstarkes Werkzeug zur Passwortwiederherstellung, das häufig zum Knacken von Passwort-Hashes verwendet wird. Eine seiner flexibelsten Funktionen ist der Hybrid-Angriff, der die Geschwindigkeit eines Wörterbuch-Angriffs mit der Gründlichkeit eines Brute-Force- (oder Masken-) Angriffs kombiniert. Diese Methode ist besonders effektiv gegen Passwörter, die auf einem gängigen Wort basieren, aber durch angehängte oder vorangestellte Zeichen wie Zahlen oder Symbole modifiziert wurden.

In diesem Lab lernen Sie, wie Sie die Hybrid-Angriffsfunktionen von Hashcat nutzen. Sie werden die beiden Haupt-Hybridmodi untersuchen: Wörterbuch+Maske (wordlist+mask) und Maske+Wörterbuch (mask+wordlist). Am Ende dieses Labs werden Sie praktische Erfahrungen im Einrichten und Ausführen dieser Angriffe zum Knacken von Beispiel-Passwort-Hashes gesammelt haben.

Unterscheidung zwischen Hybrid-Wörterbuch+Maske und Maske+Wörterbuch

In diesem Schritt lernen Sie den theoretischen Unterschied zwischen den beiden primären Hybrid-Angriffsmodi in Hashcat. Das Verständnis dieser Unterscheidung ist entscheidend für die Wahl der richtigen Strategie für ein gegebenes Passwortmuster.

Hybrid-Wörterbuch+Maske (Angriffsmodus 6)

Dieser Modus, der mit dem Flag -a 6 angegeben wird, nimmt jedes Wort aus Ihrer Wörterliste und hängt basierend auf einer definierten Maske Zeichen an. Er ist ideal für Passwörter, bei denen Benutzer ein Suffix zu einem Basiswort hinzufügen, wie z. B. das Hinzufügen eines Jahres oder von Sonderzeichen am Ende.

  • Beispiel: Wenn Ihre Wörterliste password enthält und Ihre Maske ?d?d ist, wird Hashcat Kandidaten wie password00, password01, password02 usw. bis password99 ausprobieren.

Hybrid-Maske+Wörterbuch (Angriffsmodus 7)

Dieser Modus, der mit dem Flag -a 7 angegeben wird, macht das Gegenteil. Er stellt jedem Wort aus Ihrer Wörterliste Zeichen voran, die durch eine Maske definiert sind. Dies ist nützlich, wenn Benutzer einem Basiswort ein Präfix hinzufügen.

  • Beispiel: Wenn Ihre Wörterliste password enthält und Ihre Maske ?d?d ist, wird Hashcat Kandidaten wie 00password, 01password, 02password usw. bis 99password ausprobieren.

Für diesen Schritt sind keine Befehle erforderlich. Ihr Ziel ist es, diese beiden grundlegenden Konzepte zu verstehen, bevor Sie sie in den folgenden Schritten anwenden.

Erstellen eines Beispiel-Hashes und einer Basis-Wörterliste

In diesem Schritt erstellen Sie die notwendigen Dateien für unseren Angriff: einen Beispiel-Passwort-Hash und eine einfache Wörterliste. Alle Operationen werden im Verzeichnis ~/project durchgeführt.

Zuerst benötigen wir einen Ziel-Hash zum Knacken. Für dieses Lab verwenden wir einen MD5-Hash. Nehmen wir an, das Passwort lautet labex2024. Der MD5-Hash für diese Zeichenkette ist 2d3c839a453c68206911871584a5f70f.

Erstellen Sie eine Datei namens hash.txt und speichern Sie den Hash darin.

echo "2d3c839a453c68206911871584a5f70f" > ~/project/hash.txt

Sie können den Inhalt der Datei mit dem Befehl cat überprüfen:

cat ~/project/hash.txt

Sie sollten die folgende Ausgabe sehen:

2d3c839a453c68206911871584a5f70f

Als Nächstes benötigen wir eine Wörterliste, die das Basiswort unseres Zielpassworts enthält. Da das Passwort labex2024 lautet, ist das Basiswort labex. Erstellen wir eine Wörterlistendatei namens wordlist.txt, die nur dieses Wort enthält.

echo "labex" > ~/project/wordlist.txt

Überprüfen Sie den Inhalt Ihrer neuen Wörterliste:

cat ~/project/wordlist.txt

Die Ausgabe sollte lauten:

labex

Nun haben Sie einen Ziel-Hash und eine Basis-Wörterliste, bereit für den Angriff.

Ausführen eines Hybrid-Angriffs durch Anhängen von Ziffern an Wörter

In diesem Schritt führen Sie einen Hybrid-Angriff im Modus Wörterbuch+Maske (-a 6) durch, um den von Ihnen erstellten Hash zu knacken. Unsere Hypothese ist, dass das Passwort aus dem Wort labex gefolgt von vier Ziffern besteht.

Wir werden den hashcat-Befehl mit den folgenden Komponenten zusammenstellen:

  • -m 0: Gibt den Hash-Typ an, der MD5 ist.
  • -a 6: Wählt den Hybrid-Angriffsmodus Wörterbuch+Maske.
  • ~/project/hash.txt: Die Datei, die unseren Ziel-Hash enthält.
  • ~/project/wordlist.txt: Unsere Basis-Wörterliste.
  • ?d?d?d?d: Die anzuhängende Maske. ?d steht für eine einzelne Ziffer.

Führen Sie nun den folgenden Befehl in Ihrem Terminal aus:

hashcat -m 0 -a 6 ~/project/hash.txt ~/project/wordlist.txt ?d?d?d?d

Hashcat wird initialisiert und beginnt mit dem Knackprozess. Möglicherweise sehen Sie eine Warnung bezüglich der Leistung in einer virtualisierten Umgebung, was normal ist. Nach kurzer Zeit wird Hashcat das Passwort finden.

Die Ausgabe wird in etwa wie folgt aussehen (einige Details können variieren):

...
Session..........: hashcat
Status...........: Cracked
Hash.Name........: MD5
Hash.Target......: 2d3c839a453c68206911871584a5f70f
Time.Started.....: ...
Time.Estimated...: 0 secs (0.00ms)
Guess.Base.......: File (~/project/wordlist.txt)
Guess.Mod........: Mask (?d?d?d?d)
Guess.Queue......: 1/1 (100.00%)
Speed.#1.........:  ... H/s (...)
Recovered........: 1/1 (100.00%) Digests
Progress.........: 10000/10000 (100.00%)
Rejected.........: 0/10000 (0.00%)
Restore.Point....: 1/1 (100.00%)
Restore.Sub.#1...: Salt:0 Amplifier:0-1 Iteration:0-1
Candidates.#1....: labex1000 -> labex9999
Hardware.Mon.#1..: Temp: ...

2d3c839a453c68206911871584a5f70f:labex2024

Started: ...
Stopped: ...

Hashcat hat den Hash erfolgreich geknackt und das Passwort gefunden: labex2024.

Sie können das geknackte Passwort jederzeit mit der Option --show anzeigen:

hashcat -m 0 --show ~/project/hash.txt

Dadurch wird das geknackte Hash-Passwort-Paar direkt angezeigt:

2d3c839a453c68206911871584a5f70f:labex2024

Ausführen eines Hybrid-Angriffs durch Voranstellen von Ziffern an Wörter

Versuchen wir nun den anderen Hybrid-Modus: Maske+Wörterbuch (-a 7). In diesem Schritt versuchen Sie, einen neuen Hash zu knacken, bei dem das Muster vorangestellt ist.

Nehmen wir an, unser neues Zielpasswort lautet 2024labex. Der MD5-Hash für diese Zeichenkette ist b68137c355d785422120884212515e86.

Erstellen Sie zuerst eine neue Hash-Datei namens hash2.txt mit diesem neuen Hash.

echo "b68137c355d785422120884212515e86" > ~/project/hash2.txt

Für dieses Szenario müssen wir den Angriffsmodus -a 7 verwenden, um die vierstellige Maske unserem Basiswort voranzustellen. Die Befehlsstruktur ist ähnlich, aber der Angriffsmodus ist anders.

Führen Sie den folgenden Befehl aus:

hashcat -m 0 -a 7 ~/project/hash2.txt ~/project/wordlist.txt ?d?d?d?d

Hashcat startet erneut. Da wir den richtigen Angriffsmodus für diese Passwortstruktur gewählt haben, wird es das Passwort schnell finden.

Die Ausgabe zeigt das geknackte Passwort:

...
Session..........: hashcat
Status...........: Cracked
...
b68137c355d785422120884212515e86:2024labex
...

Sie haben den zweiten Hash erfolgreich mit dem Modus Maske+Wörterbuch geknackt.

Wie zuvor können Sie die Option --show verwenden, um das Ergebnis anzuzeigen:

hashcat -m 0 --show ~/project/hash2.txt

Ausgabe:

b68137c355d785422120884212515e86:2024labex

Vergleich der Effektivität beider Hybrid-Modi

In diesem letzten praktischen Schritt sehen Sie, was passiert, wenn Sie für ein bestimmtes Passwortmuster den falschen Hybrid-Modus verwenden. Dies unterstreicht die Bedeutung der Wahl der richtigen Angriffsstrategie.

Versuchen wir zunächst, unseren ursprünglichen Hash (hash.txt, für labex2024) mit dem Modus Maske+Wörterbuch (-a 7) zu knacken. Dieser Modus stellt Ziffern voran, was für dieses Passwort falsch ist.

hashcat -m 0 -a 7 ~/project/hash.txt ~/project/wordlist.txt ?d?d?d?d

Hashcat wird ausgeführt, aber es wird Kandidaten wie 0000labex, 0001labex usw. ausprobieren. Da das korrekte Passwort labex2024 lautet, wird dieser Angriff fehlschlagen. Nachdem alle 10.000 Möglichkeiten geprüft wurden, endet der Prozess mit dem Status Exhausted (Erschöpft), was bedeutet, dass alle Kombinationen ohne Erfolg ausprobiert wurden. Sie können warten, bis er fertig ist, oder q drücken, um abzubrechen.

Als Nächstes versuchen wir, unseren zweiten Hash (hash2.txt, für 2024labex) mit dem Modus Wörterbuch+Maske (-a 6) zu knacken. Dieser Modus hängt Ziffern an, was für dieses Passwort ebenfalls falsch ist.

hashcat -m 0 -a 6 ~/project/hash2.txt ~/project/wordlist.txt ?d?d?d?d

Ebenso wird dieser Angriff Kandidaten wie labex0000, labex0001 usw. ausprobieren und ebenfalls fehlschlagen, wobei er mit dem Status Exhausted endet.

Dieses Experiment demonstriert einen entscheidenden Punkt: Der Erfolg eines Hybrid-Angriffs hängt vollständig von der korrekten Identifizierung der Passwortstruktur ab. Die Verwendung des falschen Modus verschwendet Zeit und Ressourcen, ohne das korrekte Passwort zu liefern.

Zusammenfassung

In diesem Labor haben Sie praktische Erfahrungen mit der leistungsstarken Hybrid-Angriffsfunktion von Hashcat gesammelt. Sie haben gelernt, wie Sie Wörterbücher und Masken kombinieren, um Passwörter, die einem vorhersehbaren Muster folgen, effizient zu knacken.

Insbesondere haben Sie gelernt:

  • Den grundlegenden Unterschied zwischen den beiden Hybrid-Angriffsmodi: Wörterbuch+Maske (-a 6) zum Anhängen von Mustern und Maske+Wörterbuch (-a 7) zum Voranstellen von Mustern.
  • Wie man sich auf einen Angriff vorbereitet, indem man eine Ziel-Hash-Datei und ein Basis-Wörterbuch erstellt.
  • Wie man beide Arten von Hybrid-Angriffen ausführt, um Passwörter erfolgreich zu knacken.
  • Die entscheidende Bedeutung der Auswahl des richtigen Angriffsmodus basierend auf der vermuteten Passwortstruktur, da die Verwendung des falschen Modus zu einem Fehlschlag führt.

Hybrid-Angriffe sind eine wesentliche Technik im Werkzeugkasten jedes Passwort-Auditors und bieten eine intelligente Balance zwischen gezielten und Brute-Force-Methoden.