Wie man Hashcat-Software verwendet, um verschiedene Hashes zu sprengen

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 feste Länge Binärdaten, 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 machbar, 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 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 bekommen, gibt es wirklich keine Möglichkeit, das Passwort selbst zu erfahren? Natürlich nicht. Obwohl es mathematisch gesehen nicht machbar 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 die einzigen, die Sie einzeln ausprobieren können, wenn Sie Glück haben. 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 es sehr einfach ist, hash zu explodieren. 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 Arten von Hash-Funktionen. Verwenden Sie den Befehl:

 hashcat   - -help 

Sie können die 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 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 

Speichert 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   - -remove   -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 Low 2 ms Low Minimal
2 Default 12 ms Economic Noticeable
3 hoch 96 ms hoch Unresponsive
4 Albtraum 480 ms wahnsinnig 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 Brute-force
6 Hybrid Wordlist + Mask
7 Hybrid Mask + Wordlist

-m wird verwendet, um den zu explodierenden hash anzugeben Die Hash-Funktion des Werts, 0 bedeutet, dass die Hash-Funktion md5 ist, die anderen Werte sind in der folgenden Tabelle aufgeführt:

N Name Category
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 in diesem Artikel erwähnten Hash-Funktionen an. Sie können sie alle mit dem Parameter – help sehen.

Parameter – remove bedeutet, dass wenn ein bestimmter Hash-Wert erfolgreich explodiert wird, wird der Wert aus md5.hash entfernt.

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 Internetgeschwindigkeit 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 Hashes wurden in die Datei md5.out übertragen. In md5.out sind 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 und legen Sie ein Passwort fest. Laden Sie SAMInside in Windows 7 herunter und extrahieren Sie ihn, führen Sie ihn mit Administratorrechten aus und klicken Sie dann auf Datei- > Importieren Sie lokale Benutzer über den Scheduler, wie unten gezeigt:

Danach antwortet SAMInside möglicherweise „nicht ", aber es spielt keine Rolle. Warten Sie geduldig ein paar Sekunden und SAMInside liest den gewünschten hash wie unten gezeigt:

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   {> 
     hashcat   -w   3   -a   0   -m   1000   - -remove   -o   win7.out   win7.hash   wordlist.dic 

Nach einer Weile wurde die Ausführung abgeschlossen. Ich überprüfte die win7.out-Datei und stellte fest, dass die Explosion erfolgreich war. Das Anmeldekennwort des Benutzers hashcat lautet rush2112:

     werner@Yasser: ~ /hashcat$   cat   win7.out 
    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, starten Sie die Maschine mit Win PE und lesen Sie die SAM-Datei auf der Festplatte. 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 auch das Installationspaket von virtualbox-fuse herunterladen und es selbst installieren.

Nachdem die Installation abgeschlossen ist, gibt es den Befehl vdfuse, der das Zuordnen und Mounten der virtuellen Festplatte starten kann:

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

Nachdem Sie diesen Schritt durchgefü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 gesamte Disk-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 Ziel-SAM-Datei aus vmdisk_fs:

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

Kopieren Sie übrigens auch die Systemdatei:

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

Sehen Sie sich den Inhalt der SAM-Datei an, wie in der Abbildung unten gezeigt, es ist keine einfache Textdatei, es ist tatsächlich der Stil von Windows,

Nun, obwohl wir die SAM-Datei erfolgreich geöffnet haben, erhalten wir immer noch keinen hash. Was soll ich tun, wenn ich sie 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 ein und führen Sie den Befehl aus:

     samdump2   -o   sam.hash   SYSTEM   sam 

Sehen Sie dann sam.hash an, und Sie können auch den Hash-Wert des Anmeldekennworts jedes Benutzers sehen. Jede Zeile in der sam.hash-Datei ist ein Benutzer, und das Format jeder Zeile lautet:

     Benutzername: RID: LM-hash value: NTLM-hash value 

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 läuft. 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$ "beginnend mit

bezieht sich auf den Typ der verwendeten Hash-Funktion als SHA-512. Zusätzlich zu „$6$" bezieht sich in linux „$1$ "auf MD5, „$2a$" auf Blowfish und „$2y$ "auf Blowfish (korrekte Handhabung von 8-Bit-Charakteren), „$5$" Bezieht sich auf SHA-256, 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 "$" 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 mein Passwort 123456 richtig erraten hat, 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 explodieren 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 

Nach einem Moment ist die Sprengung abgeschlossen, sehen Sie sich das Ergebnis an:

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

Es ist ersichtlich, dass die Sprengung erfolgreich war.

4. hash des MySQL-Anmeldekennworts explodieren

Zuerst 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 

gefunden. Es befindet sich in/var/lib/mysql/mysql/user.MYD. Sehen Sie sich den Inhalt der Datei an:

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

Es ist keine einfache Textdatei und hat wenig damit zu tun. 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 den hash des MySQL-Anmeldekennworts zu explodieren:

     hashcat   -w { 

Nach einem Moment 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. Explosion 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! 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 :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   Passwort,salt   from   pre_ucenter_members; 

Hash-und Salzwerte in der Datei speichern:

     echo   69bcba126b93c6f397983629a0f70553:c13fd9   >   discuz.hash 

Der Hash-Wert und der Salzwert sind 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 

Nach einem Moment ist die Sprengung abgeschlossen, anzeigen Sie das Ergebnis:

     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?? Das 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 sprengen, 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   - -remove   -o   big.out   b17133f9abff287ed0546c1af2b171f7   big.dic 

Beachten Sie, dass Sie, wenn es nur einen Hash-Wert gibt, nicht in der Datei speichern müssen, sondern direkt in die Befehlszeilenparameter schreiben können. Ich begann zu sprengen, bevor ich ins Bett ging, wachte am nächsten Tag auf, um die Ergebnisse zu sehen, und fand:

     Begonnen:   Mi   Jul   26   22:55:27   2017 
    Stoppt:   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 den richtigen hash finden. Verschiedene Systeme und unterschiedliche Software haben unterschiedliche Hash-Speicherorte, und Sie müssen den hash genau finden Wert kommen; 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 die Explosion am Ende erfolgreich sein 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 Leckagetore + 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:

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

Vorheriger Artikel:Welche Arten von verschlüsselten Dateien kann der Master-Dokument - Passwort-Wiederherstellung lösen? Im Folgenden sind die Formate, die das Cracking unterstützen.
Nächster Artikel:Mehrere Angriffsmodelle von 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 © Dokumentpasswort-Wiederherstellungsmaster Online-Entschlüsselungsplattform