So sprengen Sie verschiedene Hashes mit der Hashcat-Software

Veröffentlicht von: · Autoren:Dokument Passwort Wiederherstellung Master

Null, Hintergrundwissen

1. Hash-Funktion

Die Hash-Funktion ist ein allgemeiner Begriff für eine Art von Funktion. Die Eingabe dieser Art von Funktion sind beliebige binäre Daten und die Ausgabe ist eine binäre Daten mit fester Länge. Diese Art von Funktion weist die folgenden Eigenschaften auf:

  • Unidirektionalität: Es ist einfach und schnell, die Ausgabe aus der Eingabeberechnung zu berechnen, aber es ist mathematisch nicht möglich, die Eingabe aus der Ausgabe abzuleiten

  • Kollisionsbeschränkung: Es ist äußerst schwierig, zwei verschiedene Eingaben mit derselben Ausgabe zu finden

Funktionen, die diese Eigenschaften erfüllen, können als Hash-Funktionen bezeichnet werden. Verwenden Sie bestimmte Daten als Eingabe der Hash-Funktion und berechnen Sie die Ausgabe. Diese Ausgabe wird üblicherweise als Hash-Wert der Daten bezeichnet.

Eine der Hauptfunktionen der Hash-Funktion besteht darin, das Passwort sicher zu speichern. Es speichert das Passwort nicht direkt (d. h. es speichert kein Klartext-Passwort), sondern speichert den Hash-Wert des Passworts. Während der Verifizierung müssen Sie nur das eingegebene Passwort erneut berechnen. Der Hash-Wert des Passworts kann mit dem Hash-Wert des gespeicherten Passworts verglichen werden, um festzustellen, ob das Passwort korrekt ist. Aufgrund der Unidirektionalität der Hash-Funktion und der Kollisionsbeschränkungen ist es für einen Angreifer schwierig, das Passwort selbst zu kennen, selbst wenn er den Hash-Wert des Passworts erhält.

2.hashcat

Der Angreifer hat den Hash-Wert des Passworts erhalten. Gibt es wirklich keine Möglichkeit, das Passwort selbst zu kennen? Natürlich nicht. Obwohl es mathematisch gesehen nicht möglich ist, das Passwort direkt aus dem Hash-Wert des Passworts zu berechnen, wissen wir, dass es einfach und schnell ist, die Ausgabe durch die Hash-Funktion aus der Eingabeberechnung zu erhalten. Im schlimmsten Fall können Sie es versuchen. Die Passwörter, die Menschen festlegen können, sind nur diese. Probieren Sie sie einzeln aus, wenn Sie Glück haben, können Sie es trotzdem ausprobieren. Der Vorgang des kontinuierlichen Versuchs, die Eingabe zu erhalten, die dem Hash-Wert entspricht, wird als Sprengen bezeichnet.

Basierend auf dieser Idee entstand hashcat. Es wird gesagt, dass hashcat geboren wurde, um zu beweisen, dass das Sprengen von hash sehr einfach ist. hashcat behauptet, das schnellste Hash-Blasting-Tool der Welt zu sein, und es unterstützt sogar GPU und FGPA, wenn Sie es haben.


hashcat ist nicht nur schnell, sondern unterstützt auch professionell mehr als zweihundert Hash-Funktionen. Verwenden Sie die Befehle:

 hashcat   - -help 

Sie können eine Liste aller von hashcat unterstützten Hash-Funktionen sehen. Es gibt zu viele, die ich hier nicht posten werde.

hashcat ist standardmäßig in Kali installiert und kann direkt verwendet werden. Aber mein Kali ist in VirtualBox installiert und ich habe immer das Gefühl, dass die virtuelle Maschine langsamer ist, also möchte ich hashcat in einem physischen Host verwenden. Gehen Sie zunächst zur offiziellen Website von hashchat, um hashcat herunterzuladen. Derzeit ist die neueste Version v3.5.0, die am 05.04.2017 veröffentlicht wurde. Aus dem Aktualisierungsdatum ist ersichtlich, dass hashchat voller Vitalität ist. Ersparen Sie die Mühe des Kompilierens und laden Sie das binäre Paket direkt herunter, das nur 2,7 Millionen beträgt, was im Vergleich zu Spielen mit Dutzenden von GB sehr klein ist.

