A hashcat több támadási módja

Közzétéve · szerző:Dokumentum jelszó helyreállítási mester

A hashcat több támadási módot tartalmaz. A teljes súgó megtekintéséhez használja a paramétert – help. Láthatja az "Attack Modes" táblázatot, a következőképpen:

# Mode
0 egyenes
1 kombináció
3 Brute-force
6 Hibrid szólista + maszk
7 Hibrid maszk + szólista

1.Straight

Ezt a támadási módot" szótár támadásnak "is nevezik. Nincs mit mondani, csak adott szótár, a hashcat soronként olvassa el a szótár tartalmát, kiszámítja az egyes sorok hash értékét, és összehasonlítja a cél hash értékkel.

Példa:

     hashcat   -a   0   -m   400   példa400.hash   példa. dict 

2.kombináció

Baidu azt mondta nekem, hogy a kombináció egy főnév, ami azt jelenti: "kombináció; konzorcium; jelszó kombináció; kombináció és fehérnemű". Ez a támadási mód valójában nagyon egyszerű, két jelszószótár tartalmának kombinálása. Ennek a támadási módnak a használatához két jelszó szótár megadása szükséges. Tegyük fel, hogy van két dict1.txt és dict2.txt jelszótárunk, amelyek tartalma:

     vadászat 
    cica 
    rainbow 

és

     Párizs 
    rock 

akkor a parancs:

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

A szótár, amit ténylegesen kipróbáltak, a következő volt:

     huntingparis 
    Vadászszikla 
    cicapárizs 
    Cicaszikla 
    szivárványpárizs 
    rainbowrock 

A dict1.txt szavai balra, a dict2.txt szavai jobbra, összesen 3×2=6.

Az ehhez a mintához kapcsolódó paraméterek a következők:

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

-j utáni szabályok a bal oldalon, a-k utáni szabályok pedig a jobb oldalon, például a paraméter hozzáadása-j' $-', akkor a ténylegesen kipróbálott szótár:

     hunting-paris 
    Vadászat-szikla 
    Kitty-Párizs 
    kitty-rock 
    eső-bowparis 
    rain-bowrock 

paraméter hozzáadása-j '^!', Akkor a ténylegesen kipróbálott szótár:

    ! VadászatPárizs 
  ! Vadászszikla 
  ! cicapárizs 
  ! cicaszikla 
  ! SzivárványPárizs 
  ! rainbowrock 

hozzáadja a-k '^ >' paramétert, akkor a ténylegesen kipróbálott szótár:

     vadászat > párizs 
    Vadászat > szikla 
    cica > Párizs 
    cica > szikla 
    eső > bowparis 
    rain > bowrock 

Mi ez a szabály? A "$" és a "^" használata hasonló a reguláris kifejezésekhez, tehát szabályosak? Valójában nem, a hashcat szabályait maguk hajtják végre, ami egy másik nagy tartalom. Részletekért lásd: Szabályalapú támadás

3. Brute-force

Próbálja meg az adott karakterkészletet. Különféle kombinációk. A hashcat hivatalos wiki szerint ez a módszer elavult, és minden tekintetben felváltotta a Mask-Attack, így nincs kutatás,

4.Mask Attack

Ez egy viszonylag új támadási módszer, példa A következő:

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

Bár az "Attack Modes" táblázat szerint a-a 3 a Brute-Force-nak felel meg, valójában a-a 3 a Mask Attack-ot használja. A maszktámadás fejlett nyers erőnek tekinthető. A

-m paraméter a hash függvény típusának megadására szolgál, az MD5 értéket pedig az MD5.hash fájl tárolja. A kulcs az utolsó karakterlánc "? l? l? l? l? l? l", ezt a karakterláncot maszknak nevezik.

A maszk egy karakterlánc, amely több helyőrzőből áll. A "? l" egy helyőrző, amelyben a "?" egy kulcsszó, amelyet a következő "l" módosítására használnak. Az "? l" együttesen a "? l" mellett karakterkészletet is jelöl "? u", "? d", "? h", "? h", "? s", "? a" és "? b" jelképezi a karakterkészletet az alábbi táblázatban.

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

Így megértjük, hogy „? l? l? l? l? l "valójában egyenértékű a jelszótárral:

 aaaaa 
aaaab 
... 
zzzzz 

Ugyanígy a "? l? u? d" egyenértékű a jelszótárral:

     aA0 
    aA1 
  ... 
    bA0 
  ... 
    zZ9 

A fenti táblázatban szereplő karakterkészlet a hashcat beépített, magunk is megadhatjuk a karakterkészletet:

     - -custom-charset1= karakterkészlet 1 
    - -custom-charset2= karakterkészlet 2 
    - -custom-charset3= karakterkészlet 3 
    - -custom-charset4= karakterkészlet 4 

paraméter – custom-charsetN rövidíthető-n-re, például – custom-charset1 rövidíthető-1-re. A-n-vel megadott karakterkészlet "? N" helyőrző formájában van megadva a maszkban, például:

     -1   abc123  ? 1? 1? 1 

egyenértékű a jelszótárral:

     aaa 
    aab 
  ... 
    aa3 
  ... 
    333 

-N A karakterkészletet képviselő karakterlánc mellett lehet egy. hcchr végű fájl is, amely a karakterkészletet tárolja. A hashcat számos. hcchr fájlt tartalmaz a telepítőcsomag charsets/könyvtárában.

