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 Verwendungszweck Verschlüsselung verschiedene speichern 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 auch 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 Hash-Wert 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- sowie auch Brute-Force-Angriffe durchfü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
Funktionen
- 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-Salz- und Hex-Charset-Dateien werden unterstützt, ebenso wie die automatische Leistungsoptimierung.
- Ein eingebautes Benchmarking-System ist verfügbar.
- Verteilte Cracking-Netzwerke können über 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
Verwendung des Tools
Um mit Hashcat zu beginnen, benötigen wir einige Passwort-Hashes. Wenn Sie keine Hashes zum Knacken haben, 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 "Webtechnology" | 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 Hash-Modi
Die allgemeine Form des Befehls lautet
$ hashcat -a num -m num hashfile wordlistfile
Hier steht die 'num' für einen bestimmten Angriffs- und 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 auch 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, None 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 einzigartige Digests, 1 einzigartige 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
* Keyspace..: 14344398
* Laufzeit...: 1 sec
8276b0e763d7c9044d255e025fe0c212: geekflare@987654
Session..........: hashcat
Status...........: Geknackt
Hash.Name........: MD5
Hash.Target......: 8276b0e763d7c9044d255e025fe0c212
Time.Started.....: Sun Dec 12 08:06:15 2021 (0 secs)
Time.Estimated...: Sun Dec 12 08:06:15 2021 (0 secs)
Guess.Base.......: Datei (rockyou.txt)
Guess.Queue......: 1/1 (100.00%)
Geschwindigkeit.#1.........: 1059.6 kH/s (0.52ms) @ Accel:1024 Loops:1 Thr:1 Vec:8
Wiederhergestellt........: 1/1 (100.00%) Verdauungen
Fortschritt.........: 4096/14344398 (0.03%)
Abgelehnt.........: 0/4096 (0.00%)
Wiederherstellungs.Punkt....: 0/14344398 (0.00%)
Restore.Sub.#1...: Salt:0 Amplifier: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 Passwort 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 beste Pentesting-Tools.