Nachdem der Download abgeschlossen ist, entpacken Sie den hashcat und sehen Sie:

Solche Dateien sind ausführbare Dateien in linux und windows unter 32-Bit und 64-Bit. Wählen Sie einfach eine davon entsprechend der Situation Ihres Computers aus. Ich habe hashcat64.bin ausgewählt. Füge der Schönheit halber eine Zeile in die ~ /. bashrc-Datei hinzu:

 alias   hashcat = ' Pfad zu hashcat64.bin ' 

Nach dem Speichern öffnen Sie das virtuelle Terminal erneut, um die ~ /. bashrc-Datei wirksam zu machen. Auf diese Weise können Sie den Hashcat-Befehl direkt eingeben, egal wo Sie sich befinden, ohne das Verzeichnis zu wechseln oder das hässliche „64.bin "einzugeben, wie in der folgenden Abbildung dargestellt.

Nun, jetzt können Sie anfangen, verschiedene hash mit hashcat zu explodieren.

1. Explosion MD5

MD5 sollte eine der berühmtesten und am weitesten verbreiteten Hash-Funktionen sein. Verwenden Sie zunächst Python, um mehrere MD5-Werte zum Sprengen zu generieren. Der Code lautet wie folgt:

     import   hashlib 
    Passwörter   =   [' 123123 ',   ' bond007 ',   ' xxxxxx ',   ' *H@ & (NT*@BR#^ '] 
    Für   Passwort   in   Passwörter: 
        MD5   =   hashlib.MD5 () 
        MD5.update (Passwort) 
        print   MD5.hexdigest () 

Der obige Code berechnet die Hash-Werte der vier Zeichenfolgen und das Ausgabeergebnis lautet:

     4297f44b13955235245b2497399d7a93 
    cbdb7e2b1ed566ceb796af2df07205a3 
    dad3a37aa9d50688b5157698acfd7aee 
    d77db958c179bbffae04b2b908b75c26 

Speichern Sie die Ausgabe in der Datei MD5.hash mit einem hahs-Wert pro Zeile. Verwenden Sie dann hashcat, um diese Hash-Werte zu sprengen. Der Befehl lautet wie folgt:

     hashcat   -w   3   -a   0   -m   0   - -entfernen   -o   MD5.out   MD5.hash   wordlist.dic 

Der Parameter-w wird verwendet, um den Arbeitsmodus anzugeben. Es gibt vier Arten, wie in der folgenden Tabelle dargestellt:

N Leistung Laufzeit Stromverbrauch Desktop-Auswirkung
1 Niedrig 2 ms niedrig Minimal
2 Default 12 ms wirtschaftlich auffällig
3 hoch 96 ms High Unresponsive
4 Nightmare 480 ms Insane Kopflos

Der Parameter-a wird verwendet, um den Angriffsmodus anzugeben. Die Bedeutung von 0 ist direkt und kontinuierlich, d. h. es gibt fünf Werte für-a, wie in der folgenden Tabelle dargestellt:

N Modus
0 gerade
1 Kombination
3 Rohkraft
6 Hybrid Wordlist + Mask
7 Hybrid Mask + Wordlist

-m wird verwendet, um den zu explodierenden hash anzugeben Die Hash-Funktion des Wertes, 0 bedeutet, dass die Hash-Funktion MD5 ist. Die anderen Werte sind in der folgenden Tabelle dargestellt:

N Name Kategorie
0 MD5 Raw Hash
300 MySQL4.1/MySQL5 Datenbankserver
1000 NTLM Betriebssysteme
1800 sha512crypt $6$, SHA512 (Unix) Betriebssysteme
2611 vBulletin < v3.8.5 Foren, CMS, E-Commerce, Frameworks

