Flere angreb modes i hashcat.

hashcat har flere angrebstilstande Brug parameteren – hjælp til at se den fulde hjælp. Du kan se tabellen "Angrebstilstande" som følger:

# Mode
0 lige
1 kombination
3 Brute-force
6 Hybrid ordliste + maske
7 Hybrid maske + ordliste

1.Straight

Denne angrebstilstand er også kendt som" ordbogsangreb ". Der er ikke meget at sige, men givet en ordbog vil hashcat læse indholdet i ordbogen linje for linje, beregne hash-værdien for hver linje og sammenligne den med mål-hash-værdien.

Eksempel:

     hashcat   -a   0   -m   400   eksempel400.hash   eksempel.dict 

2.kombination

Baidu fortalte mig, at kombination er et navneord, der betyder: "kombination; konsortium; adgangskodekombination; jumpsuit og undertøj". Denne angrebstilstand er faktisk meget enkel, det vil sige at kombinere indholdet af to adgangskodeordbøger. Brug af denne angrebstilstand kræver ikke mere end to adgangskodeordbøger. Antag, at vi har to adgangskodeordbøger dict1.txt og dict2.txt, hvis indhold er:

     jagt 
    Kille 
    Regnbue 

og

     paris 
    rock 

Så kommandoen:

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

Den ordbog, der faktisk blev forsøgt, var:

     huntingparis 
    Jagtsten 
    kittyparis 
    kittyrock 
    Regnbueparis 
    rainbowrock 

Ordene i dict1.txt er til venstre og ordene i dict2.txt er til højre, i alt 3×2=6.

Parametrene relateret til dette mønster er:

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

-Reglen efter j virker på venstre side, og reglen efter-k virker på højre side, såsom tilføjelse af parameteren-j' $-', så er den faktiske ordbog, der prøves:

     hunting-paris 
    Jagt-klippe 
    kitty-paris 
    kitty-rock 
    Regn-BowParis 
    rain-bowrock 

Tilføj parameter-j '^!', Så er den faktiske ordbog, der prøves:

    ! JagtParis 
  ! Jagtsten 
  ! katteparis 
  ! kittyrock 
  ! RegnbueParis 
  ! rainbowrock 

Tilføj parameteren-k '^ >', så er den faktiske ordbog, der prøves:

     jagt > paris 
    Jagt > rock 
    kitty > paris 
    kitty > rock 
    Regn > bowparis 
    rain > bowrock 

Hvad er denne regel? Brugen af "$" og "^" ligner regulære udtryk, så er de regulære? Faktisk er det ikke tilfældet. Hashcats regler implementeres af sig selv. Dette er endnu en stor del af indholdet. For detaljer, se Rule-based Attack

3.Brute-force

. Prøv et givet tegnsæt Forskellige kombinationer. Ifølge Hashcats officielle wiki er denne metode forældet og fuldt ud erstattet af maskeangreb, så der vil ikke blive foretaget nogen forskning,

4. maskeangreb

Dette er en relativt ny angrebsmetode Eksempel er som følger:

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

Selvom-a 3 ifølge tabellen "Angrebstilstande" svarer til brutal kraft, bruger-a 3 faktisk maskeangreb. Maskeangreb kan betragtes som avanceret brutal kraft.

-m-parameteren bruges til at angive hash-funktionstypen, og md5-værdien er gemt i md5.hash-filen. Nøglen er den sidste streng "? l? l? l? l? l" En sådan streng kaldes en maske.

En maske er en streng, der består af flere pladsholdere. "? l" er en pladsholder, hvor "?" er et søgeord, der bruges til at ændre det efterfølgende "l". "? l" repræsenterer sammen et sæt tegn. Ud over "? l" kan det også være "? u", "? d", "? h", "? h", "? s", "? a" og "? b", repræsenterer sættet af tegn som vist i tabellen nedenfor.

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

På denne måde forstår vi, "? l? l? l? l? l" svarer faktisk til en kryptografisk ordbog:

 aaaaa 
aaaab 
... 
zzzzz 

På samme måde svarer "? l? u? d" til en kryptografisk ordbog:

     aA0 
    aA1 
  ... 
    bA0 
  ... 
    zZ9 

Tegnsættet i ovenstående tabel er indbygget i hashcat, vi kan også angive tegnsættet selv:

     - -custom-charset1= tegnsæt 1 
    - -custom-charset2= tegnsæt 2 
    - -custom-charset3= tegnsæt 3 
    - -custom-charset4= tegnsæt 4 

Parameter – custom-charsetN kan forkortes til-n, såsom – custom-charset1 kan forkortes til-1. Sættet af tegn angivet med-n er angivet som en pladsholder "? N" i masken, såsom:

     -1   abc123  ? 1? 1? 1 

svarer til en kryptografisk ordbog:

     aaa 
    aab 
  ... 
    aa3 
  ... 
    333 

-N Ud over strengen, der repræsenterer tegnsættet, kan det også være en fil, der slutter med. hcchr, og tegnsættet er gemt i filen. hashcat kommer med mange. hcchr-filer i charsets/ -mappen i installationspakken.

