利用 rainbowcrack 快速破解 ntlm
0x01 RainbowCrack簡介
今天就來介紹另一款相對比較實用的NTLM hash破解工具,其本質是基於事先生成好的對應各種雜湊型別的彩虹表,支援GPU[amd/英偉達]加速,通常,就我個人來講,主要都是用它來跑NTLM的,想比之下,確實要比之前所介紹的兩款hash破解工具弱很多,雖然沒那麼智慧,但它使用非簡單,極易上手,平臺支援也相對比較好,此次暫以win平臺為例進行簡單演示
0x02 關於 RainbowCrack 套件的基本使用流程,如下
建立彩虹表[rtgen] -> 對彩虹表進行排序[rtsort] -> 開始真正的hash破解過程[rcrack]
0x03 開始建立彩虹表
簡單來說,彩虹表內部其實就是由所有可能組合的明文和其所對應的hash組成,類似nosql中的鍵值對形式[難道是因為這樣效率就會很高嗎,其實具體的資料結構自己也並不是非常清楚,還是那句話,實際滲透中能上就好],其實說白點還是基於字典,只不過這個字典是經過優化的,rtgen具體引數作用如下:
# rtgen.exe hash_algorithm charset plaintext_len_min plaintext_len_max table_index chain_len chain_num part_index
rtgen.exe
生成指定雜湊型別的彩虹表,不同的雜湊型別,只能用其對應型別的彩虹表,比如,你要破解NTLM的hash,就要用NTLM的彩虹表
明文所使用的字符集範圍,比如,大小寫字母,數字,特殊字元等等...
指定明文密碼最小長度
指定明文密碼最大長度,它會按所你給定的長度,來生成對應的hash,範圍越大,組合自然就越多,彩虹表也就會越大
彩虹表索引[其實是指生成彩虹表的最大單檔案個數]
彩虹鏈長度[單檔案密碼串長度]
彩虹連數量[數量越大密碼就越多]
其實是彩虹表的標識[比如有很多單檔案,它們就是靠這個標識來判斷是否屬於同一個彩虹表]
RainbowCrack支援的一些雜湊型別:
lm
ntlm 可能是用的最多的,我自己一般都是為了跑它才用的
md5
sha1
.......
RainbowCrack 支援的所有字符集:
numeric = [0123456789]
alpha = [ABCDEFGHIJKLMNOPQRSTUVWXYZ]
alpha-numeric = [ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789]
loweralpha = [abcdefghijklmnopqrstuvwxyz]
loweralpha-numeric = [abcdefghijklmnopqrstuvwxyz0123456789]
mixalpha = [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ]
mixalpha-numeric = [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789]
ascii-32-95 = [ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~]
ascii-32-65-123-4 = [ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`{|}~]
alpha-numeric-symbol32-space = [ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_+=~`[]{}|:;”‘<>,.?/ ]
更多詳細內容請直接參考官方文件:
ofollow,noindex"> http:// project-rainbowcrack.com /documentation.htm
例項生成彩虹表,建立的過程可能會非常耗時,尤其當你的彩虹連數量和字符集範圍特別大,機器效能又不是特別好的情況下,跑上好幾天都很正常,不過好在,一次生成好,即可永久使用,前提是你的硬碟要能裝下才行:
# rtgen md5 numeric 1 4 5 3800 33554432 0 建立1到4位的由純數字組成的 md5 hash 彩虹表

# rtgen ntlm numeric 1 2 5 3800 33554432 0 建立1到2位的由純數字組成的 ntlm hash 彩虹表

# rtgen sha1 numeric 1 4 5 3800 33554432 0 建立1到4位的由純數字組成的 sha1 hash 彩虹表

# rtgen lm numeric 1 4 5 3800 33554432 0 建立1到4位的由純數字組成的 lm hash 彩虹表

可以看到,在生成彩虹表的過程中,cpu基本一直是保持百分百,吃的比較狠,不過,這也相對正常

0x04 彩虹表在建立成功以後,需要立即對其進行排序,如下:
# rtsort.exe md5_numeric#1-4_5_3800x33554432_0.rt

0x05 上述準備工作完成後,就可以開始我們的hash破解過程了,如下是rcrack的簡單使用幫助
-h hash 破解單條hash
-l hash_list_file 從指定的檔案中讀取hash
-f pwdump_file 匯入pwdump獲取的lm hash
-n pwdump_file 匯入pwdump獲取的ntlm hash
例項破解md5 hash,關於其他的型別,大家可自行嘗試,自己的機器效能實在有限,就暫時先到這裡吧:
# rcrack.exe md5_numeric#1-4_5_3800x33554432_0.rt -l hash.txt

0x06 後話
是不是感覺RainbowCrack使用非常簡單呢,起碼比之前的hashcat和john都要簡單的太多太多了,嘿嘿……是的,自己也覺得,全程傻瓜化,並不需要你知道太多的內部工作細節,大家實際破解中,大可根據自己的實際需求和喜好來,優秀工具很多,面面俱到,畢竟不太現實,找個容易上手的即可,關鍵是能幹活兒就行
文章出處:klion's blog