Hash值破解工具Hashcat使用


Hash值破解工具Hashcat使用

Hashcat介紹

HashCat系列軟件擁有十分靈活的破解方式,可以滿足絕大多數的破解需求。

Hashcat系列軟件是比較牛逼的密碼破解軟件,系列軟件包含Hashcat、oclHashcat;還有一個單獨新出的oclRausscrack。其區別為Hashcat只支持cpu破解;oclHashcat和oclGausscrack則支持gpu加速。oclHashcat則分為AMD版和NIVDA版。

 

1.指定HASH類型

在HashCat中-m 參數可以指定要破解的HASH類型,運行hashcat主程序加上--help參數

 hash modes:中可以看到各種HASH類型的代號

不同版本的HashCat所支持的hash類型有所不同,如果沒有指定--hash-type參數,那么程序默認為MD5類型。

 

 

2.指定破解模式

在HashCat中-a 參數可以可以指定破解模式,軟件一共支持5種破解模式,分別為

0 Straight(字典破解)
1 Combination(組合破解)
3 Brute-force(掩碼暴力破解)
6 Hybrid dict + mask(混合字典+掩碼)
7 Hybrid mask + dict(混合掩碼+字典)

 

 

 

3.使用

兩個很重要的參數,前面已經介紹

-m (--hash-type=NUM)   #指定hash種類
-a (--attack-mode=NUM)      #指定破解模式

 

字典模式

-a 0:Straight 

格式:

可以指定多個字典文件

hashcat -a 0 -m xx <hashfile> <zidian1> <zidian2>...

例子:

hashcat  -a 0 -m 0 test.txt /root/wordlist.txt

 

 

掩碼暴力破解模式

-a 3:Brute-force

格式:

hashcat -a 3 -m xx  <HASH文件> <掩碼>

例子:

hashcat -a 3 -m 100 test.txt ?d?d?d?d?d?d?d?d

注意:?d?d?d?d?d?d?d?d 對應8位純數字組合; ?l?l?l?l?d?d?d?d 對應前4位小寫字母,后4位數字組合

 

掩碼的設置

Hashcat默認的掩碼一共有9種:?l表示a-z,?u表示A-Z,?d表示0-9,?a表示鍵盤上所有的特殊字符,?s表示鍵盤上所有的可見字符,?h表示8bit 0xc0-0xff的十六進制,?D表示8bit的德語字符,?F表示8bit的法語字符,?R表示8bit的俄語字符。

如圖所示:

 

下面是常用的掩碼:

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

 

如果我要用掩碼表示小寫+數字怎么辦呢?這就需要用到自定義字符集這個參數了。軟件支持用戶最多定義4組字符集,分別用來表示,在掩碼中用?1、?2、?3、?4來表示

--custom-charset1 [chars]
--custom-charset2 [chars]
--custom-charset3 [chars]
--custom-charset4 [chars]

 

比如設置 --custom-charset1=?l?d 那么就表示 ?1代表小寫字母與數字組合,那么8位隨機的數字與小寫字母組合可以寫成 ?1?1?1?1?1?1?1?1,完整的例子:

hashcat test.txt -a 3 -m 0 --custom-charset1=?l?d ?1?1?1?1?1?1?1?1

  

如果要破解8位的小寫+數字,那么需要設置自定義字符集1為--custom-charset1 ?l?d,已知密碼的第一位為數字,長度為8位,后幾位為大寫+小寫:

hashcat test.txt -a 3 -m 0 --custom-charset2=?l?d ?d?1?1?1?1?1?1?1

  

再比如設置 --custom-charset2=xiao106347 那么就表示 ?2 代表字符串由 x i a o 1 0 6 3 4 7 組成的所有可能組合,完整例子:

hashcat test.txt -a 3 -m 0 --custom-charset2=xiao106347 ?2?2?2?2?2?2?2?2

  

長度設置

對於已知長度的密碼,可以使用固定長度的掩碼進行破解。比如要破解11位數字,就可以這樣寫掩碼?d?d?d?d?d?d?d?d?d?d?d。

對於想要破解一些未知長度的密碼,希望軟件在一定長度范圍內進行嘗試的,可以使用--increment參數,並且使用--increment-min ?定義最短長度,使用--increment-max ?定義最大長度。比如要嘗試6-8位小寫字母,可以這樣寫

--increment --increment-min 6 --increment-max 8 ?l?l?l?l?l?l?l?l

  

例子:破解8-11位數字+小寫

hashcat -m 100 -a 3 text.txt --increment --increment-min 8 --increment-max 11 --custom-charset1 ?l?d ?1?1?1?1?1?1?1?1?1?1?1 

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM