Mehrere Angriffsmodelle von Hashcat

hashcat hat mehrere Angriffsmodi. Verwenden Sie den Parameter – help, um die vollständige Hilfe anzuzeigen. Sie können die Tabelle „Angriffsmodi "wie folgt sehen:

# Mode
0 gerade
1 kombination
3 Brute-force
6 Hybrid Wordlist + Mask
7 Hybrid Mask + Wordlist

1.Straight

Dieser Angriffsmodus wird auch als „Wörterbuchangriff" bekannt. Es gibt nichts zu sagen, nur dass hashcat bei einem Wörterbuch den Inhalt im Wörterbuch Zeile für Zeile liest, den Hash-Wert jeder Zeile berechnet und ihn mit dem Ziel-Hash-Wert vergleicht.

Beispiel:

     hashcat   -a   0   -m   400   example400.hash   example.dict 

2. Kombination

Baidu sagte mir, dass Kombination ein Substantiv ist, was bedeutet: „Kombination; Konsortium; Passwortkombination; Jumpsuit und Unterwäsche ". Dieser Angriffsmodus ist eigentlich sehr einfach, besteht darin, den Inhalt zweier Passwortwörterbücher zu kombinieren. Die Verwendung dieses Angriffsmodus erfordert die Angabe von zwei Passwörterbüchern nicht mehr oder weniger. Angenommen, wir haben zwei Passwörterbücher dict1.txt und dict2.txt, deren Inhalte lauten:

     Jagd 
    kitty 
    Regenbogen 

und

     paris 
    rock 

dann der Befehl:

     hashcat   -m   0   -a   1   hash.txt   dict1.txt   dict2.txt 

Das Wörterbuch, das tatsächlich versucht wurde, war:

     huntingparis 
    huntingrock 
    kittyparis 
    kittyrock 
    Regenbogenparis 
    rainbowrock 

Die Wörter in dict1.txt sind links und die Wörter in dict2.txt sind rechts, insgesamt 3×2=6.

Die mit diesem Muster verbundenen Parameter sind:

     -j,   - -rule-left 
    -k,   - -rule-right 

-Die Regel nach j wirkt auf die linke Seite, die Regel nach-k wirkt auf die rechte Seite, z. B. Hinzufügen des Parameters-j' $-', dann lautet das tatsächlich versuchte Wörterbuch:

     hunting-paris 
    Jagdfelsen 
    kitty-paris 
    kitty-rock 
    rain-bowparis 
    rain-bowrock 

Parameter-j '^!' hinzufügen, Dann lautet das tatsächlich versuchte Wörterbuch:

    ! jagdparis 
  ! Jagdfelsen 
  ! kittyparis 
  ! kittyrock 
  ! Regenbogenparis 
  ! rainbowrock 

Fügen Sie den Parameter-k '^ >' hinzu, dann lautet das tatsächlich versuchte Wörterbuch:

     hunting > paris 
    Jagd > Felsen 
    kitty > paris 
    kitty > rock 
    Regen > bowparis 
    Regen > bowrock 

Was ist diese Regel? Die Verwendung von „$ "und „^" ähnelt der regulären Ausdrücke, sind sie also regulär? Tatsächlich ist das nicht der Fall. Die Regeln von hashcat werden von selbst implementiert. Das ist ein weiterer großer Inhalt. Einzelheiten finden Sie unter Regelbasierter Angriff

3. Brute-force

Versuchen Sie verschiedene Kombinationen eines gegebenen Zeichensatzes. Laut dem offiziellen Hashcat-Wiki ist diese Methode veraltet und vollständig durch Maskenangriff ersetzt, daher wird keine Recherche durchgeführt,

4. Maskenangriff

Dies ist eine relativ neuartige Angriffsmethode. Beispiel lautet wie folgt:

     hashcat   -a   3   -m   0   md5.hash  ? Ich? Ich? Ich? Ich? l 

Obwohl-a 3 gemäß der Tabelle „Angriffsmodi "Brute-force entspricht, verwendet-a 3 tatsächlich Maskenangriff. Maskenangriff kann als fortgeschrittene Brute-force betrachtet werden. Der Parameter

-m wird verwendet, um den Hash-Funktionstyp anzugeben, und der MD5-Wert wird in der md5.hash-Datei gespeichert. Der Schlüssel ist die letzte Zeichenfolge „? l? l? l? l? l ". Eine solche Zeichenfolge wird Maske genannt.

Eine Maske ist eine Zeichenfolge, die aus mehreren Platzhaltern besteht. "? l" ist ein Platzhalter, wobei "?" ein Schlüsselwort ist, das zur Änderung des folgenden "l" verwendet wird. "? l" stellt zusammen einen Zeichensatz dar. Zusätzlich zu "? l" kann es auch geben "? u", "? d", "? h", "? h", "? s", "? a" und "? b" repräsentieren die Zeichensätze, wie in der folgenden Tabelle dargestellt.