Samlingen af tegn repræsenteret af pladsholderen "??" er selve "?". Derudover, når de resterende tegn bruges som pladsholdere, repræsenterer de selve tegnene. For eksempel svarer "? lwerner? d" til en adgangskodeordbog:

     awerner0. 
    awerner1 
  ... 
    zwerner9 

Med ovenstående viden er det nemt at forstå masken. En maske består af flere pladsholdere, hver pladsholder er et sæt tegn, og en maske er en kombination af hvert sæt pladsholdertegn. Antallet af pladsholdere er lig med længden af adgangskoden. Hvad er fordelene ved et sådant design i forhold til blot at give et tegnsæt og adgangskodelængde?

Antag, at vi kender en persons adgangskode med i alt 7 cifre. Det første ciffer er store bogstaver, de næste 3 cifre er små bogstaver, og de sidste 3 cifre er tal. Hvis det er et traditionelt brute force crack, kræver det tegnsæt A-Z, A-Z og 0-9, i alt 62 tegn, og det kræver op til 62^7=3 521 614 606 208 forsøg, hvilket er billionniveau. At bruge maske til at beskrive denne adgangskode er "\u\l\l\l\d\d\d", som er let at beregne. Der er i alt (26^4) × (10^3) =456 976 000 muligheder, hvilket er 100 millioner niveau, 4 størrelsesordener mindre end den forrige metode.

For at tage et skridt tilbage, selvom vi ikke kender fordelingen af adgangskoder, er det nemt at simulere effekten af traditionel brute force cracking ved hjælp af en maske.

Spørgsmålet nu er, at masken er fast, hvor mange pladsholdere i den er dødskrevet, og hvad skal vi gøre, hvis vi ikke kender længden af adgangskoden? Det er okay, at adgangskoden er for lang Hvis en andens adgangskode kun har 3 cifre, og vi har 4 pladsholdere, og vi ikke kan løse den, ville det så ikke være et stort tab. Skal vi starte fra 1 og skrive alle masker af hver længde? Det er så besværligt.

Der er to løsninger Den ene er at bruge maskefilen, skrive flere masker i én fil og derefter angive filen på kommandolinjen. Bemærk, at maskefilen skal ende med. hcmask.

For eksempel er indholdet af test.hcmask:

    ? l 
  ? l? l 
  ? l? l? l 
  ? l? l? l? l 

Brug derefter følgende kommando til at bruge filen:

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

En anden løsning er at tilføje parameteren – increment, som fortæller hashcat, at i henhold til den maske, vi gav, starter fra en pladsholder Prøv, prøv to og tre igen, indtil vi giver længden. Hvis vi skriver denne pladsholder "abc", beregner vi derefter MD5-værdien af følgende streng:

     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 

Før ":" er den oprindelige streng, hvor hash-værdien skal beregnes, og efter ":" er den beregnede hasn-værdi. Gem ovenstående indhold i filen md5.hash, og kør derefter følgende kommando:

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

Tilføj parameter – brugernavn er fordi hver af vores hash-værdier er foran den originale streng Hvis du ikke tilføjer denne parameter, vil hashcat vise, at den korrekte hash-værdi ikke er fundet. Hvis du tilføjer denne parameter, vil hashcat tro, at strengen før hash-værdien er brugernavnet for hash-værdien, så hash-værdien kan indlæses problemfrit.

Resultatet af at køre er, at kun én hash er løst:

     900150983cd24fb0d6963f7d28e17f72:abc 

Tilføj nu parameteren – increment, kør igen:

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

Denne gang blev yderligere to hash løst:

     0cc175b9c0f1b6a831c399e269772661:a 
    187ef4436122d1cc2f40dc2b92f0eba0:ab 

Det kan ses, at – increment spiller en rolle. Men samtidig ved vi også, at med denne parameter vil hashcat kun prøve A, ab og abc i rækkefølge og vil ikke arrangere og kombinere pladsholdere uden for rækkefølge og prøve forskellige muligheder.

5.Hybrid Attack

Hybrid Attack ligner Combinator Attack kombinerer to ordbøger, mens Hybrid Attack krydser en ordbog og en maske.

Antag, at vi allerede har en ordbog eksempel.dict, som lyder som følger:

     Hej 
    werner 

Derefter kommando:

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

svarer til blot at bruge en ordbog:

     hello00 
    Hej 01 
  ... 
    Hej 99 
    werner00 
    werner01 
  ... 
    werener99 

Derefter kommandoen:

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

svarer til blot at bruge en ordbog:

     00Hej 
    01Hej 
  ... 
    99Hej 
    00werner 
    01werner 
  ... 
    99werener 

Forrige:Sådan bruges hashcat software til at knække forskellige hashes.
Næste:Hvordan man bruger hashcat: Teknisk deling
  • Fokus på Word, Excel, PPT, PDF, RAR, ZIP, 7Z, komprimerede pakker, Office krypteret fil oplåsning og dekryptering
  • Vi giver brugerne filkomprimeret pakkeadgangskodegendannelse af høj kvalitet, PDF-oplåsning Word-adgangskodegendannelse
  • Ophavsret © Document Password Recovery Master Online dekrypteringsplatform