hashcat har fyra grundläggande dekrypteringssätt :
1. Ordbok Dekryptering
2. Kombinerad sträng Dekryptering
3. Brute force Dekryptering (Deprecated) – mask attack (mask Dekryptering )
4. Blandad dekryptering
Det finns också regelbaserade dekryptering metoder, och det finns även case-byte metoder som kan klassificeras som regler dekryptering
-A 0-M Typ hashfile dictionary1 dictionary2
Det verkar som att du också kan använda GPU-acceleration
Om innehållet i ordboken är så här
11
22
33
Då är kombinationen:
1111
1122
1133
2222
2233
3333
-j, - -rule-left = rule enda regel tillämpade på varje ord på den vänstra ordboken -k, - -rule-right = rule enda regel tillämpade på varje ord på den högra ordboken123
Till exempel:
Ordbok 1:
11 2212
Ordbok 2:
33 4412
Kommandon:
-j ' $- ' -k '! $ ' 12
Ordet i $-proxyordboken ovan, -j ' $- ' betyder att lägga till en-, -k ' $ till höger sida av ordet! ' betyder att lägga till en till vänster om ordet!
Så den resulterande kombinationen är:
11-33! 22-33! 11-44! 22-44! 1234
Den officiella förklaringen av denna sak är relativt enkel, det vill säga Mask Attack är starkare än brute-force genom att minska antalet lösenordstabeller När det gäller algoritmen för att minska antalet lösenord Det finns inte för mycket introduktion (baserat på hcmask-filen), jag nämner bara en mening om att minska antalet lösenord genom några konventionella lösenordsformer, till exempel: "Kele1997", brute force kommer att räkna upp när du dekrypterar Alla möjligheter, etc. Men under mask attack kommer programmet att försöka bara ha den första bokstaven med stora bokstäver, eftersom de flesta lösenord sällan har stora bokstäver i den andra eller tredje positionen. Dessa regler används för att minska antalet lösenordskandidater
Officiell Det sägs att mask attack inte har några nackdelar jämfört med brute-force, eftersom mask attack kan generera alla Brute-Force-lösenord
Inbyggd teckenuppsättning
? l = abcdefghijklmnopqrstuvwxyz
? u = ABCDEFGHIJKLMNOPQRSTUVWXYZ
? d = 0123456789
? h = 0123456789abcdef
? H = 0123456789ABCDEF
? s = «utrymme»! " #$% & ' () * +, -. /:; < = >? @[\]^_`{|}~
? En = ? Jag? Du? d? s
? b = 0 - 0xff123456789
Det finns teckenuppsättningar i programkatalogen som innehåller olika konstiga tecken. Om du lägger till dem i ditt lösenord kan du använda dessa filer
hashcat har fyra parametrar för att ange en anpassad teckenuppsättning
– custom-charset1= CS
– custom-charset2= CS
– custom-charset3= CS
– custom-charset4= CS
Dessa fyra parametrar kan ersättas med förkortningarna-1, -2, -3 och-4. Du kan ange en anpassad teckenuppsättning att göra Dekryptera
Följande kommando ställer in den första anpassade teckenuppsättningen (-1) till ryska språkspecifika tecken:
-1 teckenuppsättningar/special/russian/ru_ISO-8859-5-special.hcchr
Vi behöver inte ange den fasta längden på lösenordet. Vi kan göra det genom att ange parametern – increment.
-jag, - -Ökning | | Aktivera mask Ökning Läge | < 6x126> | Num | stoppa mask ökar vid X 123
-a 3 hash.txt mask_file.hcmask Ladda hcmask-filen och använd masken i filen för att dekryptera
hashcat kommer med flera hcmask-filer och placera dem under programkatalogen mask/
- -hex-charset Strängen efter den är 16 för
Det genererade lösenordet är en kombination av tecken som genereras genom ordbok och brute force dekryptering
Till exempel: exempl.dict
lösenord hello12
hashcat64-a 6 exempel.dict? d? d? d? d
? d? d? d? d representerar ett fyra bitar långt heltal
Så den slutligen genererade lösenordskandidatsekvensen är:
lösenord0000 Lösenord0001 Lösenord0002 . . . Lösenord99991234567
hashcat64-a 6? d? d? d? d exempel.dict
Resultat:
0000Lösenord 0001Lösenord . . . 9999password123456
Använd maskprocessor för att använda regler för att generera brute force Dekryptera de regler som krävs för , och sedan kan den genererade regelfilen laddas med hjälp av Hashcat-R och ordboken blandas till lösenordskandidater
Till exempel: exempel.dict
Hej Lösenord12
hash-o bf.rule ' $? d $? d $? d $? d
Den genererade regeln ser ut så här: bf.rule
$0 $0 $0 $0 $0 $0 $0 $1 $0 $0 $0 $2 $0 $0 $0 $3 $0 $0 $0 $4 . . . $9 $9 $9 $9123456789
Använd sedan hashcat-a 6 example.dict-r bf.rule-m....
Det sista som genererades såg ut så här:
hello0 0 0 0 Lösenord0 0 0 0 Hej0 0 0 1 Lösenord0 0 0 1 Hej0 0 0 2 Lösenord0 0 0 2 . . . Hej9 9 9 9 Lösenord9 9 9 91234567891011