0 – 0xff
? Charset
l ABCDEFGHIJKLMNOPQRSTUVWXYZ
u ABCDEFGHIJKLMNOPQRSTUVWXYZ
d 0123456789
h 0123456789abcdef
h 0123456789abcdef
s ! "#$% & ' () * +, -. /:; < = >? @ [\] ^_` ~ {|}
a ? Ich? Du? d? s
b

Auf diese Weise verstehen wir, dass „? l? l? l? l? l "eigentlich einem Passwortwörterbuch entspricht:

 aaaaa 
aaaab 
... 
zzzzz 

Auf die gleiche Weise entspricht „? l? u? d "einem Passwortwörterbuch:

     aA0 
    aA1 
  ... 
    bA0 
  ... 
    zZ9 

Die Zeichensammlung in der obigen Tabelle ist in hashcat eingebaut, wir können die Zeichensammlung auch selbst angeben:

     - -custom-charset1= Zeichensammlung 1 
    - -custom-charset2= Zeichensatz 2 
    - -custom-charset3= Zeichensatz 3 
    - -custom-charset4= Zeichensatz 4 

Parameter – custom-charsetN kann mit-n abgekürzt werden, z. B. – custom-charset1 kann mit-1 abgekürzt werden. Die mit-n angegebene Zeichenmenge wird in der Maske als Platzhalter „? N "angegeben, z. B.:

     -1   abc123  ? 1? 1? 1 

entspricht einem Passwortwörterbuch:

     aaa 
    aab 
  ... 
    aa3 
  ... 
    333 

-N Neben der Zeichenfolge, die die Zeichensammlung darstellt, kann es sich auch um eine Datei handeln, die mit. hcchr endet, und die Zeichensammlung ist in der Datei gespeichert. hashcat wird mit vielen. hcchr-Dateien im charsets/ -Verzeichnis des Installationspakets geliefert.

Die Zeichensammlung, die durch den Platzhalter "??" dargestellt wird, ist "?" selbst. Wenn die restlichen Zeichen als Platzhalter verwendet werden, stellen sie außerdem die Zeichen selbst dar. Beispielsweise entspricht „? lwerner? d "einem Passwortwörterbuch:

     awerner0 
    awerner1 
  ... 
    zwerner9 

Mit dem obigen Wissen ist es leicht, Masken zu verstehen. Eine Maske besteht aus mehreren Platzhaltern, jeder Platzhalter ist ein Zeichensatz, und eine Maske ist eine Kombination einzelner Platzhalter-Zeichensätze. Die Anzahl der Platzhalter ist gleich der Länge des Passworts. Welche Vorteile hat ein solches Design gegenüber der einfachen Angabe eines Zeichensatzes und einer Passwortlänge?

Angenommen, wir kennen das Passwort einer Person mit insgesamt 7 Ziffern. Die erste Ziffer ist ein Großbuchstaben, die nächsten 3 Ziffern sind Kleinbuchstaben und die letzten 3 Ziffern sind Zahlen. Wenn es sich um einen herkömmlichen Brutal-Force-Crack handelt, sind die Zeichensätze A-Z, A-Z und 0-9 erforderlich, insgesamt 62 Zeichen, und es müssen bis zu 62^7=3 521 614 606 208 Mal versucht werden, was eine Billionenebene ist. Die Verwendung von Maske zur Beschreibung dieses Passworts lautet „\ u\l\l\l\d\d\d ", das leicht zu berechnen ist. Es gibt insgesamt (26^4) × (10^3) =456 976.000 Möglichkeiten, was Milliarden beträgt Ebene, 4 Größenordnungen weniger als die vorherige Methode.

Um einen Schritt zurück zu machen: Selbst wenn wir die Verteilung von Passwörtern nicht kennen, ist es mit der Verwendung von Masken leicht, die Wirkung des traditionellen Brutal-Force-Cracking zu simulieren.

Die Frage ist jetzt, ob die Maske fest ist, wie viele Platzhalter darin totgeschrieben sind und was tun, wenn wir die Länge des Passworts nicht kennen. Es ist in Ordnung, dass das Passwort zu lang ist. Wenn das Passwort einer Person nur 3 Ziffern hat und wir 4 Platzhalter haben und es nicht gelöst werden kann, wäre das nicht ein großer Verlust? Sollten wir mit 1 beginnen und alle Masken jeder Länge schreiben? Das ist so mühsam.

Es gibt zwei Lösungen. Eine besteht darin, die Maskendatei zu verwenden, mehrere Masken in eine Datei zu schreiben und diese Datei dann in der Befehlszeile anzugeben. Beachten Sie, dass die MASK-Datei mit. hcmask enden muss.

