Flera angreppslägen i hashcat.

hashcat har flera attacklägen Använd parametern – hjälp för att se hela hjälpen. Du kan se tabellen "Attacklägen", som visas nedan:

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

1.Straight

Detta attackläge är också känt som" ordboksattack ". Det finns inget att säga, med tanke på en ordbok kommer hashcat att läsa innehållet i ordboken rad för rad, beräkna hash-värdet för varje rad och jämföra det med målhash-värdet.

Exempel:

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

2.Combination

Baidu berättade för mig att kombination är ett substantiv, vilket betyder: "kombination; konsortium; lösenordskombination; jumpsuit". Detta attackläge är faktiskt väldigt enkelt, det vill säga att kombinera innehållet i två lösenordsordböcker. Att använda detta attackläge kräver att du anger två lösenordsordböcker inte mer eller mindre. Antag att vi har två lösenordsordböcker dict1.txt och dict2.txt, vars innehåll är:

     jakt 
    kitty 
    rainbow 

och

     paris 
    rock 

Sedan kommandot:

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

Ordboken som faktiskt försökte var:

     huntingparis 
    Jaktsten 
    kittyparis 
    kittyrock 
    rainbowparis 
    rainbowrock 

Orden i dict1.txt är till vänster och orden i dict2.txt är till höger, totalt 3×2=6.

Parametrarna relaterade till detta mönster är:

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

-Reglerna efter j verkar på vänster sida, och reglerna efter-k verkar på höger sida, som att lägga till parametern-j' $-', då är den faktiska försöksordboken:

     hunting-paris 
    Jakt-sten 
    kitty-paris 
    kitty-rock 
    Regn-BowParis 
    rain-bowrock 

Lägg till parameter-j '^!', Då är den faktiska försöksordboken:

    ! JaktParis 
  ! jaktsten 
  ! kittyparis 
  ! kittyrock 
  ! Regnbåge Paris 
  ! rainbowrock 

Lägg till parametern-k '^ >', då är den faktiska ordboken som försöks:

     hunting > paris 
    jakt > sten 
    kitty > paris 
    kitty > rock 
    Regn > bowparis 
    rain > bowrock 

Vad är denna regel? Användningen av "$" och "^" liknar reguljära uttryck, så är de reguljära? Faktum är att det inte är fallet. Hashcats regler implementeras av sig själva. För detaljer, se regelbaserad Attack

3.Brute-force

. en given teckenuppsättning Olika kombinationer. Enligt Hashcats officiella wiki är denna metod föråldrad och har ersatts av Mask-Attack i alla aspekter, så ingen forskning kommer att göras,

4. Mask Attack

Detta är en relativt ny attackmetod, ett exempel är som följer:

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

Även om enligt tabellen "Attack Modes" motsvarar-a 3 Brute-force, men i själva verket använder-a 3 maskattack. Mask Attack kan ses som avancerad Brute-force.

-m-parametern används för att ange hash-funktionstypen, och md5-värdet lagras i md5.hash-filen. Nyckeln är den sista strängen "? l? l? l? l? l? l" En sådan sträng kallas mask.

En mask är en sträng som består av flera platshållare. "? l" är en platshållare, där "?" är ett nyckelord, som används för att modifiera den efterföljande "l" tillsammans representerar en uppsättning tecken. Förutom "? l" kan det också finnas "? u", "? d", "? h", "? h", "? s", "? a" och "? b" representerar teckenuppsättningen som visas i tabellen nedan.

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

På så sätt förstår vi, "? l? l? l? l? l" är faktiskt ekvivalent med en kryptografisk ordbok:

 aaaaa 
aaaab 
... 
zzzzz 

På samma sätt motsvarar "? l? u? d" en kryptografisk ordbok:

     aA0 
    aA1 
  ... 
    bA0 
  ... 
    zZ9 

Teckenuppsättningen i tabellen ovan är inbyggd i hashcat, vi kan också ange teckenuppsättningen själva:

     - -custom-charset1= teckenuppsättning 1 
    - -custom-charset2= teckenuppsättning 2 
    - -custom-charset3= teckenuppsättning 3 
    - -custom-charset4= teckenuppsättning 4 

Parameter – custom-charsetN kan förkortas till-n, till exempel – custom-charset1 kan förkortas till-1. Den uppsättning tecken som anges med-n anges i masken som en platshållare "? N", till exempel:

     -1   abc123  ? 1? 1? 1 

motsvarar en kryptografisk ordbok:

     aaa 
    aab 
  ... 
    aa3 
  ... 
    333 

-N Förutom strängen som representerar teckenuppsättningen kan den också vara en fil som slutar med. hcchr, och teckenuppsättningen lagras i filen. hashcat kommer med många. hcchr-filer i charsets/ -katalogen i installationspaketet.

