Ursache: Hashcat überspringt Hashes aus dem Potfile normalerweise automatisch. Wenn ein Hash trotzdem erneut angegriffen wird, ist das Potfile möglicherweise beschädigt oder der Hash liegt in einer abweichenden Formatierung vor (Groß-/Kleinschreibung der Hex-Zeichen).

Hashcat ist das meistgenutzte Open-Source-Tool zur Passwort-Wiederherstellung, eingesetzt von Penetrationstestern, CTF-Teilnehmern und Sicherheitsforschern weltweit. Mit über 300 unterstützten Hash-Algorithmen, fünf Angriffsmodi und nativer GPU-Beschleunigung für NVIDIA CUDA, AMD HIP und Apple Silicon Metal setzt Hashcat v7.1.2 den Industriestandard für autorisierte Passwort-Sicherheitsaudits. Dieses Tutorial führt Sie in 12 Schritten durch Installation, Konfiguration und alle wesentlichen Angriffstechniken, ausschließlich im Kontext legaler Sicherheitsanalysen und CTF-Wettbewerbe.

Sicherheitshinweis: Hashcat v7.1.2 weist seit dem 1. Mai 2026 drei ungepatchte Schwachstellen mit CVSS 9.8 auf (GitHub Issue #4664). Prüfen Sie vor dem Einsatz mit hashcat --version, ob eine neuere, gepatchte Version verfügbar ist, und aktualisieren Sie sofort, wenn ein Patch erscheint. Verwenden Sie Hashcat ausschließlich auf Systemen und Hashes, für die Sie ausdrücklich autorisiert sind.

Was ist Hashcat und wofür wird es eingesetzt?

Hashcat ist ein quelloffenes Werkzeug zur Wiederherstellung von Passwort-Hashes, ursprünglich von Jens Steube entwickelt und seither von einer weltweiten Community gepflegt. Die Version 7.0.0, veröffentlicht am 1. August 2025, war das Ergebnis von über zwei Jahren Entwicklungsarbeit: mehr als 900.000 geänderte Codezeilen, 105 beitragende Entwickler, darunter 74 Erstbeitragende. Mit v7.1.2 (23. August 2025) steht die bisher reifste Version zur Verfügung.

Das Tool arbeitet mit Hardware-Beschleunigung: Statt eines einzelnen CPU-Kerns nutzt Hashcat Tausende GPU-Shader-Kerne parallel. Für MD5-Hashes erreicht eine moderne NVIDIA RTX-Grafikkarte mehrere Milliarden Kandidaten pro Sekunde, was passwortbasierte Angriffe bei schwachen Algorithmen auf Minuten oder Sekunden reduziert. Für bcrypt und Argon2 fallen die Geschwindigkeiten erheblich niedriger aus, da diese Algorithmen bewusst ressourcenintensiv gestaltet sind.

Der legitime Einsatzbereich von Hashcat umfasst drei Hauptszenarien. Systemadministratoren testen damit die Stärke von Passwort-Hashes in eigenen Datenbanken, um schwache Passwörter vor Angreifern zu identifizieren. Penetrationstester überprüfen im Rahmen beauftragter Red-Team-Übungen erbeutete Zugangsdaten auf Stärke. CTF-Teams lösen passwortbezogene Aufgaben in definierten Wettkampfumgebungen. Die Nutzung auf fremden Systemen oder ohne ausdrückliche Genehmigung ist in Deutschland nach §202a StGB strafbar und kann mit Freiheitsstrafe bis zu drei Jahren geahndet werden.

Die fünf Angriffsmodi von Hashcat bilden den Kern des Tools: Wörterbuch-Angriff (Modus 0), Kombinationsangriff (Modus 1), Brute-Force mit Masken (Modus 3), Hybrid-Modus Wörterbuch plus Maske (Modus 6) und Hybrid-Modus Maske plus Wörterbuch (Modus 7). Neu in v7.0.0 ist außerdem der Assoziations-Angriff (Modus 9), der Hashes automatisch mit verwandten Klartextwörtern verknüpft. Die Kombination dieser Modi mit leistungsstarken Regelwerken macht Hashcat zum leistungsfähigsten frei verfügbaren Tool seiner Art.

Ein wichtiges Update in Hashcat 7.0.0: Die vollständige Überarbeitung des Autotuning-Engines und des Speicherverwaltungssystems entfernte die frühere 4-GB-Speicherbeschränkung. Multi-GPU-Setups und Karten mit großem VRAM werden jetzt vollständig genutzt. Zusätzlich verbesserte das Release die Performance für spezifische Hash-Modi: scrypt um bis zu 320 Prozent, NetNTLMv2 auf Intel-Hardware um bis zu 223 Prozent und RAR3 um bis zu 54 Prozent. Zum Vergleich: John the Ripper, das zweite bekannte Passwort-Cracking-Tool, gilt laut technischen Analysen aus 2026 zunehmend als weniger aktiv entwickelt.

Voraussetzungen für dieses Tutorial

Bevor Sie beginnen, stellen Sie sicher, dass Ihre Umgebung den folgenden Mindestanforderungen entspricht. Hashcat ist GPU-getrieben: Ohne kompatible Grafikkarte reduziert sich die Geschwindigkeit auf CPU-Werte, die für die meisten praktischen Szenarien nicht ausreichen. Kenntnisse über Hashing-Algorithmen, wie im OpenSSL-Tutorial beschrieben, erleichtern das Verständnis der Hash-Typen.

KomponenteMinimumEmpfohlen
BetriebssystemUbuntu 22.04, Windows 10Kali Linux 2026.1, Ubuntu 24.04
GPU (NVIDIA)GTX 1060 6 GBRTX 3080 / RTX 4070 Ti
GPU (AMD)RX 580 8 GBRX 7900 XTX
RAM8 GB32 GB
Speicherplatz10 GB (Tool + Wordlists)100 GB (große Wordlists)
CUDA-Version (NVIDIA)CUDA 11.xCUDA 12.x
Hashcat-Versionv7.0.0v7.1.2 (neuestes Patch prüfen)
Python (optional)Python 3.10Python 3.12

Dieses Tutorial setzt grundlegende Linux-Kenntnisse voraus: Navigieren im Terminal, Pakete installieren, Dateipfade verstehen. Für die Windows-Installation sind keine besonderen Vorkenntnisse nötig. Für das WPA2-Kapitel (Schritt 10) benötigen Sie außerdem eine WLAN-Karte mit Monitor-Mode-Unterstützung sowie ausdrückliche Genehmigung des WLAN-Eigentümers.

Schritt 1: Hashcat herunterladen und installieren

Hashcat ist kostenlos auf hashcat.net und auf GitHub verfügbar. Laden Sie die neueste Version herunter und vergleichen Sie den SHA256-Hash der heruntergeladenen Datei mit dem auf der offiziellen Seite angegebenen, um sicherzustellen, dass die Datei nicht manipuliert wurde.

Installation unter Linux (Ubuntu 24.04 / Kali Linux)

Auf Kali Linux ist Hashcat bereits vorinstalliert. Unter Ubuntu und Debian-basierten Systemen empfiehlt sich die manuelle Installation aus dem Binärpaket, da das Repository oft eine veraltete Version liefert.

# NVIDIA-Treiber und CUDA installieren (Ubuntu 24.04)
sudo apt update
sudo apt install -y nvidia-driver-550 nvidia-cuda-toolkit

# Hashcat aus dem offiziellen Binärpaket installieren
wget https://hashcat.net/files/hashcat-7.1.2.7z
sudo apt install p7zip-full
7z x hashcat-7.1.2.7z
cd hashcat-7.1.2

# Version verifizieren
./hashcat --version
# Erwartete Ausgabe: v7.1.2

# Alternativ: Paketmanager (evtl. ältere Version)
sudo apt install hashcat

Nach der Installation der NVIDIA-Treiber ist ein Neustart erforderlich. Prüfen Sie anschließend mit nvidia-smi, ob die GPU korrekt erkannt wird. Das Ausgabe-Format zeigt GPU-Modell, Treiberversion und CUDA-Version, die Hashcat für die Backend-Auswahl benötigt.

Installation unter Windows 11

Laden Sie das Windows-Binärpaket von hashcat.net herunter, entpacken Sie es mit 7-Zip in ein Verzeichnis Ihrer Wahl und öffnen Sie die Eingabeaufforderung oder PowerShell in diesem Ordner. CUDA-fähige NVIDIA-Treiber sind unter Windows in der Regel im Lieferumfang der Grafikkarte enthalten. Hashcat erkennt die GPU automatisch beim Start.

# Windows: Hashcat-Version überprüfen (Eingabeaufforderung)
.\hashcat.exe --version

# GPU-Status und verfügbare Backends anzeigen
.\hashcat.exe -I

Neu in Hashcat 7.0.0: Das Tool unterstützt vollständig containerisierte Umgebungen, einschließlich Docker-Deployments und Windows-Cross-Kompilierung. Für isolierte Testsysteme oder CI/CD-Pipelines in Sicherheitsumgebungen bietet die Docker-Variante eine saubere Trennung ohne Treiberprobleme auf dem Host-System.

Schritt 2: GPU-Unterstützung konfigurieren

Die GPU-Konfiguration ist der kritischste Schritt für maximale Performance. Hashcat unterstützt vier Backend-Technologien: NVIDIA CUDA (bevorzugt für NVIDIA-GPUs), AMD HIP (ab Hashcat 7.0.0 bevorzugt vor OpenCL bei AMD), OpenCL (Fallback für ältere Systeme) und Apple Metal (native Unterstützung für Apple Silicon M1 bis M4). Hashcat wählt automatisch das leistungsfähigste verfügbare Backend.

# GPU-Informationen und verfügbare Backends anzeigen
hashcat -I

# Beispiel-Ausgabe (NVIDIA RTX 3080):
# * Device #1: NVIDIA GeForce RTX 3080, 9152 MiB (9 GB), 68MCU
#   Backend: CUDA

# Benchmark für MD5-Hashes durchführen
hashcat -b -m 0

# Benchmark für bcrypt (zum Vergleich)
hashcat -b -m 3200

# Benchmark für NTLM (Windows-Hashes)
hashcat -b -m 1000

Ein häufiges Problem: Veraltete NVIDIA-Treiber, die CUDA 11 oder älter verwenden, reduzieren die Hashcat-Performance erheblich. Empfohlen sind CUDA 12.x-Treiber. Installieren Sie unter Ubuntu die aktuellsten NVIDIA-Treiber: sudo add-apt-repository ppa:graphics-drivers/ppa && sudo apt install nvidia-driver-550. Nach der Installation ist ein Neustart erforderlich.

Für AMD-GPUs unter Linux empfiehlt Hashcat seit Version 7.0.0 das HIP-Backend anstelle von OpenCL. HIP liefert laut Hashcat-Entwicklern für bestimmte Hash-Modi deutlich höhere Performance. Installieren Sie ROCm 6.x über den AMD-Software-Manager, bevor Sie Hashcat ausführen. Apple-Silicon-Nutzer (M1 bis M4) profitieren seit v7.0.0 von nativem Metal-Support ohne Emulationsschicht.

Schritt 3: Erste Tests und Benchmark-Überprüfung

Bevor Sie mit echten Hashes arbeiten, führen Sie einen Benchmark durch. Dieser zeigt, welche Geschwindigkeit Ihre Hardware für verschiedene Algorithmen erreicht, und hilft bei der Abschätzung, wie lange ein Angriff dauern wird. Hashcat gibt die Geschwindigkeit in Hashes pro Sekunde (H/s), Kilohashes (kH/s), Megahashes (MH/s) oder Gigahashes (GH/s) an.

# Vollständiger Benchmark für die wichtigsten Hash-Modi
hashcat -b -m 0     # MD5
hashcat -b -m 100   # SHA1
hashcat -b -m 1400  # SHA-256
hashcat -b -m 1000  # NTLM (Windows)
hashcat -b -m 3200  # bcrypt

# Beispiel-Ausgabe (NVIDIA RTX 3080, Richtwerte):
# MD5:     ca. 24.000 MH/s  (24 Milliarden H/s)
# SHA1:    ca.  6.500 MH/s
# SHA-256: ca.  4.500 MH/s
# NTLM:   ca. 21.000 MH/s
# bcrypt:  ca.     18 kH/s  (18.000 H/s)

Die enorme Geschwindigkeitsdifferenz zwischen MD5/NTLM und bcrypt ist kein Zufall: MD5 wurde ursprünglich für schnelle Prüfsummen entwickelt und ist auf moderner Hardware in Sekunden zu knacken, wenn das Passwort in einer Wordlist vorkommt. bcrypt, Argon2 und scrypt wurden bewusst ressourcenintensiv gestaltet, um Brute-Force-Angriffe zu verlangsamen. Hashcat v7.0.0 verbesserte die scrypt-Performance um bis zu 320 Prozent, bleibt aber selbst auf leistungsstarker Hardware bei wenigen Kilohashes pro Sekunde für diese Algorithmen.

Dieser Benchmark-Vergleich ist die wichtigste praktische Lektion der Passwort-Sicherheit: Wer sein System mit bcrypt (Kosten 12+) oder Argon2id schützt, ist gegenüber GPU-beschleunigten Brute-Force-Angriffen effektiv abgesichert. MD5- und SHA1-Passwort-Hashes ohne Salt dagegen sind bei schwachen Passwörtern in Sekunden gecrackt.

Schritt 4: Hash-Typen und den -m Parameter verstehen

Der -m Parameter bestimmt den zu knackenden Hash-Typ. Hashcat v7.1.2 unterstützt über 300 Algorithmen, darunter seit v7.0.0 58 neue anwendungsspezifische Typen, unter anderem Argon2, MetaMask-Wallets, Microsoft-Online-Konten, SNMPv3, GPG-Schlüssel, OpenSSH-Schlüssel und LUKS2-Volumes. Neu hinzugekommen sind außerdem 17 generische Hash-Konstruktionen und 11 neue Primitive für die Plugin-Entwicklung.

-m WertHash-TypErkennungsmerkmalTypischer Einsatz
0MD532 Hex-Zeichen, kein PräfixÄltere Webanwendungen, CMS
100SHA140 Hex-Zeichen, kein PräfixGit-Commits, ältere Systeme
1400SHA-25664 Hex-Zeichen, kein PräfixModerne Webanwendungen
1700SHA-512128 Hex-Zeichen, kein PräfixLinux /etc/shadow (selten)
1000NTLM32 Hex-Zeichen (wie MD5)Windows Active Directory
3200bcrypt $2*$Beginnt mit $2a$, $2b$, $2y$PHP-Anwendungen, Webserver
500MD5crypt $1$Beginnt mit $1$Ältere Linux-Systeme
1800sha512crypt $6$Beginnt mit $6$Modernes Linux /etc/shadow
22000WPA-PBKDF2-PMKID+EAPOLWPA*02*…WLAN WPA2-Passwörter
13400KeePass 1-4$keepass$*2*…KeePass-Datenbanken
18300Apple File System (APFS)$fvde$2$…macOS FileVault
19500OpenSSH Private Keys$PEM$1$4$…SSH-Schlüssel mit Passphrase

Ein häufiger Fehler ist die Wahl des falschen -m Werts. Wenn Hashcat „Token length exception” meldet, liegt in den meisten Fällen ein falscher Hash-Typ vor. Der nächste Schritt erklärt, wie Sie den richtigen Typ automatisch ermitteln. Wichtig: NTLM-Hashes (Modus 1000) und MD5-Hashes (Modus 0) haben beide 32 Hex-Zeichen. Sie sind visuell nicht voneinander zu unterscheiden. Der Kontext (Windows vs. Webanwendung) gibt den entscheidenden Hinweis.

Schritt 5: Hashes automatisch identifizieren mit –identify

Eine der meistgenutzten Neuerungen in Hashcat 7.0.0 ist das --identify Flag. Es analysiert das Format eines Hash-Strings und zeigt alle möglichen Übereinstimmungen aus der Hashcat-Datenbank an. Damit entfällt das manuelle Nachschlagen in der Hash-Typen-Tabelle, ein Prozess, der bei unbekannten Hashes aus CTF-Aufgaben oder Datenbank-Dumps bisher zeitaufwändig war.

# Hash-Typ eines unbekannten Hashes ermitteln
hashcat --identify '5f4dcc3b5aa765d61d8327deb882cf99'

# Beispiel-Ausgabe:
# The following 7 hash-modes match the structure of your input hash:
#
#   #  | Name                                    | Category
# =====+=========================================+================
#    0  | MD5                                     | Raw Hash
#   70  | md5(utf16le($pass))                     | Raw Hash
# 2600  | md5(md5($pass))                         | Raw Hash
# ...

# bcrypt-Hash identifizieren
hashcat --identify '$2a$12$R9h/cIPz0gi.URNNX3kh2OPST9/PgBkqquzi.Ss7KIUgO2t0jWMUW'

# Ausgabe:
# 3200 | bcrypt $2*$, Blowfish (Unix) | Operating System

# SHA-512-crypt identifizieren
hashcat --identify '$6$rounds=656000$xyz...'

# Ausgabe:
# 1800 | sha512crypt $6$, SHA512 (Unix) | Operating System

Für viele Hashes lassen sich durch direkten Blick auf das Präfix schnelle Rückschlüsse ziehen: Hashes, die mit $6$ beginnen, sind sha512crypt-Hashes (Modus 1800). Hashes mit $2a$ oder $2b$ sind bcrypt (Modus 3200). Hashes ohne Präfix und mit genau 32 Hex-Zeichen sind wahrscheinlich MD5 (Modus 0) oder NTLM (Modus 1000). Der Kontext des Zielsystems liefert den entscheidenden Unterschied.

Die --identify Funktion ist besonders hilfreich bei CTF-Aufgaben (Capture the Flag), bei denen Hash-Strings ohne Typ-Angabe aus Datenbankdumps oder Netzwerk-Captures gewonnen werden. Kombinieren Sie --identify mit einem grep-Filter, um nur die wahrscheinlichsten Treffer zu isolieren: Hashcat sortiert die Ausgabe nach Übereinstimmungswahrscheinlichkeit.

Schritt 6: Wörterbuch-Angriff (Modus 0)

Der Wörterbuch-Angriff ist in der Praxis der effektivste Angriffsmodus. Er testet systematisch jedes Wort einer Wordlist als mögliches Passwort gegen den Ziel-Hash. Die Effektivität hängt direkt von der Qualität der Wordlist ab. Die RockYou-Wordlist mit Millionen realer Passwörter aus historischen Datenbankdumps ist der Standard-Ausgangspunkt für die meisten Angriffe und auf Kali Linux bereits unter /usr/share/wordlists/rockyou.txt.gz vorinstalliert.

Für dieses Tutorial verwenden wir einen MD5-Hash des Passworts „password”, den Sie legal auf Ihrem eigenen System erzeugen und testen können.

# Test-Hash erzeugen (eigenes System, kein fremdes Ziel)
echo -n "password" | md5sum
# Ausgabe: 5f4dcc3b5aa765d61d8327deb882cf99  -

# Hash in Datei speichern
echo "5f4dcc3b5aa765d61d8327deb882cf99" > hashes.txt

# RockYou-Wordlist entpacken (Kali Linux)
gunzip /usr/share/wordlists/rockyou.txt.gz

# Wörterbuch-Angriff starten (-m 0 = MD5, -a 0 = Wörterbuch)
hashcat -m 0 -a 0 hashes.txt /usr/share/wordlists/rockyou.txt

# Erwartete Ausgabe:
# 5f4dcc3b5aa765d61d8327deb882cf99:password
#
# Session..........: hashcat
# Status...........: Cracked
# Hash.Mode........: 0 (MD5)
# Recovered........: 1/1 (100.00%)

Die wichtigsten Parameter: -m 0 wählt den Hash-Typ (MD5), -a 0 wählt den Angriffsmodus (Wörterbuch), hashes.txt enthält die Ziel-Hashes und rockyou.txt ist die Wordlist. Hashcat unterstützt mehrere Hashes in einer Datei: ein Hash pro Zeile. Alle Hashes werden gleichzeitig angegriffen, was den Zeitaufwand pro Hash bei vielen Zielen massiv reduziert.

Ein wichtiges Hashcat-Feature beim Wörterbuch-Angriff ist das Potfile: Hashcat speichert gecrackte Hashes automatisch unter ~/.hashcat/hashcat.potfile. Bei einem erneuten Aufruf mit demselben Hash wird das Ergebnis sofort angezeigt, ohne den Angriff zu wiederholen. Zeigen Sie alle bisher gecknackten Hashes mit dem Flag --show an, ohne einen neuen Angriff zu starten: hashcat -m 0 --show hashes.txt.

Für professionelle Audits bietet die SecLists-Sammlung (github.com/danielmiessler/SecLists) spezialisierte Wordlists für verschiedene Szenarien: Standardpasswörter von Routern, häufige Webpasswörter, deutsche Wörter und viele weitere. Das Tool CeWL (Custom Word List Generator) erstellt zielspezifische Wordlists aus Webseiten eines Zielsystems, indem es alle sichtbaren Texte extrahiert und als Passwort-Kandidaten aufbereitet.

Schritt 7: Brute-Force mit Masken (Modus 3)

Der Masken-Angriff (Modus 3) testet systematisch alle Kombinationen innerhalb eines definierten Zeichensets und einer bestimmten Länge. Er ist effizienter als ein unkontrollierter Brute-Force, weil Sie den Suchraum auf das wahrscheinliche Passwortformat einschränken können: beispielsweise acht Zeichen mit vier Kleinbuchstaben, zwei Ziffern und zwei Sonderzeichen.

Hashcat verwendet spezielle Maskenzeichen zur Definition des Zeichenraums für jede Position im Passwort:

  • ?l: Kleinbuchstaben (a-z, 26 Zeichen)
  • ?u: Großbuchstaben (A-Z, 26 Zeichen)
  • ?d: Ziffern (0-9, 10 Zeichen)
  • ?s: Sonderzeichen (!@#$%^&*…, 33 Zeichen)
  • ?a: Alle Zeichen (Kombination aus ?l, ?u, ?d, ?s: 95 Zeichen)
# Alle 6-stelligen numerischen PINs testen
hashcat -m 0 -a 3 hashes.txt '?d?d?d?d?d?d'

# 8-stellig: 4 Kleinbuchstaben + 4 Ziffern
hashcat -m 0 -a 3 hashes.txt '?l?l?l?l?d?d?d?d'

# Alle 8-stelligen Kombinationen aus dem vollen Zeichenset
hashcat -m 0 -a 3 hashes.txt '?a?a?a?a?a?a?a?a'

# Inkrementell: Länge 4 bis 8 Zeichen, alle Zeichen
hashcat -m 0 -a 3 hashes.txt '?a?a?a?a?a?a?a?a' --increment --increment-min=4 --increment-max=8

Der kritische Faktor beim Masken-Angriff ist der Suchraum: Ein 8-stelliges Passwort aus dem Zeichenset ?a (95 Zeichen) ergibt 95^8 = rund 6,6 Billionen Kombinationen. Bei ca. 24 Milliarden MD5-Hashes pro Sekunde auf einer RTX 3080 dauert das vollständige Durchsuchen etwa 4 bis 5 Minuten. Für bcrypt mit ca. 18.000 H/s würde derselbe Suchraum über 11 Millionen Jahre dauern, was den praktischen Unterschied zwischen sicheren und unsicheren Hashing-Algorithmen verdeutlicht.

Für inkrementelle Angriffe, die systematisch alle Längen von 1 bis n testen, verwenden Sie das --increment Flag gemeinsam mit --increment-min und --increment-max. Dies eignet sich besonders, wenn die Passwortlänge unbekannt ist und Sie eine effiziente Suche von kurzen hin zu längeren Passwörtern durchführen möchten.

Schritt 8: Regelbasierter Angriff

Der regelbasierte Angriff kombiniert einen Wörterbuch-Angriff mit Transformationsregeln und ist in der Praxis oft der effektivste Ansatz. Reale Nutzer wandeln Wörter häufig nach vorhersagbaren Mustern in Passwörter um: ein großer Anfangsbuchstabe, eine angehängte Zahl, ein Sonderzeichen am Ende, oder Buchstabenersetzungen (a durch @, i durch 1). Hashcat enthält mehrere vorgefertigte Regelwerke, die genau diese Muster abdecken.

# Verfügbare Regelwerke anzeigen
ls /usr/share/hashcat/rules/
# Ausgabe enthält: best64.rule, d3ad0ne.rule, dive.rule, top10_2025.rule ...

# Regelbasierter Angriff mit best64.rule
hashcat -m 0 -a 0 hashes.txt /usr/share/wordlists/rockyou.txt \
  -r /usr/share/hashcat/rules/best64.rule

# Mit dem neuen top10_2025.rule (Hashcat 7.0.0)
hashcat -m 0 -a 0 hashes.txt /usr/share/wordlists/rockyou.txt \
  -r /usr/share/hashcat/rules/top10_2025.rule

# Mehrere Regelwerke kombinieren
hashcat -m 0 -a 0 hashes.txt /usr/share/wordlists/rockyou.txt \
  -r /usr/share/hashcat/rules/best64.rule \
  -r /usr/share/hashcat/rules/top10_2025.rule

Das Regelwerk best64.rule enthält 64 der statistisch wirkungsvollsten Transformationsregeln, abgeleitet aus der Analyse realer Passwort-Leaks. Eine Regel wie $1 hängt die Ziffer „1″ an jedes Wort an. c wandelt den ersten Buchstaben in einen Großbuchstaben um. $! hängt ein Ausrufezeichen an. Kombiniert produzieren drei solcher Regeln aus dem Wort „passwort” Varianten wie „Passwort1!”, „PASSWORT1″ oder „p@sswort”.

Neu in Hashcat v7.0.0 ist die Regel top10_2025.rule, die auf der Analyse aktueller Passwort-Leaks aus dem Jahr 2025 basiert. Die bestehenden Regelwerke dive.rule und d3ad0ne.rule wurden in v7.0.0 ebenfalls optimiert. Eigene Regeln lassen sich in einer Textdatei anlegen, eine Regel pro Zeile. Die vollständige Regelwerks-Dokumentation finden Sie im Hashcat-Wiki.

# Beispiel: Eigene Regeldatei (custom.rule)
# c        = Ersten Buchstaben groß schreiben
# $1       = "1" anhängen
# $!       = "!" anhängen
# so0      = "o" durch "0" ersetzen

# Angriff mit eigener Regel
hashcat -m 0 -a 0 hashes.txt wordlist.txt -r custom.rule

Schritt 9: NTLM-Hashes und Windows-Passwörter

NTLM-Hashes (Modus 1000) sind das Windows-Standardformat für Passwort-Hashes in Active Directory-Umgebungen. Sie basieren auf dem veralteten MD4-Algorithmus und verwenden keine Salts, was sie zu einem bevorzugten Ziel bei Sicherheitsaudits macht. Der Hashcat-Benchmark zeigt, dass NTLM ähnlich schnell zu berechnen ist wie MD5, mit über 20 Milliarden Hashes pro Sekunde auf einer RTX 3080.

# Test-NTLM-Hash erzeugen (Python, eigenes System)
python3 -c "
import hashlib
passwort = 'Testpasswort123'
ntlm = hashlib.new('md4', passwort.encode('utf-16-le')).hexdigest()
print(ntlm)
"

# NTLM-Hash in Datei speichern
echo "[NTLM-HASH]" > ntlm_hashes.txt

# Wörterbuch-Angriff gegen NTLM
hashcat -m 1000 -a 0 ntlm_hashes.txt /usr/share/wordlists/rockyou.txt

# Mit Regelwerk für typische Windows-Passwörter
hashcat -m 1000 -a 0 ntlm_hashes.txt /usr/share/wordlists/rockyou.txt \
  -r /usr/share/hashcat/rules/best64.rule

NTLM ohne Salt bedeutet: Zwei Nutzer mit demselben Passwort haben identische NTLM-Hashes. Das ermöglicht sogenannte Pass-the-Hash-Angriffe, bei denen der Hash selbst als Authentifizierungstoken genutzt wird, ohne das Klartext-Passwort zu kennen. Im Kontext eines autorisierten Security-Audits ist das Auffinden solcher Hashes ein kritischer Befund, der sofortige Gegenmaßnahmen erfordert: Einführung von Protected Users-Gruppen, Deaktivierung von NTLM zugunsten von Kerberos, und Erzwingung starker, einzigartiger Passwörter.

Neben NTLM unterstützt Hashcat auch Net-NTLMv2 (Modus 5600), das bei Challenge-Response-Authentifizierungen in Netzwerken übertragen wird. Hashcat 7.0.0 verbesserte die NetNTLMv2-Performance auf Intel-Hardware um 223 Prozent. Für die Verwendung in autorisierten Active-Directory-Audits lesen Sie die Dokumentation des BSI zum Thema Passwort-Richtlinien und Windows-Authentifizierung.

Schritt 10: WPA2 PMKID-Angriff

Hashcat Modus 22000 (WPA-PBKDF2-PMKID+EAPOL) ist der aktuelle Standard für die Sicherheitsanalyse von WPA2-geschützten WLAN-Netzwerken. Im Gegensatz zur älteren Methode (Modus 2500, in Hashcat 7.x als veraltet markiert) erfordert der PMKID-Angriff keinen vollständigen 4-Wege-Handshake mit einem verbundenen Client, was die Erfassung der Daten vereinfacht. Dieser Abschnitt gilt ausschließlich für autorisierte Tests auf eigenen Netzwerken oder im Rahmen schriftlich beauftragter WLAN-Sicherheitsassessments.

# WPA2-Handshake (pcapng) in das hc22000-Format konvertieren
# Voraussetzung: hcxtools installiert (sudo apt install hcxtools)
hcxpcapngtool -o capture.hc22000 capture.pcapng

# Informationen zum Hash-Modus 22000 anzeigen
hashcat --hash-info 22000

# Wörterbuch-Angriff gegen WPA2-Hash
hashcat -m 22000 -a 0 capture.hc22000 /usr/share/wordlists/rockyou.txt

# Masken-Angriff für typische ISP-Standardpasswörter (8 Ziffern)
hashcat -m 22000 -a 3 capture.hc22000 '?d?d?d?d?d?d?d?d'

# Mit Regelwerk für häufige WLAN-Passwortmuster
hashcat -m 22000 -a 0 capture.hc22000 /usr/share/wordlists/rockyou.txt \
  -r /usr/share/hashcat/rules/best64.rule

WPA2-Passwörter werden mit PBKDF2 und 4096 Iterationen gehasht, was die Knack-Geschwindigkeit erheblich begrenzt. Selbst auf einer RTX 3080 erreicht Hashcat für WPA2 nur wenige Hundert Kilohashes pro Sekunde. Ein Angriff auf ein langes, zufälliges Passwort ist in realistischer Zeit kaum durchführbar. Standard-Router-Passwörter aus dem ISP-Lieferumfang dagegen (oft 8 bis 12 Ziffern oder bekannte Wörterbuchkombinationen) können in Minuten getestet werden.

Hashcat 7.0.0 fügte 20 neue Hash-Extraktionstools hinzu, darunter Werkzeuge für BitLocker- und APFS-Volumes. Im Kontext eines autorisierten forensischen Audits können damit passphrase-gesicherte verschlüsselte Volumes analysiert werden. Für sichere Passphrase-Verwaltung in Produktivumgebungen lesen Sie das HashiCorp Vault-Tutorial.

Schritt 11: Session-Management und Performance-Tuning

Längere Hashcat-Jobs können Stunden oder Tage dauern. Das Session-Management ermöglicht es, einen Angriff zu unterbrechen und später fortzusetzen, ohne von vorne zu beginnen. Hashcat speichert den Fortschritt in einem Restore-Point, der beim Neustart automatisch geladen wird. Dieses Feature ist besonders wichtig für intensive Angriffe, die über Nacht oder über mehrere Tage laufen.

# Angriff mit Session-Name starten
hashcat -m 0 -a 0 hashes.txt rockyou.txt --session mein_audit_job

# Angriff pausieren: q drücken oder Ctrl+C
# Session fortsetzen
hashcat --restore --session mein_audit_job

# Workload-Profil einstellen (1=minimal bis 4=maximal)
hashcat -m 0 -a 0 hashes.txt rockyou.txt -w 3

# Mehrere GPUs nutzen (Device 1 und 2)
hashcat -m 0 -a 0 hashes.txt rockyou.txt -d 1,2

# GPU-Temperaturgrenzwert setzen (Schutz vor Überhitzung)
hashcat -m 0 -a 0 hashes.txt rockyou.txt --gpu-temp-abort=90

# Gecrackte Hashes in Datei schreiben
hashcat -m 0 -a 0 hashes.txt rockyou.txt -o cracked.txt --outfile-format 2

Das Workload-Profil (-w) steuert, wie aggressiv Hashcat die GPU auslastet. Profil 4 maximiert die Geschwindigkeit, macht das System aber für andere Aufgaben nahezu unbenutzbar. Profil 2 (Standard) balanciert Performance und System-Reaktionsfähigkeit. Für Server ohne aktive Nutzer empfehlen Red-Team-Professionals Profil 3 oder 4. Überwachen Sie die GPU-Temperatur während intensiver Jobs: nvidia-smi dmon -s t zeigt die Temperatur in Echtzeit an.

Für verteilte Angriffe über mehrere Maschinen hinweg existiert das Open-Source-Tool Hashtopolis, das Hashcat-Jobs koordiniert, den Suchraum automatisch aufteilt und Ergebnisse zentral sammelt. Hashtopolis bietet eine Web-Oberfläche zur Verwaltung von Agenten und ist in größeren Red-Team-Umgebungen und CTF-Teams weit verbreitet. Für autorisierte Sicherheitsaudits in Unternehmensumgebungen ist ein dokumentierter, nachvollziehbarer Arbeitsprozess wichtig, den Hashtopolis mit seinen Logs unterstützt.

Schritt 12: Rechtliche Grundlagen und ethische Nutzung

Hashcat ist ein Dual-Use-Tool: Es dient sowohl der legitimen Sicherheitsforschung als auch, in falschen Händen, dem Angriff auf Systeme. In Deutschland regelt §202a StGB (Ausspähen von Daten) den unbefugten Zugriff auf Daten, §202c StGB stellt das Vorbereiten solcher Taten unter Strafe. Das Knacken von Hashes, die aus einem System ohne Genehmigung des Eigentümers stammen, kann strafrechtlich verfolgt werden, auch wenn die Bearbeitung offline auf dem eigenen Rechner erfolgt.

SzenarioLegal in DE?Voraussetzung
Eigene Passwort-Datenbank testenJaEigene Daten, kein Dritter betroffen
CTF-Wettkampf-HashesJaAusdrückliche Genehmigung im Wettkampfrahmen
Beauftragter PenetrationstestJaSchriftlicher Auftrag des Systemeigentümers
Eigenes WLAN testenJaNachweisbares Eigentumsrecht am Netz
Hashes aus fremden DatenbankenNeinStrafbar nach §202a/c StGB
Fremdes WLAN ohne ErlaubnisNeinStrafbar nach §202a StGB und TKG
Akademische Forschung mit TestdatenJaAusschließlich synthetische Daten verwenden

Für autorisierte Penetrationstests empfiehlt das Bundesamt für Sicherheit in der Informationstechnik (BSI) einen schriftlichen Pentest-Vertrag, der Umfang, Methoden und Zeiträume des Tests klar definiert. Ohne diese Dokumentation sind selbst autorisierte Tests rechtlich riskant. Der Vertrag sollte explizit das Einsetzen von Passwort-Cracking-Tools wie Hashcat genehmigen und den Umgang mit erbeuteten Hashes und Klartext-Passwörtern regeln. Lesen Sie für defensivere Perspektiven auch die Artikel zu SSH-Key-Best-Practices und zum OpenSSL-Tutorial.

Häufige Fehler und Fehlerbehebung

Die folgenden acht Probleme treten bei Hashcat-Einsteigern am häufigsten auf. Jedes Problem wird mit dem genauen Symptom, der Ursache und der Lösung beschrieben.

Problem 1: “No devices found” oder “No OpenCL/CUDA devices found”

Ursache: NVIDIA- oder AMD-Treiber nicht installiert, CUDA/ROCm fehlt, oder die GPU wird in einer virtuellen Umgebung nicht durchgereicht. Hashcat in VirtualBox oder VMware ohne GPU-Passthrough sieht keine dedizierte Hardware-GPU.

Lösung: Prüfen Sie mit nvidia-smi (NVIDIA) oder rocm-smi (AMD), ob das System die GPU erkennt. Installieren Sie fehlende Treiber und starten Sie neu. In virtuellen Umgebungen wechseln Sie auf eine physische Maschine oder nutzen Sie Docker mit GPU-Passthrough (--gpus all).

Problem 2: “Token length exception”

Ursache: Der gewählte -m Wert passt nicht zum Hash-Format. Ein MD5-Hash (32 Hex-Zeichen) unter dem bcrypt-Modus (3200) zu verarbeiten, erzeugt diesen Fehler. Auch abgeschnittene oder falsch kopierte Hash-Strings lösen ihn aus.

Lösung: Nutzen Sie hashcat --identify <hash>, um den korrekten Modus zu bestimmen. Prüfen Sie, ob der Hash-String vollständig ohne führende oder abschließende Leerzeichen kopiert wurde. Bei bcrypt-Hashes muss das komplette Format inklusive Präfix ($2a$12$...) übergeben werden.

Problem 3: “Exhausted” ohne gecknackten Hash

Ursache: Die Wordlist ist vollständig durchsucht, aber das Passwort wurde nicht gefunden. Die Wordlist deckt das spezifische Passwort nicht ab.

Lösung: Wechseln Sie auf eine größere oder spezialisierte Wordlist. Kombinieren Sie den Wörterbuch-Angriff mit Regelwerken (-r best64.rule). Als nächste Eskalationsstufe versuchen Sie einen Masken-Angriff mit angepasstem Zeichenset. Für CTF-Aufgaben prüfen Sie die Aufgabenbeschreibung auf Hinweise zum Passwortformat, da viele CTF-Challenges absichtlich ungewöhnliche Passwörter verwenden.

Problem 4: Deutlich langsamere Geschwindigkeit als im Benchmark

Ursache: Workload-Profil zu niedrig (Standard: -w 2), GPU-Throttling durch Überhitzung, oder Hashcat läuft auf CPU statt GPU.

Lösung: Erhöhen Sie das Workload-Profil auf -w 3 oder -w 4. Prüfen Sie die GPU-Temperatur mit nvidia-smi dmon -s t. Überprüfen Sie mit hashcat -I, welches Backend aktiv ist: Bei korrekter Konfiguration sollte CUDA oder HIP angezeigt werden, nicht CPU.

Problem 5: WPA2-Datei wird nicht akzeptiert

Ursache: Hashcat 7.x akzeptiert kein .hccapx-Format mehr für Modus 22000. Das alte Format (Modus 2500) ist als veraltet markiert und wird nicht mehr unterstützt.

Lösung: Konvertieren Sie .hccapx-Dateien mit dem Tool hcxtools in das neue .hc22000 Format. Installieren Sie hcxtools mit sudo apt install hcxtools und konvertieren Sie: hcxpcapngtool -o capture.hc22000 capture.pcapng. Das neue Format enthält sowohl PMKID- als auch EAPOL-Daten.

Problem 6: “CUDA error: out of memory”

Ursache: Zu viele Hashes in der Eingabedatei, oder der gewählte Hash-Modus benötigt mehr VRAM als verfügbar. Hashcat 7.0.0 entfernte die frühere 4-GB-Grenze, aber das physische VRAM der GPU bleibt eine harte Grenze.

Lösung: Teilen Sie die Hash-Datei in kleinere Blöcke auf: split -l 1000 hashes.txt chunk_. Reduzieren Sie das Workload-Profil auf -w 1, um weniger VRAM zu beanspruchen. Als Alternative: CPU-Modus mit -D 1 für speicherintensive Hash-Modi.

Problem 7: Hash aus Potfile wird erneut angegriffen

Ursache: Hashcat überspringt Hashes aus dem Potfile normalerweise automatisch. Wenn ein Hash trotzdem erneut angegriffen wird, ist das Potfile möglicherweise beschädigt oder der Hash liegt in einer abweichenden Formatierung vor (Groß-/Kleinschreibung der Hex-Zeichen).

Lösung: Prüfen Sie das Potfile: cat ~/.hashcat/hashcat.potfile. Zeigen Sie gecrackte Hashes mit hashcat -m 0 --show hashes.txt an. Wenn Hashes in unterschiedlicher Schreibweise vorliegen, normalisieren Sie sie zuerst auf Kleinbuchstaben.

Problem 8: Segmentation Fault oder unerwarteter Absturz

Ursache: Häufig auf die drei ungepatchten CVEs (CVSS 9.8) in v7.1.2 zurückzuführen, veröffentlicht am 1. Mai 2026 (GitHub Issue #4664). Auch defekte Hardware oder inkompatible Treiber können Segmentation Faults auslösen. Beschädigte Wordlist-Dateien oder korrupte Hash-Strings sind weitere mögliche Ursachen.

Lösung: Prüfen Sie die offizielle Hashcat-Release-Seite auf GitHub auf eine neuere, gepatchte Version. Aktualisieren Sie GPU-Treiber auf die neueste Version. Testen Sie mit einer kleinen Hash-Datei und einer kurzen Wordlist, ob das Problem reproduzierbar ist. Prüfen Sie Systemlogs (dmesg | tail -20) auf Hardware-Fehler.

Fortgeschrittene Techniken

Erfahrene Hashcat-Nutzer kombinieren mehrere Techniken für maximale Effizienz. Der Kombinationsangriff (Modus 1) verknüpft zwei Wordlists: Jedes Wort der ersten Liste wird mit jedem Wort der zweiten kombiniert. Aus „password” und „123″ entsteht „password123″. Dieser Modus eignet sich für Passwörter, die aus zwei erkennbaren Begriffen bestehen.

# Kombinationsangriff (Modus 1): Zwei Wordlists verbinden
hashcat -m 0 -a 1 hashes.txt wordlist1.txt wordlist2.txt

# Hybrid-Angriff Modus 6: Jedes Wort + Ziffern am Ende
hashcat -m 0 -a 6 hashes.txt wordlist.txt '?d?d?d?d'

# Hybrid-Angriff Modus 7: Ziffern vor jedem Wort
hashcat -m 0 -a 7 hashes.txt '?d?d' wordlist.txt

# Ausgabe in Echtzeit in Datei schreiben (Format: hash:klartext)
hashcat -m 0 -a 0 hashes.txt rockyou.txt -o cracked.txt --outfile-format 2

# Status-Update alle 60 Sekunden anzeigen
hashcat -m 0 -a 0 hashes.txt rockyou.txt --status --status-timer=60

Für CTF-Wettbewerbe und spezialisierte Audits lohnt sich die Erstellung domänenspezifischer Wordlists. Das Tool CeWL crawlt Webseiten und extrahiert sichtbare Texte als potenzielle Passwort-Kandidaten. Für deutschsprachige Ziele bieten GitHub-Projekte spezialisierte deutsche Wordlists, die Umlaute (ä, ö, ü) und typische deutsche Passwort-Muster abdecken. Kombinieren Sie diese mit Hashcat-Regeln, die deutsche Zeichenbesonderheiten berücksichtigen, etwa den Ersatz von Umlauten durch ae, oe, ue.

Hashcat unterstützt seit Version 7.0.0 außerdem eine neue Regel top10_2025.rule, die auf der Analyse der häufigsten Passwort-Transformationen aus aktuellen Leaks basiert. Kombiniert mit der Dive-Wordlist (einer der umfangreichsten öffentlichen Wordlists) und diesem Regelwerk erzielen Sicherheitsexperten bei realen Audits von MD5- und NTLM-Hashes laut Hack The Box in vielen Umgebungen signifikant höhere Trefferquoten als mit älteren Methoden.

Für die Absicherung der eigenen Infrastruktur gegen Hashcat-Angriffe empfehlen sich drei Maßnahmen: Erstens, den Hashing-Algorithmus auf Argon2id oder bcrypt mit ausreichend hohem Kostenfaktor umstellen. Zweitens, starke, einzigartige Passwörter erzwingen (mindestens 16 Zeichen, zufällig generiert). Drittens, Multi-Faktor-Authentifizierung einführen, die das Klartext-Passwort selbst bei erfolgreichem Cracking wertlos macht. Das Nmap-Tutorial zeigt, wie Sie Ihre Netzwerkdienste auf exponierte Authentifizierungsendpunkte überprüfen.

Verwandte Themen

Weiterführende Artikel

Häufig gestellte Fragen zu Hashcat

Ist Hashcat kostenlos und Open Source?

Ja. Hashcat steht unter der MIT-Lizenz und ist vollständig kostenlos auf hashcat.net und auf GitHub verfügbar. Quellcode, vorkompilierte Binärpakete für Windows, Linux und macOS sowie alle Regelwerke sind ohne Registrierung herunterladbar. Die Weiterentwicklung ist community-getrieben.

Welche GPU brauche ich für Hashcat?

Für MD5, SHA1 und NTLM reicht jede moderne NVIDIA GTX/RTX oder AMD RX-Karte mit mindestens 6 GB VRAM. Für rechenintensive Hashes wie bcrypt, Argon2 oder WPA2 sind mehr VRAM und mehr Shader-Kerne vorteilhaft. Apple-Silicon-Nutzer (M1 bis M4) können Hashcat seit v7.0.0 nativ mit Metal-Backend nutzen. CPU-Betrieb ist möglich, für praktische Angriffe aber in den meisten Fällen zu langsam.

Was ist der Unterschied zwischen Hashcat und John the Ripper?

Beide Tools dienen dem Passwort-Cracking, aber Hashcat konzentriert sich auf GPU-Beschleunigung und unterstützt mit über 300 Hash-Typen erheblich mehr Algorithmen als John the Ripper. Hashcat erhielt mit v7.0.0 im August 2025 ein umfangreiches Major-Update mit 900.000 geänderten Codezeilen. Eine technische Analyse aus April 2026 beschreibt John the Ripper im Vergleich als weniger aktiv entwickelt. Für GPU-intensive Angriffe und aktuelle Hash-Typen ist Hashcat die bevorzugte Wahl.

Welche Hash-Typen sind am schwersten zu knacken?

Argon2id, bcrypt und scrypt sind bewusst ressourcenintensiv gestaltet und bieten bei korrekter Konfiguration effektiven Schutz. Argon2id (Gewinner der Password Hashing Competition 2015) mit Speicher-Kosten von 64 MB und 3 Iterationen ist selbst gegen GPU-beschleunigte Angriffe praktisch nicht zu knacken. MD5, SHA1 und NTLM hingegen bieten keinen nennenswerten Schutz gegen Hashcat auf moderner Hardware. Die Empfehlung für neue Systeme: Argon2id mit ausreichend hohen Kosten-Parametern.

Wie lange dauert es, ein 8-stelliges Passwort zu knacken?

Das hängt vom Hash-Typ und der Hardware ab. Für MD5 auf einer RTX 3080 mit rund 24 Milliarden Hashes pro Sekunde und einem vollständigen Zeichenset (95 Zeichen): 95 hoch 8 = rund 6,6 Billionen Kombinationen in etwa 4 bis 5 Minuten. Für bcrypt mit rund 18.000 H/s würde derselbe Suchraum rechnerisch über 11 Millionen Jahre dauern. Ein 12-stelliges zufälliges Passwort aus dem vollen Zeichenset und einem starken Hashing-Algorithmus ist in der Praxis nicht zu knacken.

Welche Wordlist ist die beste für Hashcat?

Für den Einstieg ist die RockYou-Wordlist (/usr/share/wordlists/rockyou.txt auf Kali Linux) ausreichend: Sie enthält Millionen realer Passwörter aus Datenbankdumps und deckt die häufigsten Passwörter ab. Für professionelle Audits bietet die SecLists-Sammlung auf GitHub spezialisierte Listen für verschiedene Einsatzbereiche. Kombinieren Sie immer eine Wordlist mit mindestens einem Regelwerk wie best64.rule, um die Trefferquote erheblich zu erhöhen.

Hat Hashcat v7.1.2 bekannte Sicherheitslücken?

Ja. Seit dem 1. Mai 2026 sind drei Schwachstellen in Hashcat v7.1.2 mit einem CVSS-Score von 9.8 bekannt (GitHub Issue #4664 und Pull Request #4618). Sie betreffen den Regel-Engine und ermöglichen es einem Angreifer, durch manipulierte Eingaben Code auf dem ausführenden System auszuführen. Ein Patch ist in Entwicklung, war aber zum Zeitpunkt der Veröffentlichung dieses Artikels noch nicht als offizielles Release verfügbar. Prüfen Sie vor dem Einsatz die Hashcat-Release-Seite auf GitHub auf neuere Versionen. Lesen Sie auch die HelpNetSecurity-Analyse zu Hashcat 7.0.0 für Hintergründe zu Sicherheitspraktiken beim Einsatz des Tools.