Diese Tabelle ist zu lang. Ich zeige hier nur einige der Hash-Funktionen an, die in diesem Artikel behandelt werden. Sie können sie alle mit dem Parameter – help sehen.

Parameter – remove bedeutet, dass, wenn ein Hash-Wert erfolgreich gesprengt wird, der Wert aus MD5.hash entfernt wird.

Der Parameter-o wird von einem Dateinamen gefolgt, der angibt, wo die Sprengergebnisse gespeichert werden.

Die letzten beiden Parameter MD5.hash und wordlist.dic sind der zu explodierende Hash-Wert bzw. das Passwortwörterbuch. Der Hash-Wert und das Passwortwörterbuch sind jeweils eine Zeile pro Zeile. Der Inhalt in MD5.hash wurde von Python berechnet. Wenn Sie kein geeignetes Passwortwörterbuch zur Hand haben, können Sie den Befehl verwenden:

     wget   -O   wordlist. dic   https://samsclass.info/123/proj10/500_passwords.txt

下载一个。现在完事具备,按下回车,结果华丽地报错:(

  clGetPlatformIDs(): CL_PLATFORM_NOT_FOUND_KHR

Es fehlt wahrscheinlich eine Betriebsumgebung, also installieren Sie sie. Insgesamt habe ich diese Sachen installiert:

     sudo   apt-get   install   gcc   make   p7zip-full   git   lsb-core 
    wget   http://registrationcenter-download.intel.com/akdlm/irc_nas/9019/opencl_runtime_16.1.1_x64_ubuntu_6.4.0.25.tgz 
    tar   -xvf   opencl_runtime_16.1.1_x64_ubuntu_6.4.0.25.tgz 
    cd   opencl_runtime_16.1.1_x64_ubuntu_6.4.0.25 
    sudo  . /install.sh 

Wenn die Netzwerkgeschwindigkeit gut ist, wird sie in kurzer Zeit installiert. Der erste Befehl meldet einen Fehler:

     /sbin/ldconfig.real:   /usr/lib/nvidia-375/libEGL.so.1   ist   nicht   ein   symbolischer   link 
    /sbin/ldconfig.real:   /usr/lib32/nvidia-375/libEGL.so.1   ist   nicht   ein   symbolischer   link 

Aber es scheint nichts zu beeinflussen, ignorieren Sie es einfach. Drücken Sie nach der Installation erneut auf Enter und führen Sie den ursprünglich fehlerberichteten Befehl aus. Sie stellten fest, dass der Fehler tatsächlich nicht erneut gemeldet wurde und die Ausführung im Handumdrehen abgeschlossen war. Nachdem der Befehl ausgeführt wurde, überprüfte ich den Inhalt der Dateien MD5.hash und MD5.out und stellte fest, dass in MD5.hash nur ein hash übrig war. Die drei erfolgreich explodierten Hashs wurden in die Datei MD5.out übertragen. MD5.out Es gibt drei Hash-Werte und ihre ursprünglichen Werte, wie in der folgenden Abbildung dargestellt:

2. Explosion des Windows 7-Anmeldekennworts hash

Der Hash-Wert des Windows-Anmeldekennworts wird in der SAM-Datei gespeichert, SAM ist die Abkürzung von „security account manager ". Normalerweise befindet es sich in

     C: \Windows\system32\config\SAM 

Die SAM-Datei ist von Windows geschützt und kann nicht direkt gelesen werden. Sie benötigt Hilfe von Tools wie SAMInside. Finden Sie eine virtuelle Windows-7-Maschine, erstellen Sie einen neuen Administratorbenutzer namens hashcat, legen Sie ein Passwort fest, laden Sie SAMInside in Windows 7 herunter und extrahieren Sie es, führen Sie es mit Administratorberechtigungen aus und klicken Sie dann auf Datei- > Lokale Benutzer im Scheduler importieren, wie unten dargestellt:

Danach antwortet SAMInside möglicherweise „nicht ", aber es spielt keine Rolle. Warten Sie geduldig ein paar Sekunden und SAMInside hat die Erwartungen erfüllt und liest den gewünschten hash aus, wie in der folgenden Abbildung dargestellt:

Wählen Sie den Benutzer „hashcat" aus, dessen Passwort wir explodieren möchten, drücken Sie Ctrl +5, um NT-hash zu kopieren, und kehren Sie dann zu Ubuntu zurück, in dem hashcat installiert ist. Verwenden Sie den folgenden Befehl, um den kopierten Hash-Wert in der Datei win7.hash zu speichern:

     echo   356CEAE0C89FB65ED6D6AA7A445C4CE5   >   win7.hash 

 
    356ceae0c89fb65ed6d6aa7a445c4ce5: rush2112 

So erhalten Sie die SAM-Datei unter „So exportieren Sie die Windows-Hash-Serie 1 ". Das Folgende dokumentiert meinen Vorgang beim Lesen der SAM-Datei in der virtuellen Maschine Windows 7.

Wenn es sich um eine physische Maschine handelt, verwenden Sie Win PE, um die Maschine zu starten und die SAM-Datei auf der Festplatte zu lesen. Meine ist eine virtuelle Maschine, und ich kann die Dateien auf der virtuellen Festplatte lesen, indem ich die Dateien auf der virtuellen Festplatte auf das Dateisystem montiere. Die virtuelle Maschine, die ich verwende, ist VirtualBox, die mit dem Befehl vdfuse erledigt werden kann. Wenn Sie vdfuse nicht haben, müssen Sie zuerst virtualbox-fuse installieren:

     sudo   apt-get   install   virtualbox-fuse 

Sie können das Installationspaket von virtualbox-fuse auch herunterladen und es selbst installieren.

Nachdem die Installation abgeschlossen ist, gibt es den Befehl vdfuse, der die virtuelle Festplattenzuordnung und-montage starten kann:

     mkdir   -p   ~ /vmdisk 
    sudo   vdfuse   -t   vmdk   -f   Win7Pro32.vmdk   ~ /vmdisk/ 

Nachdem Sie diesen Schritt ausgeführt haben, überprüfen Sie das ~ /vmdisk-Verzeichnis, das drei Dateien enthält: EntireDisk, Partition1 und Partition2, neues Verzeichnis:

     mkdir   -p   ~ /vmdisk_en 
    mkdir   -p   ~ /vmdisk_1 
    mkdir   -p   ~ /vmdisk_2 

Verwenden Sie den Befehl mount, um die drei Dateien EntireDisk, Partition1 bzw. Partition2 zu montieren:

     sudo   mount   ~ /vmdisk/EntireDisk       ~ /vmdisk_en 
    sudo   mount   ~ /vmdisk/Partition1       ~ /vmdisk_1 
    sudo   mount   ~ /vmdisk/Partition2       ~ /vmdisk_2 

Es wurde festgestellt, dass die EntireDisk-Mounting fehlgeschlagen ist. Der Inhalt in Partition1 ist nicht das, was ich wollte. Partition2 ist die Datei in der virtuellen Windows 7-Maschine, genau das, was ich wollte. Kopieren Sie unsere Zieldatei SAM aus vmdisk_fs:

     cp   ~ /vmdisk_2/Windows/System32/config/SAM  . / 

Kopieren Sie übrigens auch die Systemdatei:

     cp   ~ /vmdisk_2/Windows/System32/config/SYSTEM  . / 

Wenn Sie den Inhalt der SAM-Datei ansehen, wie in der Abbildung unten dargestellt, stellt sich heraus, dass es sich nicht um eine einfache Textdatei handelt, sondern im Windows-Stil.

Nun, obwohl die SAM-Datei erfolgreich geöffnet wurde, haben wir den hash immer noch nicht erhalten. Was soll ich tun, wenn ich ihn als nächstes ändern? Der Inhalt der SAM-Datei kann nur mit Hilfe von Tools analysiert werden. Legen Sie die SAM-Datei und die Systemdatei in Kali und führen Sie den Befehl aus:

     samdump2   -o   sam.hash   SYSTEM   sam 

Überprüfen Sie dann sam.hash, und Sie können auch den Hash-Wert des Login-Passworts jedes Benutzers sehen. Jede Zeile in der sam.hash-Datei ist ein Benutzer. Das Format jeder Zeile lautet:

     Benutzername: RID:lm-hash-wert: NTLM-hash-wert 

Beachten Sie, dass dieses Format das Ausgabeformat des Befehls samdump2 ist und nicht das „Hash-Passwortformat unter Windows ".

3. hash des Linux-Anmeldekennworts explodieren

Zunächst müssen Sie einen Computer haben, auf dem das Linux-System ausgeführt wird. Das ist leicht zu sagen, nur eine virtuelle Maschine reicht aus. Führen Sie dann den folgenden Befehl aus, um einen neuen Benutzer hinzuzufügen und ein Passwort festzulegen, damit wir es explodieren können:

     sudo   adduser   justforfun 

Der Hash-Wert des Benutzer-Anmeldekennworts in linux wird in der Datei/etc/shadow gespeichert (Hinweis: nicht/etc/passwd). Verwenden Sie den folgenden Befehl, um den hash anzuzeigen Wert des Anmeldekennworts des neuen Benutzers:

 test@test-VirtualBox: ~ $   sudo   tail   -n   1   /etc/shadow 
justforfun:$6$0fokwg59$6hpMS5dM9wDT/42DDoSD0i0g/wHab50Xs9iEvVLC3V20yf1kRmXZHGXCM0Efv6XU69hdgMZ4FwaMzso4hQaGQ0:17373:0:99999:7::: 

Der Befehl tail wird verwendet, um die letzten Zeilen einer Datei zu lesen, die standardmäßig 10 Zeilen sind, wobei die Anzahl der Zeilen mit dem Parameter-n angegeben wird. Der Benutzer, den wir gerade erstellt haben, befindet sich natürlich in der letzten Zeile, daher wird er mit tail-n 1 gelesen. Das Ergebnis des Lesens sind die durch „: "geteilten Daten. Der erste Teil ist der Benutzername „justforfun", der zweite Teil ist der Hash-Wert des Passworts, und die anderen Teile müssen in diesem Artikel nicht beachtet werden. Wir konzentrieren uns auf den zweiten Teil.

„$6$ "am Anfang bezieht sich auf den Typ der verwendeten Hash-Funktion als SHA512. Mit Ausnahme von „$6$" bezieht sich in linux „$1$ "auf MD5, „$2a$" bezieht sich auf Blowfish, „$2y$ "bezieht sich auf Blowfish (korrekte Handhabung von 8-Bit-Charakteren), „$5$" Bezieht sich auf SHA256, Einzelheiten siehe Wikipedia: passwd. Darüber hinaus beschreibt die Datei/etc/login.defs auch den Hash-Algorithmus.

Der Teil "0fokwg59", der von "$6$" beginnt und vor dem nächsten "$" liegt, ist Salz. Was ist Salz? Baidu weiß, dass die Antwort von CNB2009 auf die Frage „ Was ist der MD5-Salzwert "einfach und leicht verständlich ist:

Einfach ausgedrückt ist es eine Möglichkeit, dasselbe Passwort unterschiedliche Hash-Werte zu verleihen. Das Mittel ist die Versalzung. MD5 selbst ist irreversibel, aber es gibt derzeit viele Datenbanken im Internet, die Anti-Query unterstützen. Wenn die Benutzerpasswortdatenbank versehentlich durchgesickert wird, können Hacker das Benutzerpasswort durch Anti-Query erhalten oder Hash-Codes (d. h. Viele Leute verwenden es), um Brutal-Force-Cracking durchzuführen (da es sich normalerweise um ein schwaches Passwort handelt). Der Salzwert ist ein zusätzlicher Zufallswert, der während des Passwort-Hash-Prozesses hinzugefügt wird. Meine id lautet beispielsweise 123456 und mein Passwort lautet 123456. Wenn es in der Datenbank gespeichert ist, kann ich die Zeichenfolge „123456/Epilepsy "hashen. Bei der Überprüfung des Passworts wird auch die Zeichenfolge „ (zu überprüfendes Passwort) /Epilepsy ω inverted ④" zur Überprüfung verwendet. Auf diese Weise, wenn ein anderes Idiotpasswort 123456 ist, können immer noch unterschiedliche Hash-Werte erstellt und erfolgreich überprüft werden. Zu diesem Zeitpunkt wird meine id als Salzwert verwendet, um ein komplexes hash für das Passwort durchzuführen. Also.. Die Rolle des Salzwerts besteht darin, Verluste durch Datenbanklecks zu reduzieren. Wenn Ihr RP sehr gut ist und Sie mein Passwort 123456 erraten, kann ich Sie nicht aufhalten

Diese Antwort richtet sich an MD5, und das Gleiche gilt für andere Hash-Funktionen. Der Teil nach dem Salz ist der Hash-Wert. Kopieren Sie nun den gesamten zweiten Teil in die Datei linux.hash, der Inhalt in linux.hash sollte lauten:

   $6$0fokwg59$6hpMS5dM9wDT/42DDoSD0i0g/wHab50Xs9iEvVLC3V20yf1kRmXZHGXCM0Efv6XU69hdgMZ4FwaMzso4hQaGQ0 

Dann sprengen Sie das Linux-Login-Passwort hash mit dem folgenden Befehl:

     hashcat   -w   3   -a   0   -m   1800   - -remove   -o   linux.out   linux.hash   wordlist.dic 

Kurz später ist die Sprengung abgeschlossen, Ergebnis ansehen:

 werner@Yasser: ~ /hashcat$   cat   linux.out 
$6$0fokwg59$6hpMS5dM9wDT/42DDoSD0i0g/wHab50Xs9iEvVLC3V20yf1kRmXZHGXCM0Efv6XU69hdgMZ4FwaMzso4hQaGQ0:4321 

Es zeigt sich, dass die Sprengung erfolgreich war.

4. hash des MySQL-Anmeldekennworts explodieren

Zunächst muss Mysql vorhanden sein. Ich habe es zufällig in meiner virtuellen Maschine. Baidu weiß, dass der Hash-Wert des MySQL-Anmeldekennworts in der Datei user.MYD gespeichert ist. Wo ist die Datei user.MYD? Ich weiß es auch nicht, also suche ich einfach nach:

     test@test-VirtualBox: ~ $   sudo   find   /   -name   user.MYD 
    /var/lib/mysql/mysql/user.MYD 

Ich habe es unter/var/lib/mysql/mysql/user.MYD gefunden. Sehen Sie sich den Inhalt der Datei an:

     sudo   cat   /var/lib/mysql/mysql/user.MYD 

Es ist keine einfache Textdatei, es spielt keine Rolle. Es ist immer noch ersichtlich, dass der Hash-Wert des Benutzerroot-Anmeldekennworts ist:

     6B825255FB466413D6B1B724644E23428C94BBCB 

Speichern Sie diesen Wert in der Datei mysql.hash und verwenden Sie den folgenden Befehl, um das MySQL-Anmeldekennwort zu explodieren hash:

     hashcat   -w   3   -a   0   -m   300   - -entfernen   -o   mysql.out   mysql.hash   wordlist.dic 

Nach einer Weile ist die Sprengung abgeschlossen, sehen Sie sich das Ergebnis an:

     werner@Yasser: ~ /hashcat$   cat   mysql.out 
    6b825255fb466413d6b1b724644e23428c94bbcb: viper 

Es ist ersichtlich, dass die Sprengung erfolgreich war.

5. Explodieren Sie Discuz! Forum Passwort

Discuz! Es ist ein bekanntes PHP-Forumprogramm in meinem Land und wird weit verbreitet. Lassen Sie uns jetzt Discuz explodieren! Hash-Wert für das Benutzerpasswort. Zuerst muss man den Hash-Wert finden. Wo kann man ihn finden? Von Discuz natürlich! in der Datenbank.

Kann Discuz sein! Wo ist die Datenbank? So habe ich es gelöst: Laden Sie die neueste Version von Discuz von der offiziellen Website herunter! Quellcode, führen Sie es aus und installieren Sie es und Sie erhalten Discuz! Datenbank von :smile:

Discuz! Der Standarddatenbankname lautet ultrax. Die Tabelle pre_ucenter_members speichert den Hash-Wert des Anmeldekennworts. „pre_ "ist das Standardpräfix, das während der Installation geändert werden kann. „ucenter_members" wird sich nicht ändern. Verwenden Sie die folgende SQL-Anweisung, um den Hash-Wert des Anmeldekennworts abzufragen:

     select   password,salt   from   pre_ucenter_members; 

Hash-und Salzwerte in der Datei speichern:

     echo   69bcba126b93c6f397983629a0f70553: c13fd9   >   discuz.hash 

Hash-und Salzwerte in derselben Zeile, geteilt durch ":". Verwenden Sie schließlich den folgenden Befehl, um das Discuz-Anmeldekennwort-Hash zu explodieren:

     hashcat   -w   3   -a   0   -m   2611   - -remove   -o   discuz.out   discuz.hash   wordlist.dic 

Augenblick später ist die Sprengung abgeschlossen, Ergebnis ansehen:

     werner@Yasser: ~ /hashcat$   cat   discuz.out 
    69bcba126b93c6f397983629a0f70553: c13fd9:winter 

Es ist ersichtlich, dass die Sprengung erfolgreich war.

6. Großer Wörterbuchtest

Bisher verwenden wir ein kleines Wörterbuch mit nur 500 Wörtern. Es dauert jedes Mal nur einen Moment, um alle Arten von hash erfolgreich zu explodieren. Finden Sie es nicht seltsam?? Dies liegt daran, dass ich absichtlich ein schwaches Passwort im Wörterbuch festgelegt habe, um die Verwendung von hashcat zu üben, sonst wäre es nicht schlecht, wenn es nicht aufgedeckt werden könnte. In der Praxis ist es unmöglich, so viel Glück zu haben. Lassen Sie uns zufällig den MD5-Wert eines nicht so schwachen Passworts berechnen und mit einem großen Wörterbuch explodieren, um einerseits Ihr Glück zu versuchen und andererseits zu sehen, wie schnell hashcat sein kann.

Berechnen Sie zuerst den MD5-Wert:

     import   hashlib 
    MD5   =   hashlib.MD5 () 
    MD5.update (" werner123456!!! ") 
    print   MD5.hexdigest () 

Die Ausgabe lautet:

     b17133f9abff287ed0546c1af2b171f7 

Wählen Sie dann ein 10,5G-Wörterbuch mit 940 Millionen Passwörtern aus und beginnen Sie zu explodieren:

     hashcat   -w   3   -A   0   -m   0   - -Entfernen   -o   big.out   b17133f9abff287ed0546c1af2b171f7   big.dic 

Beachten Sie, dass es bei nur einem Hash-Wert möglich ist, ihn direkt in die Befehlszeilenparameter zu schreiben, anstatt ihn in einer Datei zu speichern. Ich begann zu sprengen, bevor ich ins Bett ging, wachte am nächsten Tag auf, um mir die Ergebnisse anzusehen, und fand:

     Begonnen:   Mi   Jul   26   22:55:27   2017 
    Stopped:   Mi   Jul   26   23:02:28   2017 

Es stellte sich heraus, dass es nur 7 Minuten gedauert hat! Ich dachte, es würde 7 Stunden dauern, was 60-mal schneller war als ich erwartet hatte! Es ist ein wenig schade, dass der Hash-Wert nicht erfolgreich ausgesprengt wurde. Es scheint, dass "werner123456!!!" nicht im Passwortwörterbuch enthalten ist. Es scheint, dass ich ein 100-G-Passwortwörterbuch vorbereiten muss, aber es ist sehr unbequem, ein so großes Wörterbuch zu speichern und zu übertragen. Gibt es keinen anderen Weg? Natürlich, erinnern Sie sich an den Angriffsmodus? Wir haben den „Geraden "-Modus verwendet, werfen wir als nächstes einen Blick auf einige andere Modi.

7. Zusammenfassung

Wenn Sie hashcat verwenden, um hash zu explodieren, müssen Sie zunächst den richtigen hash finden. Verschiedene Systeme und unterschiedliche Software haben unterschiedliche Hash-Speicherorte. Sie müssen den hash genau finden Wert kommt; Die zweite besteht darin, den Hash-Typ richtig zu beurteilen, festzustellen, ob hashcat diese Art von hash unterstützt, und die richtigen-m-Parameter auszuwählen, sonst ist es fast unmöglich, erfolgreich zu sein; Die dritte ist, dass das Passwortwörterbuch besser ist. Ob es am Ende erfolgreich explodiert werden kann, hängt vom Wörterbuch ab. Obwohl ein größeres Passwortwörterbuch nicht besser ist, ist es immer noch besser, größer zu sein. hashcat ist auch für seine Geschwindigkeit bekannt. Große Wörterbücher sind für hashcat kein Problem. Hier ist ein besseres Wörterbuch aufgezeichnet: Sammlung früherer Lecktore + häufig verwendete schwache Passwortwörterbücher. 7Z , das Dekomprimierungskennwort lautet: anywlan. Wenn Sie außerdem viele kleine Wörterbücher gesammelt haben, können Sie die kleinen Wörterbücher zusammenführen, sortieren und entduplizieren, um ein großes Wörterbuch zu erhalten, das für die Hashcat-Sprengung verwendet werden kann. Wenn sich die kleinen Wörterbücher im selben Verzeichnis befinden, können Sie mit einem Befehl erledigen:

         cat   *   |   sort   |   uniq   >   Merge.dic 

Was ist, wenn die kleinen Wörterbücher nach Kategorien organisiert und in mehrschichtigen Verzeichnissen verteilt werden? Es ist offensichtlich nicht möglich, nur den Cat-Befehl zu verwenden, aber tatsächlich ist nur ein Befehl erforderlich. Unter der Annahme, dass alle kleinen Wörterbücher im Verzeichnis MyDictionary gespeichert sind, kann der Befehl wie folgt geschrieben werden:

         finden  . /MyDictionary   -type   f   -exec   cat   {}   \;   |   sortieren   |   uniq   >   Merge.dic 

Vorheriger Artikel:Welche Arten von verschlüsselten Dateien kann Document Password Recovery Master lösen? Die folgenden Formatdateien unterstützen Cracking
Nächster Artikel:Mehrere Angriffsmodi von hashcat hashcat
  • Konzentrieren Sie sich auf Word, Excel, PPT, PDF, RAR, ZIP, 7Z, komprimierte Pakete, Entsperren und Entschlüsseln verschlüsselter Office-Dateien
  • Wir bieten Benutzern hochwertige Datei-Komprimierungspaket-Passwort-Wiederherstellung, PDF-Entsperrung, Word-Passwort-Wiederherstellung
  • Urheberrecht © Dokument Passwort Wiederherstellung Master Online Entschlüsselung Plattform