Beispielsweise lautet der Inhalt von test.hcmask:

    ? l 
  ? Ich? l 
  ? Ich? Ich? l 
  ? Ich? Ich? Ich? l 

Dann verwenden Sie die Datei mit dem folgenden Befehl:

     hashcat   -m   0   -a   3   - -show   md5.hash   test.hcmask 

Eine andere Lösung besteht darin, den Parameter – increment hinzuzufügen, der hashcat sagt, die von uns angegebene Maske zu folgen, mit einem Platzhalter zu versuchen und zwei, drei, bis wir die angegebene Länge versuchen. Zum Beispiel schreiben wir den Platzhalter „abc "für dieses und berechnen dann den MD5-Wert der folgenden Zeichenfolge:

     A:0cc175b9c0f1b6a831c399e269772661 
    b:92eb5ffee6ae2fec3ad71c777531578f 
    c:4a8a08f09d37b73795649038408b5f33 
    ab:187ef4436122d1cc2f40dc2b92f0eba0 
    ac:e2075474294983e013ee4dd2201c7a73 
    ba:07159c47ee1b19ae4fb9c40d480856c4 
    bc:5360af35bde9ebd8f01f492dc059593c 
    ca:5435c69ed3bcc5b2e4d580e393e373d3 
    cb:d0d7fdb6977b26929fb68c6083c0b439 
    abc:900150983cd24fb0d6963f7d28e17f72 
    abc:900150983cd24fb0d6963f7d28e17f72 
    bac:79ec16df80b57696a03bb364410061f3 
    bca:b64eab8ce39e013604e243089c687e4f 
    cba:3944b025c9ca7eec3154b44666ae04a0 
    cab:16ecfd64586ec6c1ab212762c2c38a90 

Vor ":" steht die ursprüngliche Zeichenfolge, für die der Hash-Wert berechnet werden soll, und nach ":" steht der berechnete HASN-Wert. Speichern Sie den obigen Inhalt in der Datei md5.hash und führen Sie dann den folgenden Befehl aus:

     hashcat   -m   0   -a   3   - -show   - -username   md5.hash   abc 

Parameter hinzufügen – username liegt daran, dass jedem unserer Hash-Werte eine ursprüngliche Zeichenfolge vorliegt. Wenn Sie diesen Parameter nicht hinzufügen, zeigt hashcat an, dass der richtige Hash-Wert nicht gefunden wurde. Wenn Sie diesen Parameter hinzufügen, denkt hashcat, dass die Zeichenfolge vor dem Hash-Wert der Benutzername für den Hash-Wert ist, sodass der Hash-Wert reibungslos geladen werden kann.

Das Ergebnis des Ausführens ist, dass nur ein hash gelöst wurde:

     900150983cd24fb0d6963f7d28e17f72:abc 

Fügen Sie nun den Parameter – increment hinzu und laufen Sie erneut aus:

     hashcat   -m   0   -a   3   - -show   - -increment   - -username   md5.hash   abc 

Diesmal wurden zwei weitere Hashes gelöst:

     0cc175b9c0f1b6a831c399e269772661:a 
    187ef4436122d1cc2f40dc2b92f0eba0:ab 

Es ist ersichtlich, dass – Inkrement eine Rolle spielt. Aber gleichzeitig wissen wir auch, dass hashcat mit diesem Parameter nur a, ab und abc in der Reihenfolge ausprobiert und die Platzhalter nicht aus der Reihenfolge anordnet und kombiniert und verschiedene Möglichkeiten ausprobiert.

5.Hybrid Attack

Hybrid Attack ist ähnlich dem Combinator Attack. Der Combinator Attack kombiniert zwei Wörterbücher, während der Hybrid Attack ein Wörterbuch und eine Maske kombiniert. Die beiden sind ähnlich.

Angenommen, wir haben bereits ein Wörterbuch example.dict, das wie folgt lautet:

     Hallo 
    werner 

dann Befehl:

     hashcat   -m   0   -a   6   md5.hash   example.dict  ? d? d 

ist gleichbedeutend mit der bloßen Verwendung eines Wörterbuchs:

     Hallo 
    Hallo01 
  ... 
    Hallo 99 
    werner00 
    werner01 
  ... 
    werener99 

dann der Befehl:

     hashcat   -m   0   -a   7   md5.hash  ? d?   dexample.dict 

Äquivalent zu einfacher Verwendung von Wörterbüchern:

     00Hallo 
    01Hallo 
  ... 
    99Hallo 
    00werner 
    01werner 
  ... 
    99werener 

Vorheriger Artikel:Wie man Hashcat-Software verwendet, um verschiedene Hashes zu sprengen
Nächster Artikel:Hashcat-Technologie - Teilen
  • 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