Wir haben in unserem vorherigen Artikel How to install Hashcat gesehen. Außerdem haben wir die Verwendung von Hashcat mit vorgefertigten Beispielen gesehen. Lassen Sie uns nun die Passwörter auf Ihren Linux-Rechnern knacken, ein Beispiel aus der realen Welt!
Erstellen Sie einen Benutzer unter Linux
Erstellen Sie zunächst in einem Terminalfenster einen Benutzer und legen Sie ein Passwort dafür fest, wie unten gezeigt. Sie können auch dem manuellen Erstellen eines Linux-Benutzerkontos folgen. Sie können das Passwort wie folgt festlegen:qwerty für diesen Beispielzweck.
[root@cloud2 ~]# useradd ramya[root@cloud2 ~]# passwd ramya Passwort für Benutzer ramya ändern. Neues Passwort:Neues Passwort erneut eingeben:passwd:Alle Authentifizierungstoken erfolgreich aktualisiert.
Anzeigen des Passwort-Hash
Führen Sie im Terminalfenster den folgenden Befehl aus, um den generierten Hash für das Passwort „qwerty“ für den Benutzer ramya anzuzeigen .
[root@cloud2 ~]# tail -n 1 /etc/shadowramya:$6$6SA.1X/l$JkVyIvJu.JAN6g8gIHyh9FWj3rAQ...yAf5hLFltzi1624A4rtcuxluzg75hh2bSGqv2bPZHaQYGHvD/ziOUD0:16790:0:99999:7:::
Ermitteln Sie Ihren Salzwert
Wenn Sie sich den obigen Hash-Wert ansehen, folgen Sie dem Benutzernamen „ramya “, Der Wert $6$ gibt den Passwort-Hash vom Typ 6 (SHA512) an. Die Zeichen nach $6$ bis zum nächsten $ geben das Salt an.
Oben ist das SALT:6SA.1X/l
Folgen Sie diesem Artikel, um mehr darüber zu erfahren, was Passwort-Hashing ist, wie Hashes geknackt werden, SALTS und seine Anwendungsfälle usw.
So finden Sie den unter Linux verwendeten Hashing-Algorithmus
Der Hash-Algorithmus ist in der Datei definiert:/etc/login.defs. Suchen Sie nach dem Wort "ENCRYPT_METHOD" um den definierten Hash-Algorithmus zu finden:
[root@cloud2 ~]# grep -rn ENCRYPT_METHOD /etc/login.defs 65:ENCRYPT_METHOD SHA512
Wie Sie sehen, verwendet meine Linux-Box den Hash-Typ SHA-512.
Extrahieren des Hashs aus der Datei /etc/shadow und Erstellen einer Hash-Datei
[root@cloud2 ~]# tail /etc/shadow | grep "ramya" | awk -F':' '{print $2}'>> password.hash
Fügen Sie einen oder mehrere Hashes in einer separaten Zeile ein, um mehrere Hashes gleichzeitig in der Datei password.hash zu knacken.
Liste der gängigen online verfügbaren Passwörter
Nun, wir werden eine Liste gängiger Passwörter verwenden, um unsere Hashes zu knacken. Die gemeinsamen Passwörter können von den folgenden Links heruntergeladen werden:
Von John the Ripper-Tool:John.txt.bz2
Von Kain &Abel:Cain.txt.bz2
500 häufige Passwörter:500-schlechteste-Passwörter.txt.bz2
370 gesperrte Twitter-Passwörter:twitter-banned.txt.bz2
Hier können Sie auch einige weitere Passwörter abrufen, die von bekannten Websites wie phpbb, myspace, hotmail usw. geleakt oder gestohlen wurden.
Versuchen wir es zunächst mit nur 500 gängigen Passwörtern.
Laden Sie die 500 gemeinsamen Passwörter herunter
[root@cloud2 ~]# wget http://downloads.skullsecurity.org/passwords/500-worst-passwords.txt.bz2
[root@cloud2 ~]# bunzip 500-schlechteste-passwörter.txt.bz2
Cracking the Hash using Hashcat
Die grundlegende Verwendung von hashcat ist wie folgt:
[root@cloud2 ~]# Hashcat [Optionen] Hashdatei [Maske|Wortdateien|Verzeichnisse]
Optionen:
-m, --hash-type=NUM -a, --atack-mode=NUM -o, --ouput-file=NUM --remove Aktivieren Sie das Entfernen von Hash, sobald es geknackt wurde.
Wir haben von oben gesehen, dass unser Hash vom Typ 6 ist. Also werden wir verwenden:–hash-type=1800 . Wenn Ihre /etc/login.defs MD5 verwendet, dann wäre der Hash-Typ –hash-type=500 und ebenso für andere Hash-Typen. Einige davon sind unten aufgeführt:
100 =SHA1 500 =md5crypt, MD5 (Unix) 1400 =SHA256 1700 =SHA512 1800 =SHA-512 (Unix)
Da wir das wörterbuchbasierte Knacken versuchen, werden wir den Angriffsmodus als –atack-mode=0 verwenden .Die anderen Angriffsmodi sind:
0 =Straight 1 =Kombination 2 =Toggle-Case 3 =Brute-Force 4 =Permutation 5 =Table-Lookup 8 =Prince
Sie können die Liste der Hash-Typen und Angriffsmodi mit Hilfe von hashcat abrufen.
Lassen Sie uns die gefundenen Hashes in eine neue Datei namens found.txt ausgeben und den entsprechenden Hash aus der Datei password.hash entfernen. Der letzte Befehl wäre also:
[root@cloud2 ~]# hashcat -m 1800 -a 0 password.hash 500-worst-passwords.txt Hashcat v2.00 mit 2 Threads und 32 MB Segmentgröße initialisieren...
Hashes aus der Datei password.hash hinzugefügt:1 (1 Salts) Aktivieren des Quick-Digest-Modus für Single-Hash mit Salt
$6$EeKhjLd3$ogjAhHz5KFkcTUH6h5LP7j3HFhd83DL8KFXKbWQiisahKmexoA71yuJuM1MmbA.ZGU/qySl0xoo2FNqG6NNlv.:qwerty
Alle Hashes wurden wiederhergestellt
Input.Mode:Dict (500-worst-passwords.txt) Index.....:1/1 (Segment), 500 (Wörter), 3493 (Bytes) Recovered.:1/1 Hashes, 1/ 1 Salze Geschwindigkeit/Sek.:- Ebenen, 131 Wörter Fortschritt..:132/500 (26,40%) Läuft...:00:00:00:01 Geschätzt.:00:00:00:02
Gestartet:Mo. 21. Dez. 12:14:20 2015 Gestoppt:Mo. 21. Dez. 12:14:21 2015
[root@cloud2 ~]# cat found.txt$6$EeKhjLd3$ogjAhHz5KFkcTUH6h5LP7j3HFhd83DL8KFXKbWQiisahKmexoA71yuJuM1MmbA.ZGU/qySl0xoo2FNqG6NNlv.:qwerty
Aus der obigen Berechnung konnten wir den Hash knacken und Sie würden den Hash mit dem geknackten Passwort „qwerty“ am Ende sehen, wie oben gezeigt:
Lassen Sie uns viele Konten mit wenig komplexen Passwörtern erstellen. Lassen Sie uns nun diese Hashes mit einer breiteren Palette von Wörterbuchpasswörtern knacken, die aus den mehreren Listen stammen:
[root@cloud2 ~]# wget http://downloads.skullsecurity.org/passwords/john.txt.bz2[root@cloud2 ~]# wget http://downloads.skullsecurity.org/passwords/cain. txt.bz2[root@cloud2 ~]# wget http://downloads.skullsecurity.org/passwords/twitter-banned.txt.bz2[root@cloud2 ~]# wget http://downloads.skullsecurity.org/passwords/ 500-schlechteste-passwörter.txt.bz2[root@cloud2 ~]# bunzip2 john.txt.bz2 500-schlechteste-passwörter.txt.bz2 twitter-banned.txt.bz2 cain.txt.bz2[root@cloud2 ~]# cat john.txt 500-schlechteste-passwörter.txt twitter-banned.txt cain.txt>> wörterbuch-passwörter.txt
Jetzt haben wir eine riesige Liste von Passwörtern, die normalerweise verwendet werden, in der Datei:dictionary-passwords.txt
Testen wir jetzt unsere neuen Hashes gegen diese vielen Passwörter.
[root@cloud2 ~]#hashcat -m 1800 -a 0 -o found.txt --remove password.hash dictionary-passwords.txtInitializing hashcat v2.00 with 2 threads and 32mb segment-size...Hashes hinzugefügt aus Datei password.hash:2 (2 Salts)[s]Status [p]ause [r]esume [b]ypass [q]uit => rInput.Mode:Dict (/tmp/dictionary-passwords.txt)Index. ....:1/1 (Segment), 310683 (Wörter), 3177794 (Bytes)Wiederhergestellt.:0/2 Hashes, 0/2 SaltsGeschwindigkeit/Sek.:251 Ebenen, 125 WörterFortschritt..:310683 /310683 (100.00 %)Läuft...:00:00:41:13Geschätzt.:--:--:--:--Gestartet:Di 22. Dez 06:48:06 2015Gestoppt:Di 22. Dez 07:29:19 2015Glücklicherweise konnten die neuen Hashes nicht geknackt werden! Das bedeutet, dass Sie Ihre Passwortbasis noch weiter vergrößern müssen…
FROHES CRACKEN!