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
passwordenthält und Ihre Maske?d?dist, wird Hashcat Kandidaten wiepassword00,password01,password02usw. bispassword99ausprobieren.
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
passwordenthält und Ihre Maske?d?dist, wird Hashcat Kandidaten wie00password,01password,02passwordusw. bis99passwordausprobieren.
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.?dsteht 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.


