Beim ethischen Hacking und bei Penetrationstests ist das Knacken von Passwörtern entscheidend, um Zugang zu einem System oder einem Server zu erhalten.
In Systemen und Datenbanken werden Passwörter selten im Klartext gespeichert.
Passwörter werden immer gehasht, bevor sie in der Datenbank gespeichert werden, und der Hash wird während des Verifizierungsprozesses verglichen.
Je nach verwendeter Verschlüsselung speichern verschiedene Systeme Passwort-Hashes auf unterschiedliche Weise. Und wenn Sie Hashes haben, können Sie jedes Passwort leicht knacken.
In diesem Artikel erfahren Sie, wie Sie Passwort-Hashes mit dem praktischen und hervorragenden Kommandozeilen-Tool Hashcat knacken können.
Fangen wir also an.
Aber vorher…
Was ist eine Hash-Funktion?
Beim Hashing wird ein normaler Eingabetext mit Hilfe einer mathematischen Funktion, die als Hash-Funktion bezeichnet wird, in eine Textkette fester Größe umgewandelt. Jeder Text, unabhängig von seiner Länge, kann mit Hilfe eines Algorithmus in eine zufällige Kombination aus ganzen Zahlen und Buchstaben umgewandelt werden.
- Die Eingabe bezieht sich auf die Nachricht, die gehasht werden soll.
- Die Hash-Funktion ist der Verschlüsselungsalgorithmus wie MD5 und SHA-256, der einen String in einen Hash-Wert umwandelt.
- Und schließlich ist der Hashwert das Ergebnis.
Was ist Hashcat?
Hashcat ist das schnellste Tool zur Wiederherstellung von Passwörtern. Es wurde entwickelt, um hochkomplexe Passwörter in kürzester Zeit zu knacken. Und dieses Tool ist auch in der Lage, sowohl Wortlisten- als auch Brute-Force-Angriffe durchzuführen .
Hashcat hat zwei Varianten. CPU- und GPU-basiert (Graphical Processing Unit). Das GPU-basierte Tool kann die Hashes in kürzerer Zeit knacken als das CPU-Tool. Sie können die Anforderungen an den GPU-Treiber auf der offiziellen Website des Programms überprüfen.
Eigenschaften
- Kostenlos und Open-Source
- Mehr als 200 Hash-Typ-Variationen können implementiert werden.
- Unterstützt Multi-Betriebssysteme wie Linux, Windows und macOS.
- Multi-Plattformen wie CPU- und GPU-Unterstützung sind verfügbar.
- Mehrere Hashes können gleichzeitig geknackt werden.
- Hex-Salt- und Hex-Charset-Dateien werden unterstützt, ebenso wie die automatische Leistungsoptimierung.
- Ein eingebautes Benchmarking-System ist verfügbar.
- Verteilte Cracking-Netzwerke können mit Overlays unterstützt werden.
Weitere Funktionen finden Sie auf der Website des Herstellers.
Installation von Hashcat
Vergewissern Sie sich zunächst, dass Ihr Linux-System mit den neuesten Programmen und Tools auf dem neuesten Stand ist.
Öffnen Sie dazu ein Terminal und geben Sie ein:
$ sudo apt update && sudo apt upgrade
Hashcat ist in der Regel in Kali Linux vorinstalliert. Sie finden das Tool unter der Rubrik Passwort-Cracking. Wenn Sie es jedoch manuell in einer beliebigen Linux-Distribution installieren müssen, geben Sie den folgenden Befehl in das Terminal ein.
$ sudo apt-get install hashcat
Wie man Hashcat benutzt
Um mit Hashcat zu beginnen, benötigen wir einige Passwort-Hashes. Wenn Sie keine Hashes haben, die Sie knacken können, werden wir zunächst einige Hashes erstellen.
Um Hashes über die Kommandozeile zu erstellen, folgen Sie einfach dem folgenden Format.
echo -n "Eingabe" | Algorithmus | tr -d "-">>Ausgabedateiname
Wie Sie sehen, habe ich zum Beispiel einige Wörter mit dem md5-Algorithmus in Hashes verwandelt.
┌──(root💀kali)-[/home/writer/Desktop]
└─# echo -n "geekflare" | md5sum | tr -d "-">>crackhash.txt
echo -n "password123" | md5sum | tr -d "-">>crackhash.txt
echo -n "Webtechnologie" | md5sum | tr -d "-">>crackhash.txt
echo -n "microsoftteams" | md5sum | tr -d "-">>crackhash.txt
echo -n "recyclebin" | md5sum | tr -d "-">>crackhash.txt
Und die Ausgabe wird in der Datei crackhash.txt gespeichert.
Jetzt werden wir die Hashes überprüfen, die in der angegebenen Datei gespeichert wurden.
┌──(root💀kali)-[/home/writer/Desktop]
└─# cat crackhash.txt
066d45208667198296e0688629e28b14
482c811da5d5b4bcd497ffeaa98491e3
72a2bc267579aae943326d17e14a8048
2192d208d304b75bcd00b29bc8de5024
caae8dd682acb088ed63e2d492fe1e13
Sie sehen, wir haben jetzt einige Hashes zu knacken. Dies ist das Verfahren zur Erstellung eines Hashes mit dem Algorithmus Ihrer Wahl.
Der nächste Schritt besteht darin, ein Hashcat-Tool auf Ihrem Linux-Rechner zu starten. Verwenden Sie einfach den folgenden Befehl, um Hashcat zu benutzen.
$ hashcat --help
Daraufhin werden alle Optionen angezeigt, die Sie für die Ausführung des Tools benötigen. Auf dem Terminal finden Sie alle Angriffs- und Hashcat-Modi.
Die allgemeine Form des Befehls hashcat lautet
$ hashcat -a num -m num hashfile wordlistfile
Hier steht die ‘num’ für einen bestimmten Angriff und einen bestimmten Hash-Modus, der verwendet werden soll. Wenn Sie im Terminal scrollen, finden Sie die genauen Zahlen für jede Attacke und jeden Hash-Modus, z.B. für md4 die Zahl 0 und für den sha256 Algorithmus die Zahl 1740.
Die Wortliste, die ich verwenden werde, ist rockyou wordlist. Sie können diese Wortliste ganz einfach im Pfad /usr/share/wordlists finden.
Sie können sogar den Befehl locate verwenden, um diesen Wortlistenpfad zu finden.
┌──(root💀kali)-[/home/writer]
└─# locate rockyou.txt
Um schließlich die Hashes mit Hilfe der Wortlistendatei zu knacken, verwenden Sie den folgenden Befehl.
$ hashcat -a 0 -m 0 ./crackhash.txt rockyou.txt
Nach dem Ausführen dieses Befehls erhalten Sie möglicherweise einen Laufzeitfehler (Token length exception error), der sich leicht beheben lässt.
Um diesen Fehler zu beheben, speichern Sie jeden Hash separat in einer anderen Datei. Dieser Fehler tritt auf, wenn Sie eine niedrige CPU- oder GPU-Geschwindigkeit haben. Wenn Ihr Computer über einen schnellen Prozessor verfügt, können Sie problemlos alle Hashes gleichzeitig in einer einzigen Datei knacken.
Nachdem Sie also den Fehler behoben haben, sieht das Ergebnis wie folgt aus.
┌──(root💀kali)-[/home/writer/Desktop]
└─# hashcat -a 0 -m 0 hashcrack.txt rockyou.txt
hashcat (v6.1.1) startet...
OpenCL API (OpenCL 1.2 pocl 1.6, Keine Asserts, LLVM 9.0.1, RELOC, SLEEF, DISTRO, POCL_DEBUG) - Plattform #1 [Das pocl Projekt]
=============================================================================================================================
* Gerät #1: pthread-Intel(R) Core(TM) i5-8265U CPU @ 1.60GHz, 2403/2467 MB (1024 MB zuweisbar), 4MCU
Minimale vom Kernel unterstützte Passwortlänge: 0
Maximale vom Kernel unterstützte Passwortlänge: 256
Hashes: 1 Digests; 1 eindeutige Digests, 1 eindeutige Salts
Bitmaps: 16 Bits, 65536 Einträge, 0x0000ffff Maske, 262144 Bytes, 5/13 Rotationen
Regeln: 1
Wörterbuch-Cache aufgebaut:
* Dateiname..: rockyou.txt
* Passwörter.: 14344405
* Bytes.....: 139921671
* Schlüsselbereich..: 14344398
* Laufzeit...: 1 sec
8276b0e763d7c9044d255e025fe0c212: geekflare@987654
Sitzung..........: hashcat
Status...........: Geknackt
Hash.Name........: MD5
Hash.Target......: 8276b0e763d7c9044d255e025fe0c212
Time.Started.....: Sun Dec 12 08:06:15 2021 (0 Sek.)
Time.Estimated...: Sun Dec 12 08:06:15 2021 (0 Sek.)
Guess.Base.......: Datei (rockyou.txt)
Guess.Queue......: 1/1 (100.00%)
Geschwindigkeit.#1.........: 1059.6 kH/s (0.52ms) @ Accel:1024 Schleifen:1 Thr:1 Vec:8
Wiederhergestellt........: 1/1 (100.00%) Verdauungen
Fortschritt.........: 4096/14344398 (0.03%)
Abgelehnt.........: 0/4096 (0.00%)
Wiederherstellen.Punkt....: 0/14344398 (0.00%)
Restore.Sub.#1...: Salz:0 Verstärker:0-1 Iteration:0-1
Candidates.#1....: 123456 -> pampam
Gestartet: Sun Dec 12 08:06:13 2021
Gestoppt: Sonne Dez 12 08:06:16 2021
Im obigen Ergebnis können Sie nach den Details des Wörterbuch-Caches feststellen, dass der Hash geknackt wurde und das Kennwort enthüllt wurde.
Fazit
Ich hoffe, Sie haben ein besseres Verständnis für die Verwendung von Hashcat zum Knacken von Passwörtern gewonnen.
Vielleicht interessieren Sie sich auch für die verschiedenen Brute-Force-Tools für Penetrationstests und einige der besten Pentesting-Tools.