Tool-Vorstellung: hashcat
In modernen Anwendungen werden Passwörter nicht im Klartext gespeichert, sondern als Hashes. Da kryptografische Hashfunktionen als Einwegfunktionen konstruiert sind, ist es nicht möglich, das ursprüngliche Passwort direkt aus einem Hash zu berechnen. Stattdessen basiert die Rekonstruktion auf einem anderen Ansatz: Mögliche Passwortkandidaten werden systematisch generiert, gehasht und mit dem Zielwert verglichen.
Dieser Prozess ist rechenintensiv und lässt sich durch spezialisierte Werkzeuge erheblich beschleunigen. hashcat gehört zu den leistungsfähigsten Tools in diesem Bereich. Es wird insbesondere für Offline-Passwortangriffe eingesetzt, bei denen Hashes bereits vorliegen und lokal überprüft werden können. Durch die Nutzung moderner GPUs über OpenCL oder CUDA kann hashcat eine sehr hohe Anzahl an Passwortkandidaten parallel verarbeiten.
Grundlegende Nutzung
Die Syntax von hashcat folgt einem konsistenten Schema:
hashcat -m [Hash-Typ] -a [Modus] [Hash-Datei] [Wortliste/Maske]
Dieses Schema spiegelt die grundlegende Funktionsweise wider: Zunächst wird der Hash-Algorithmus definiert, anschließend die Angriffsstrategie gewählt und schließlich die Eingabedaten angegeben.
Wichtige Parameter
-m(Hash-Mode): Definiert den verwendeten Algorithmus (z. B.0= MD5,100= SHA1,1800= SHA512-Crypt,3200= bcrypt)-a(Attack-Mode): Legt die Angriffsstrategie fest (z. B.0= Wörterbuch,3= Mask)-o[Datei]: Speichert gefundene Passwörter in einer Ausgabedatei-b(Benchmark): Misst die Leistungsfähigkeit der eigenen Hardware--show: Zeigt bereits geknackte Hashes aus der Potfile an, ohne den Angriff erneut auszuführen
Diese Parameter ermöglichen eine flexible Anpassung an unterschiedliche Angriffsszenarien bei gleichzeitig überschaubarer Komplexität.
Angriffsmodi
hashcat stellt verschiedene Angriffsmodi bereit, die jeweils auf unterschiedlichen Annahmen über Passwortstrukturen und Benutzerverhalten basieren.
1. Wörterbuchangriff (Dictionary Attack, -a 0)
Beim Wörterbuchangriff werden Listen mit bekannten oder häufig verwendeten Passwörtern genutzt, die häufig aus realen Datenlecks stammen.
hashcat -m 0 -a 0 hashes.txt rockyou.txt
Diese Methode ist in der Praxis oft der effektivste Einstiegspunkt. Da viele Benutzer schwache oder wiederverwendete Passwörter wählen, lassen sich mit gut gewählten Wortlisten häufig schnell Treffer erzielen.
2. Mask Attack (Strukturierter Brute-Force, -a 3)
Die Mask Attack stellt eine optimierte Form des Brute-Force-Angriffs dar. Anstatt alle möglichen Kombinationen wahllos zu testen, werden strukturierte Muster definiert, die typische Passwortformate abbilden.
hashcat stellt hierfür vordefinierte Zeichensätze bereit:
?l→ Kleinbuchstaben?u→ Großbuchstaben?d→ Ziffern?s→ Sonderzeichen
Diese können kombiniert werden, um gezielt realistische Passwortstrukturen zu modellieren.
Beispiel:
hashcat -m 0 -a 3 hashes.txt ?u?l?l?l?l?l?d?d
Dieses Muster beschreibt ein Passwort mit einem Großbuchstaben, gefolgt von fünf Kleinbuchstaben und zwei Ziffern. Durch diese Einschränkung wird der Suchraum erheblich reduziert und die Effizienz gesteigert.
3. Hybrid-Angriffe (-a 6, -a 7)
Hybrid-Angriffe kombinieren Wörterbuch- und Mask-Angriffe. Dabei werden bekannte Passwortkandidaten gezielt erweitert, beispielsweise durch das Anhängen oder Voranstellen von Zeichen.
-a 6: Wortliste + Suffix-a 7: Prefix + Wortliste
Beispiel:
hashcat -m 0 -a 6 hashes.txt rockyou.txt ?d
Hier wird jedes Passwort aus der Wortliste um eine Ziffer ergänzt. Diese Methode ist besonders effektiv, da viele Benutzer einfache Muster wie das Anhängen von Zahlen verwenden.
4. Regelbasierte Angriffe (Rule-based, -r)
Regelbasierte Angriffe erweitern Wörterbuchangriffe durch automatische Transformationen. Dabei werden Passwortkandidaten anhand definierter Regeln verändert, um typische Benutzerverhalten nachzubilden.
| Regel | Beschreibung | Eingabe | Ausgabe |
|---|---|---|---|
c |
Erstes Zeichen groß | binsec |
Binsec |
$! |
Zeichen anhängen | binsec |
binsec! |
sao |
Zeichen ersetzen | banana |
bonono |
d |
Verdoppeln | abc |
abcabc |
Beispiel:
hashcat -m 0 -a 0 hashes.txt rockyou.txt -r rules/best64.rule
Regeln gehören in der Praxis zu den effektivsten Methoden, da sie reale Passwortmuster abbilden, etwa das Ersetzen von Buchstaben durch Zahlen oder das Anhängen von Jahreszahlen.
Performance und Effizienz
Die Leistungsfähigkeit wird in Hashes pro Sekunde (H/s) gemessen. Sie hängt sowohl von der eingesetzten Hardware als auch vom verwendeten Hash-Algorithmus ab.
- GPUs sind besonders effizient bei schnellen Hashfunktionen wie MD5, NTLM oder SHA1, da sie viele Berechnungen parallel durchführen können
- CPUs werden häufiger bei speicherintensiven Verfahren wie bcrypt oder Argon2 eingesetzt, bei denen Parallelisierung weniger effektiv ist
Hinweis: hashcat speichert gefundene Passwörter automatisch in der Datei
hashcat.potfile. Bereits geknackte Hashes werden bei späteren Angriffen nicht erneut berechnet.
Einordnung
In der Praxis ist nicht allein die verfügbare Rechenleistung entscheidend, sondern vor allem die Wahl der richtigen Strategie.
Kurze, gezielte Angriffe mit hochwertigen Wortlisten und regelbasierten Transformationen liefern häufig bessere Ergebnisse als langlaufende Brute-Force-Angriffe auf große Suchräume.
Pentest Training
Werfen Sie einen Blick auf die Kapitel vom Pentest Training und lernen Sie Pentesting:
- Vorwort
- Einführung
- Rechtliche Rahmenbedingungen
- Hacking vs. Penetration-Testing
- Klassifizierung
- Aussagekraft von Penetrationstest
- Penetration-Testing-Standards
- Der Hacking-Leitfaden
- Hacking I: Scannen von Netzwerken
- Hacking II: Passwortangriffe
- Hacking III: Webanwendungsangriffe
- Hacking IV: Privilegienausweitung
- Hacking V: Tunnel-Techniken
- Hacking VI: Vulnerability-Scanner und Penetration-Testing-Frameworks
- Vorführung eines Pentests
- Risikobewertung von identifizierten Schwachstellen
- Aufbau Dokumentation und Berichterstellung
- Plauderei aus dem Nähkästchen: Insights von Dubius Payment Ltd.
binsec academy GmbH - Online IT Security Training with Practical Focus
Die binsec academy GmbH ist ein Anbieter von praxisorientierten Online-Trainings im Bereich IT-Sicherheit. Das Schulungsangebot umfasst unter anderem Penetration Testing und sichere Softwareentwicklung. Die Teilnehmer lernen in realitätsnahen Laborumgebungen, die typische IT-Infrastrukturen und Anwendungen simulieren. Die Kurse beinhalten anerkannte Standards wie den OWASP Top 10 und PCI DSS und sind in mehreren Programmiersprachen verfügbar. Nach erfolgreichem Abschluss erhalten die Teilnehmenden Zertifikate wie den Binsec Academy Certified Pentest Professional (BACPP) oder den Binsec Academy Certified Secure Coding Professional (BACSCP), die ihre praktischen Fähigkeiten zur Erkennung und Behebung von Sicherheitslücken belegen.
Gehe zu binsec acadmy GmbH
binsec GmbH – Experten für Penetrationstests
Die binsec GmbH ist ein deutsches IT-Sicherheitsunternehmen mit Schwerpunkt auf professionellen Penetrationstests. Mit über 10 Jahren Erfahrung führt das Team tiefgehende Sicherheitsprüfungen von Netzwerken, Webanwendungen, APIs und mobilen Apps durch. Zertifizierte Experten identifizieren und dokumentieren systematisch Sicherheitslücken, um Unternehmen dabei zu unterstützen, ihre IT-Sicherheit zu verbessern und Compliance-Anforderungen zu erfüllen.
Gehe zu binsec GmbH