A "??" helyőrző által képviselt karaktergyűjtemény maga a "?". Ezen túlmenően, ha a többi karaktert helyőrzőként használják, magukat a karaktereket képviselik. Például a "? lwerner? d" egyenértékű a jelszótárral:

     awerner0. 
    awerner1 
  ... 
    zwerner9 

A fenti ismeretekkel könnyű megérteni a maszkot. A maszk több helyőrzőből áll, mindegyik helyőrző karakterkészlet, és a maszk az egyes helyőrző karakterkészletek kombinációja. A helyőrzők száma megegyezik a jelszó hosszával. Milyen előnyei vannak ennek a kialakításnak ahhoz képest, hogy egyszerűen megadja a karakterkészletet és a jelszó hosszát?

Tegyük fel, hogy ismerjük valakinek 7 számjegyű jelszavát, az első számjegy nagybetű, a következő 3 számjegy kisbetű, az utolsó 3 számjegy pedig szám. Ha hagyományos brute force feltörésről van szó, akkor A-Z, A-Z és 0-9 karakterkészletekre van szükség, összesen 62 karakterből, és legfeljebb 62^7=3 521 614 606 208 próbálkozást igényel, ami billió szint. A jelszó leírására maszk használata "\u\l\l\l\d\d\d", amely könnyen kiszámítható. Összesen (26^4) × (10^3) =456 976 000 lehetőség van, ami 100 millió szint, 4 nagyságrenddel kisebb, mint az előző módszer.

Ha egy lépést hátrálunk, még ha nem is ismerjük a jelszavak eloszlását, a maszk segítségével könnyen szimulálhatjuk a hagyományos brute force feltörés hatását.

A kérdés most az, hogy a maszk rögzített, hány helyőrző van benne halálra írva, és mit tegyünk, ha nem ismerjük a jelszó hosszát. Nem baj, ha a jelszó túl hosszú, ha valaki jelszava csak 3 számjegyű, a mi helyőrzőnk pedig 4, és nem tudjuk megoldani, nem lenne nagy veszteség? Kezdjük az 1-től, és írjuk le minden hosszúságú maszkot? Ez mennyire zavaró.

Két megoldás létezik, az egyik a maszkfájl használata, több maszk írása egy fájlba, majd a fájl megadása a parancssorban. Vegye figyelembe, hogy a maszk fájlnak. hcmask-vel kell végződnie.

Például a test.hcmask tartalma:

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

Használja a fájlt a következő parancssal:

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

Egy másik megoldás az – increment paraméter hozzáadása Ez a paraméter azt mondja a hashcatnak, hogy kövesse az általunk megadott maszkot, egy helyőrzővel Kezdje próbálkozni, és próbálkozzon még kettővel, hárommal, amíg meg nem adjuk a hosszt. Például ezt az "abc" helyőrzőt írjuk, majd kiszámítjuk a következő karakterlánc MD5 értékét:

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

A ":" előtt az eredeti karakterlánc, amelynek hash értékét kell kiszámítani, a ":" után pedig a kiszámított hasn érték. Mentse el a fenti tartalmat az MD5.hash fájlba, majd futtassa a következő parancsot:

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

Adja hozzá a paramétert – a felhasználónév azért van, mert minden hash érték előtt van egy eredeti karakterlánc Ha nem adjuk hozzá ezt a paramétert, a hashcat azt mutatja, hogy a helyes hash értéket nem találták. Ha hozzáadjuk ezt a paramétert, a hashcat azt fogja gondolni, hogy a hash érték előtti karakterlánc a hash érték felhasználóneve, így a hash érték zökkenőmentesen betölthető.

A futás eredménye az, hogy csak egy hash oldódott meg:

     900150983cd24fb0d6963f7d28e17f72: abc 

Most add hozzá a paramétert – increment, futtasd újra:

     hashcat   -m   0   -a   3   - -show   - -increment   - -felhasználónév   MD5.hash   abc 

Ezúttal még két hash megoldódott:

     0cc175b9c0f1b6a831c399e269772661: a 
    187ef4436122d1cc2f40dc2b92f0eba0: ab 

látható, – increment játszik. De ugyanakkor azt is tudjuk, hogy ezzel a paraméterrel a hashcat csak az A-t, az AB-t és az ABC-t próbálja ki sorrendben, és nem rendezi és kombinálja a helyőrzőket sorrendben, és kipróbálja a különféle lehetőségeket.

5. Hibrid támadás

A hibrid támadás hasonló a kombinátor támadáshoz, míg a hibrid támadás egy szótárat és egy maszkot kombinál.

Tegyük fel, hogy már van egy példá.dict szótárunk, amely így szól:

     hello 
    werner 

majd a parancs:

     hashcat   -m   0   -a   6   MD5.hash   példa.dict  ? d? d 

egyenértékű a szótár egyszerű használatával:

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

majd a parancs:

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

Egyenértékű a szótár egyszerű használatával:

     00hello 
    01Helló 
  ... 
    99Helló 
    00werner 
    01werner 
  ... 
    99werener 

Előző cikk:Hogyan használjunk hashcat hash macska szoftvert különféle hash felrobbantására
Következő cikk:Hogyan használjuk a hashcat technológiáját