GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Anleitung zum Knacken von Passwort-Hashes mit Hashcat mithilfe der Wörterbuchmethode

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 2015 

Glücklicherweise konnten die neuen Hashes nicht geknackt werden! Das bedeutet, dass Sie Ihre Passwortbasis noch weiter vergrößern müssen…

FROHES CRACKEN!


Linux
  1. So installieren und verwenden Sie Hashcat für die Passwortwiederherstellung unter Linux:[Cyber ​​Forensics]

  2. Fehler bei der Verwendung von GRANT mit IDENTIFIED by password in MySQL

  3. CentOS / RHEL :Verwalten der Passwortalterung für Benutzer mit chage (mit praktischen Beispielen)

  4. Wie erhalte ich einen Stack-Trace für C++ mit gcc mit Zeilennummerinformationen?

  5. Verwalten eines Benutzerpassworts für Linux in Puppet

So setzen Sie ein Windows-Passwort mit Linux zurück

So integrieren Sie Grafana mit Prometheus zur Überwachung

So ändern Sie das Passwort unter Linux – Schritt-für-Schritt-Anleitung

So durchsuchen Sie LDAP mit ldapsearch (mit Beispielen)

Wie schütze ich GRUB mit einem Passwort unter Linux?

So fügen Sie einen Passwortschutz für ein Verzeichnis mit cPanel hinzu