Hashcat

Grundlegende Syntax

hashcat [Optionen] [Hash/hash.txt] [Wortliste/Wörterbuch]
  • [Optionen] gibt an, wie der Angriff durchgeführt wird.

  • [Hash(es)] ist die Datei oder der Hash, den Sie knacken wollen.

  • [Wortliste/Wörterbuch] ist die Datei mit möglichen Passwort-Kandidaten.

1. Hashes vorbereiten

  • Speichern Sie die Hashes in einer Datei, z.B. hashes.txt.

5f4dcc3b5aa765d61d8327deb882cf99
098f6bcd4621d373cade4e832627b4f6

2. Hashcat-Befehle im Überblick

2.1. Wörterbuchangriff (Standardangriff)

  • Dies ist der einfachste Angriff, bei dem Wörter aus einer Wortliste ausprobiert werden.

hashcat -a 0 -m 0 hashes.txt /usr/share/wordlists/rockyou.txt
  • -a 0: Wörterbuchangriff

  • -m 0: Hash-Typ MD5

  • hashes.txt: Datei mit Hashes

  • rockyou.txt: Beliebte Wortliste mit Passwörtern

2.2. Maskenangriff (gezieltes Erraten)

  • Ein Maskenangriff ist nützlich, wenn Sie eine Vorstellung von der Struktur des Passworts haben (z.B. Länge, Verwendung von Zahlen/Sonderzeichen).

hashcat -a 3 -m 0 hashes.txt ?l?l?l?l?d?d
  • -a 3: Maskenangriff

  • ?l: Kleinbuchstaben

  • ?d: Ziffern

  • Beispiel: Probiert Passwörter wie abcd12, efgh34 aus (4 Kleinbuchstaben gefolgt von 2 Ziffern).

2.3. Hybridangriff (Wörterbuch + Masken)

  • Kombiniert ein Wörterbuch mit einer Maske. Dies ist nützlich, um gängige Passwort-Muster zu erweitern.

hashcat -a 6 -m 0 hashes.txt /usr/share/wordlists/rockyou.txt ?d?d
  • -a 6: Hybridangriff, Wörterbuch + Suffix-Maske

  • ?d?d: Fügt zwei Ziffern an jedes Wort aus dem Wörterbuch an (z.B. password12).

2.4. Brute-Force-Angriff (kompletter Versuch aller Kombinationen)

  • Nutzt rohe Rechenleistung, um jede mögliche Kombination von Zeichen durchzuprobieren.

hashcat -a 3 -m 0 hashes.txt ?a?a?a?a?a?a
  • ?a: Probiert alle möglichen Zeichen (Buchstaben, Ziffern, Sonderzeichen).

  • ?a?a?a?a?a?a: Versucht jedes Passwort mit 6 Zeichen.

2.5. Angriffsmodi und Hash-Typen

Häufig verwendete Modi (-a):

  • -a 0: Wörterbuchangriff (Straight)

  • -a 1: Kombinationsangriff (zwei Wörterbücher kombinieren, wenn Passwörter aus einer Kombination von zwei Teilen bestehen, wie z.B. "pass" + "123")

  • -a 3: Maskenangriff (Brute-Force mit vorgegebenen Mustern)

  • -a 6: Hybridangriff (Wörterbuch + Maske als Suffix)

  • -a 7: Hybridangriff (Maske als Präfix + Wörterbuch)

Häufig verwendete Hash-Typen (-m):

  • -m 0: MD5

  • -m 100: SHA-1

  • -m 400: NTLM (Windows-Hashes)

  • -m 1800: SHA-512 (Unix/Linux)

  • -m 3200: bcrypt


3. Beispiele für den praktischen Einsatz

3.1. NTLM-Hashes mit Wörterbuch angreifen

  • Angreifen von NTLM-Hashes, wie sie in Windows verwendet werden.

hashcat -a 0 -m 400 hashes.txt /usr/share/wordlists/rockyou.txt
  • NTLM wird typischerweise in Windows-Systemen verwendet, und -m 400 spezifiziert diesen Hash-Typ.

3.2. Hash-Werte in einer Datei speichern und den Klartext anzeigen (--show)

  • Nach einem erfolgreichen Angriff den Klartext anzeigen:

hashcat -a 0 -m 0 hashes.txt /usr/share/wordlists/rockyou.txt --show
  • --show zeigt bereits geknackte Hashes und ihre zugehörigen Passwörter an.

3.3. Hash mit GPU beschleunigen

  • Hashcat unterstützt GPU-basiertes Cracking für eine erhebliche Beschleunigung.

hashcat -a 0 -m 0 hashes.txt /usr/share/wordlists/rockyou.txt --opencl-device-types 1
  • --opencl-device-types 1: Nutzt die GPU zum Cracking.

3.4. Verwendung von Regeln zur Erweiterung der Wortliste

  • Regeln erweitern das Wörterbuch dynamisch, indem es Änderungen wie Präfixe oder Suffixe hinzufügt.

hashcat -a 0 -m 0 -r /usr/share/hashcat/rules/best64.rule hashes.txt /usr/share/wordlists/rockyou.txt
  • -r: Regeldatei, die dynamische Variationen erstellt (z.B. "password" wird zu "password123").

5. Optimierung und Geschwindigkeit

  • Tempobegrenzung: Setzt eine Begrenzung für die Temperatur der GPU, um eine Überhitzung zu vermeiden.

    hashcat -a 0 -m 0 hashes.txt /usr/share/wordlists/rockyou.txt --gpu-temp-abort=85
  • Wiederaufnahme: Falls der Angriff unterbrochen wird, kann die Arbeit später wieder aufgenommen werden.

    hashcat --restore

6. Regeln in Hashcat

Regeln in Hashcat sind eine leistungsstarke Möglichkeit, das Wörterbuch dynamisch zu modifizieren, um mehr mögliche Passwörter zu generieren. Regeln ändern jedes Wort im Wörterbuch nach bestimmten Vorgaben, z. B. durch das Anhängen von Ziffern, das Großschreiben von Buchstaben, das Einfügen von Zeichen, usw. Dies erweitert die Anzahl der getesteten Passwörter erheblich, ohne dass eine riesige Wortliste benötigt wird.

  • best64.rule: Eine Sammlung von 64 sehr effektiven Regeln, basierend auf den häufigsten Passwortvarianten.

  • d3ad0ne.rule: Eine aggressive Sammlung von Regeln, die für eine Vielzahl von Szenarien nützlich ist.

6.1. Beispiel für die Anwendung von Regeln

Beispiel: Verwenden der Regeldatei best64.rule, um zusätzliche Variationen für die Passwörter aus der Wortliste zu generieren.

hashcat -a 0 -m 0 -r /usr/share/hashcat/rules/best64.rule hashes.txt /usr/share/wordlists/rockyou.txt
  • -r /usr/share/hashcat/rules/best64.rule: Wendet die Regeldatei best64.rule auf die Passwörter aus der Wortliste an. Diese Datei enthält viele Regeln, z. B. das Anhängen von "123", das Ersetzen von "e" durch "3", und andere häufige Passwortmodifikationen.

Regeln ermöglichen es, ein einzelnes Wort wie "password" zu verändern und z. B. folgende Varianten zu erzeugen:

  • password123

  • p@ssword

  • PASSWORD

  • passw0rd

Last updated