| # | modus |
|---|---|
| 0 | reguit |
| 1 | kombinasie |
| 3 | Brute-force |
| 6 | Hibriede woordlys + masker |
| 7 | hibriede masker + woordlys |
Hierdie aanvalsmodus staan ook bekend as" woordeboekaanval ". Daar is niks om te sê nie, gegewe' n woordeboek, sal hashcat die inhoud in die woordeboek reël vir reël lees, die hash-waarde van elke reël bereken en dit vergelyk met die teiken-hash-waarde.
Voorbeeld:
hashcat -a 0 -m 400 voorbeeld400.hash voorbeeld.dict
Baidu het vir my gesê dat kombinasie' n selfstandige naamwoord is, wat beteken: "kombinasie; konsortium; wagwoordkombinasie; rompers en onderklere". Hierdie aanvalsmodus is eintlik baie eenvoudig, dit is om die inhoud van twee wagwoordwoordeboeke te kombineer. Die gebruik van hierdie aanvalsmodus vereis nie meer as twee wagwoordwoordeboeke nie. Gestel ons het twee wagwoordwoordeboeke dict1.txt en dict2.txt, wie se inhoud is:
jag Katjie rainbow
en
Parys rock
Dan die opdrag:
hashcat -m 0 -a 1 hash.txt dict1.txt dict2.txt
Die woordeboek wat eintlik probeer is:
huntingparis Jagrots kittyparis kittyrock reënboogparys rainbowrock
Die woorde in dict1.txt is aan die linkerkant en die woorde in dict2.txt is aan die regterkant, altesaam 3×2=6.
Die parameters wat met hierdie patroon verband hou, is:
-j, - -rule-left -k, - -rule-right
-Die reël na j werk op die linkerkant, en die reël na-k werk op die regterkant, soos die byvoeging van die parameter-j' $-', dan is die woordeboek wat eintlik probeer is:
jag-paris jag-rots Kitty-Parys kitty-rock Reën-BoogParys rain-bowrock
Voeg parameter by-j '^!', Dan is die woordeboek wat eintlik probeer is:
! JagParys ! Jagrots ! KittyParys ! kittyrock ! reënboogParys ! rainbowrock
Voeg die parameter-k '^ >' by, dan is die woordeboek wat eintlik probeer is:
jag > Parys jag > rots kitty > Parys kitty > rock Reën > BoogParys rain > bowrock
Wat is hierdie reël? Die gebruik van "$" en "^" is soortgelyk aan gereelde uitdrukkings, so is dit gereeld? Trouens, nee, die reëls van hashcat Word self geïmplementeer, wat nog' n groot deel van die inhoud is. Vir besonderhede, sien Reëlgebaseerde aanval
Probeer die gegewe karakterstel Verskeie kombinasies. Volgens die amptelike hashcat wiki is hierdie metode verouderd en is dit heeltemal vervang deur Mask-Attack, so geen navorsing sal gedoen Word nie,
Dit is' n relatief nuwe aanvalsmetode, voorbeeld soos volg:
hashcat -a 3 -m 0 md5.hash ? Ek? Ek? Ek? Ek? l
Alhoewel-a 3 volgens die "aanvalsmodusse"-tabel ooreenstem met Brute-force, maar in werklikheid gebruik-a 3 maskeraanval. Maskeraanval kan as gevorderde brute-krag beskou Word. Die
-m-parameter Word gebruik om die hash-funksietipe te spesifiseer, en die md5-waarde Word in die md5.hash-lêer gestoor. Die sleutel is die laaste string "? l? l? l? l? l" So' n string Word masker genoem.
'n Masker is' n string wat uit verskeie plekhouers bestaan. "? l" is' n plekhouer, waarin "?" 'n sleutelwoord is, wat gebruik Word om die volgende "l" te wysig. "? l" verteenwoordig saam' n stel karakters Benewens "? l", kan daar ook wees "? u", "? d", "? h", "? h", "? s", "? a" en "? b" verteenwoordig' n stel karakters soos in die tabel hieronder getoon.
| ? | Charset |
|---|---|
| l | abcdefghijklmnopqrstuvwxyz |
| u | ABCDEFGHIJKLMNOPQRSTUVWXYZ |
| d | 0123456789 |
| h | 0123456789abcdef |
| h | 0123456789ABCDEF |
| s | ! "#$% & ' () * +, -. /:; < = >? @ [\] ^_` ~ {|} |
| ' n | ? Ek? u? d? s |
| b | 0 – 0xff |
Op hierdie manier verstaan ons, "? l? l? l? l? l" is eintlik gelykstaande aan' n kriptografiese woordeboek:
aaaaa aaaab ... zzzzz
Op dieselfde manier is "? l? u? d" gelykstaande aan' n wagwoordwoordeboek:
aA0 aA1 ... bA0 ... zZ9
Die karakterstel in die tabel hierbo is ingebou in hashcat Ons kan ook die karakterstel self spesifiseer:
- -custom-charset1= karakterstel 1 - -custom-charset2= karakterstel 2 - -custom-charset3= karakterstel 3 - -custom-charset4= Karakterstel 4
Parameter – custom-charsetN kan verkort Word na-n, byvoorbeeld – custom-charset1 kan verkort Word na-1. Die stel karakters gespesifiseer met-n Word gespesifiseer as' N plekhouer "? N" in die masker, soos:
-1 abc123 ? 1? 1? 1
is gelykstaande aan' n wagwoordwoordeboek:
aaa aab ... aa3 ... 333
-N Benewens die string wat die karakterstel verteenwoordig, kan dit ook' N lêer wees wat op. hcchr eindig, en die karakterstel Word in die lêer gestoor. hashcat kom met baie. hcchr-lêers in die charsets/gids van die installasiepakket.
Die versameling karakters wat deur die plekhouer "??" verteenwoordig Word, is "?" self. Daarbenewens, wanneer die oorblywende karakters as plekhouers gebruik Word, verteenwoordig hulle die karakters self. Byvoorbeeld, "? lwerner? d" is gelykstaande aan die wagwoordwoordeboek:
awerner0. awerner1 ... zwerner9
Met bogenoemde kennis is dit maklik om Masker te verstaan. 'N Masker bestaan uit verskeie plekhouers, elke plekhouer is' n stel karakters, en 'n masker is' n kombinasie van verskeie plekhouer karakterstelle. Die aantal plekhouers is gelyk aan die lengte van die wagwoord. Wat is die voordele van so 'n ontwerp in vergelyking met bloot' n stel karakters en wagwoordlengtes?
Gestel ons ken iemand se wagwoord met' n totaal van 7 syfers. Die eerste syfer is hoofletters, die volgende 3 syfers is kleinletters en die laaste 3 syfers is syfers. As dit 'n tradisionele brute force-kraak is, benodig dit karakterstelle A-Z, A-Z en 0-9, altesaam 62 karakters, en moet tot 62^7=3 521 614 606 208 keer probeer Word, wat' n triljoen is. vlak. Die gebruik van masker om hierdie wagwoord te beskryf, is "\u\l\l\l\d\d\d", wat maklik is om te bereken Daar is' n totaal van (26^4) × (10^3) =456 976 000 moontlikhede, wat is 100 miljoen vlak, wat 4 ordes van grootte minder is as die vorige metode.
Om 'n tree terug te neem, selfs al ken ons nie die verspreiding van wagwoorde nie, is dit maklik om die effek van tradisionele brute force cracking te simuleer met behulp van' n masker.
Die vraag is nou dat die masker vas is, hoeveel plekhouers daarin doodgeskryf is, en wat moet ons doen as ons nie die lengte van die wagwoord ken nie. Dit is goed dat die wagwoord te lank is As iemand se wagwoord net 3 syfers het en ons 4 plekhouers het, en ons kan dit nie oplos nie, sal dit nie' n groot verlies wees nie. Moet ons vanaf 1 begin en al die maskers van elke lengte skryf? Hoe lastig is dit.
Daar is twee oplossings Een is om die maskerlêer te gebruik, veelvuldige maskers in een lêer te skryf, en dan die lêer in die opdragreël aan te dui. Let daarop dat die maskerlêer moet eindig met. hcmask.
Byvoorbeeld, die inhoud van test.hcmask is:
? l ? Ek? l ? Ek? Ek? l ? Ek? Ek? Ek? l
Gebruik dan die volgende opdrag om die lêer te gebruik:
hashcat -m 0 -a 3 - -show md5.hash test.hcmask
Nog' n oplossing is om die parameter – inkrement by te voeg, wat vir hashcat sê om die masker wat ons gegee het te volg, te begin met een plekhouer Probeer, probeer nog twee, drie, tot die lengte wat ons gegee het. Byvoorbeeld, ons skryf die plekhouer "abc" vir hierdie een, en bereken dan die MD5-waarde van die volgende string:
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
Voor ":" is die oorspronklike string waarvoor die hash-waarde bereken moet Word, en na ":" is die berekende hasn-waarde. Stoor bogenoemde inhoud in die lêer md5.hash, en voer dan die volgende opdrag uit:
hashcat -m 0 -a 3 - -wys - -gebruikersnaam md5.hash abc
Voeg parameter by – gebruikersnaam is omdat daar' n oorspronklike string voor elkeen van ons hash-waardes is As hierdie parameter nie bygevoeg Word nie, sal hashcat wys dat die korrekte hash-waarde nie gevind is nie. As hierdie parameter bygevoeg Word, sal hashcat dink dat die string voor die hash-waarde die gebruikersnaam vir die hash-waarde is, sodat die hash-waarde glad gelaai kan Word.
Die resultaat van hardloop is dat slegs een hash opgelos is:
900150983cd24fb0d6963f7d28e17f72:abc
Voeg nou die parameter by – inkrement, hardloop weer:
hashcat -m 0 -a 3 - -wys - -inkrement - -gebruikersnaam md5.hash abc
Hierdie keer is nog twee hash opgelos:
0cc175b9c0f1b6a831c399e269772661:a 187ef4436122d1cc2f40dc2b92f0eba0:ab
Soos gesien, het – inkrement' n rol gespeel. Maar terselfdertyd weet ons ook dat hashcat met hierdie parameter net A, ab en abc in volgorde sal probeer, en nie plekhouers uit volgorde sal rangskik en kombineer nie, en verskeie moontlikhede sal probeer.
Hybrid Attack is soortgelyk aan Combinator Attack kombineer twee woordeboeke, terwyl Hybrid Attack 'n woordeboek en' n masker kombineer.
Gestel ons het reeds' n woordeboek voorbeeld.dict wat soos volg lees:
Hallo werner
dan die opdrag:
hashcat -m 0 -a 6 md5.hash voorbeeld.dict ? d? d
is gelykstaande aan bloot die gebruik van' n woordeboek:
hello00 Hallo01 ... Hallo99 werner00 werner01 ... werener99
Dan die opdrag:
hashcat -m 0 -a 7 md5.hash ? d? dexample.dict
is gelykstaande aan bloot die gebruik van' n woordeboek:
00Hallo 01Hallo ... 99Hallo 00werner 01werner ... 99werener