Den teckensamling som representeras av platshållaren "??" är själva "?". Dessutom, när de återstående tecknen används som platshållare, representerar de själva tecknen. Till exempel motsvarar "? lwerner? d" en kryptografisk ordbok:

     awerner0. 
    awerner1 
  ... 
    zwerner9 

Med ovanstående kunskap är det lätt att förstå mask. En mask består av flera platshållare, varje platshållare är en uppsättning tecken, och en mask är en kombination av varje uppsättning platshållare tecken. Antalet platshållare är lika med lösenordets längd. Vilka är fördelarna med en sådan design jämfört med att helt enkelt ge en uppsättning tecken och lösenordslängd?

Antag att vi vet att någons lösenord har totalt 7 siffror. Den första siffran är en stor bokstav, de kommande 3 siffrorna är små bokstäver och de sista 3 siffrorna är siffror. Om det är en traditionell brutal force-knäckning krävs teckenuppsättningarna A-Z, A-Z och 0-9, totalt 62 tecken, och du måste försöka upp till 62^7=3 521 614 606 208 gånger, vilket är en biljon nivå. Att använda mask för att beskriva detta lösenord är "\u\l\l\l\d\d\d", vilket är lätt att beräkna. Det finns totalt (26^4) × (10^3) =456 976 000 möjligheter, vilket är 100 miljoner nivåer, vilket är 4 storleksordningar mindre än den tidigare metoden.

För att ta ett steg tillbaka, även om vi inte känner till fördelningen av lösenord, är det lätt att simulera effekten av traditionell brute force cracking med hjälp av mask.

Frågan nu är att masken är fast, hur många platshållare i den är dödskrivna, och vad ska vi göra om vi inte vet längden på lösenordet? Det är okej att lösenordet är för långt Om någons lösenord bara har 3 siffror och vi har 4 platshållare, och vi inte kan lösa det, skulle det inte vara en stor förlust? Ska vi börja med 1 och skriva maskerna av varje längd igen? Det är mycket besvärligt.

Det finns två lösningar. Den ena är att använda maskfilen, skriva flera masker i en fil och sedan ange filen på kommandoraden. Observera att maskfilen måste sluta med. hcmask.

Till exempel är innehållet i test.hcmask:

    ? l 
  ? Jag? l 
  ? Jag? Jag? l 
  ? Jag? Jag? Jag? l 

använd sedan följande kommando för att använda filen:

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

En annan lösning är att lägga till parametern – increment, som säger till hashcat, enligt masken vi gav, från en platshållare Börja försök och prova två, tre, tills vi ger längden. Om vi skriver platshållaren "abc" för denna, beräknar vi sedan MD5-värdet för följande sträng:

     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öre ":" är den ursprungliga strängen för att beräkna hash-värdet, och efter ":" är det beräknade hasn-värdet. Spara ovanstående innehåll i filen md5.hash och kör sedan följande kommando:

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

Lägg till parameter – användarnamn beror på att det finns en originalsträng före varje av våra hashvärden Om du inte lägger till den här parametern kommer hashcat att visa att det korrekta hashvärdet inte har hittats Om du lägger till den här parametern kommer hashcat att tro att strängen före hashvärdet är användarnamnet för hashvärdet, så att hashvärdet kan laddas smidigt.

Resultatet av att köra är att endast en hash löses:

     900150983cd24fb0d6963f7d28e17f72:abc 

Lägg nu till parametern – increment, kör igen:

     hashcat   -m   0   -a   3   - -visa   - -increment   - -användarnamn   md5.hash   abc 

Den här gången löstes ytterligare två hash:

     0cc175b9c0f1b6a831c399e269772661:a 
    187ef4436122d1cc2f40dc2b92f0eba0:ab 

Det kan ses att – increment spelar en roll. Men samtidigt vet vi också att med den här parametern kommer hashcat bara att försöka A, ab och abc i ordning, och kommer inte att ordna och kombinera platshållarna ur ordning och prova olika möjligheter.

5.Hybrid Attack

Hybrid Attack liknar Combinator Attack kombinerar två ordböcker, medan Hybrid Attack kombinerar en ordbok och en mask.

Antag att vi redan har en ordbok exempel.dict som lyder följande:

     Hej 
    werner 

Sedan kommandot:

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

motsvarar att bara använda en ordbok:

     hello00 
    hello01 
  ... 
    hello99 
    werner00 
    werner01 
  ... 
    werener99 

Sedan kommandot:

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

motsvarar att bara använda en ordbok:

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

Föregående:Hur man använder hashcat programvara för att knäcka olika hashes.
Nästa:Hur man använder hashcat: Teknisk delning
  • Fokusera på Word, Excel, PPT, PDF, RAR, ZIP, 7Z, komprimerade paket, Office krypterade filer upplåsning och dekryptering
  • Vi förser användare med högkvalitativ filkomprimerad paket lösenordsåterställning, PDF-upplåsning Word lösenordsåterställning
  • Upphovsrätt © Dokumentlösenordsåterställningsmästare Dekrypteringsplattform online