就是一個龐大的、針對各類可能的字母組合預先計算好的哈希值的集合,不必定是針對MD5算法的,各類算法的都有,有了它能夠快速的破解各種密碼。越是複雜的密碼,須要的彩虹表就越大,如今主流的彩虹表都是100G以上。
RainbowCrack是一個使用內存時間交換技術(Time-Memory Trade-Off Technique)加速口令破解過程的口令破解器,這個工具能夠在地址
http://project-rainbowcrack.com/下載。RainbowCrack使用了彩虹表,也就是一張預先計算好的明文和散列值的對照表。經過預先花費時間建立這樣的彩虹表,可以在之後破解口令時節約大量的時間。RainbowCrack包含了下述實用程序:
— rtgen.exe——彩虹表生成器,生成口令、散列值對照表。
— rtsort.exe——排序彩虹表,爲rcrack.exe提供輸入。
— rcrack.exe——使用排好序的彩虹表進行口令破解。
首先使用彩虹表生成器(rtgen.exe)生成本身的彩虹表。其命令行格式爲:
rtgen hash_algorithm \
plain_charset plain_len_min plain_len_max \
rainbow_table_index \
rainbow_chain_length rainbow_chain_count \
file_title_suffix
rtgen hash_algorithm \
plain_charset plain_len_min plain_len_max \
rainbow_table_index \
-bench
命令行各參數的意義和取值如表8-4所示。
[update=1]
下面是使用彩虹表生成器的幾個命令行示例:
rtgen lm alpha 1 7 0 100 16 test
rtgen md5 byte 4 4 0 100 16 test
rtgen sha1 numeric 1 10 0 100 16 test
rtgen lm alpha 1 7 0 -bench
除非咱們已經對密碼分析和內存時間交換技術訓練有素,不然就應該使用建議值建立本身的彩虹表。示例8-9演示瞭如何建立一個128MB的彩虹表。
示例8-9:建立一個128MB的彩虹表。
C:\rainbowcrack-1.2-win>rtgen lm alpha 1 7 0 21 00 8000000 all
hash routine: lm
hash length: 8
plain charset: ABCDEFGHIJKLMNOPQRSTUVWXYZ
plain charset in hex: 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f 50 51 52 53 54 55 56 57 58 59 5a
plain length range: 1 - 7
plain charset name: alpha
plain space total: 8353082582
rainbow table index: 0
reduce offset: 0
generating...
100000 of 8000000 rainbow chains generated (8 m 5 s)
done.
建立彩虹表可能要花費數小時、甚至數天的時間。在生成了彩虹表以後,咱們會在當前目錄下找到一個名稱爲lm_alpha#1-7_0_2100x8000000_all.rt的文件,其中all是咱們在命令中輸入的文件後綴。
接下來的工做是使用彩虹表排序程序(rtsort.exe)進行排序,目的是加快彩虹表的查找速度。這個命令的語法很簡單,格式爲:
rtsort rainbow_table_pathname
其中rainbow_table_pathname是要排序彩虹表的文件名。例如,排序前面建立的彩虹表,可使用下面的命令:
C:\rainbowcrack-1.2-win>rtsort lm_alpha#1-7_0_2100x8000000_all.rt
這個命令須要執行幾分鐘的時間。
最後,使用彩虹表破解程序(rcrack.exe)破解散列值。對於Windows口令破解來講,須要從SAM數據庫中提取出散列值,咱們可使用Pwdump程序來完成這個任務,該程序能夠從
http://www.514.es/Pwdump7.zip處下載。使用下面的命令將Windows口令散列值轉儲到文件hashes.txt中: C:\rainbowcrack-1.2-win>pwdump7.exe > hashes.txt 獲得了口令的散列值以後,就可使用口令破解程序rcrack.exe和已經排好序的彩虹表進行口令破解了: C:\rainbowcrack-1.2-win>rcrack alpha#1-7_0_2100x8000000_all.rt -f hashes.txt 雖然建立彩虹表是要花費大量的時間,可是,一旦建立了彩虹表以後,口令的破解速度就會大大提升。一般須要數小時纔可以破解的口令可能在使用預約義的彩虹表以後僅僅花費數秒鐘的時間就破解出來。 rainbowcrack 是一個多功能的密碼破解軟件。 它不只可以破解windows密碼, 同時也是雜亂算法加密的破解利器。 好比能夠破解im,md5,sha1,customizable等 其它的加密方式破解也能夠很容易地添加到該軟件中。 軟件同時支持windows和linux系統 並且在一個系統上生成的表單能夠直接轉換到另外一種系統上使用 用它來破解md5密碼,數分鐘便可讓十位數內與字符密碼還原, 它的功能雖然強大,可是在使用時倒是比較複雜的,所以我要詳細的介紹一番 第一步: 生成表單文件 下載來的軟件壓縮包中有幾個執行程序,。 咱們在破解md5密碼時,要用到的是前兩個可執行文件,是rcrack.exe rtgen.exe 其中的"rtgen.exe"程序就是用來生成包含預設密碼錶單文件的 表單文件中有許多大量的md5加密密文,rainbowcrack的原理不是暴力破解 而是經過查詢預先作好的密碼與密文一一對應的文件來快速破解密。優勢是速度快, 缺點是生成的文件很是大, 在命令提示符窗口中,運行"rtgen.exe"命令 也能夠輸入cmd在那裏面,找到,你解壓縮文件的路徑,然後運行 由於rainbowcrack是一個多功能的密碼破解器,所以提示信息比較複雜, 咱們只需破解md5密碼,在這裏能夠按下面的格式生成md5密碼錶單: "rtgen md5 byte 1 7 5 2400 40000 all"; 命令執行後,提示"generateing...."正在生成密碼文件 其中"md5"參數指定生成md5表單。 若是是破解windows密碼之類的,還可使用相應的"lm/sha1"參數 詳細的,能夠看幫助文件。 "byte"參數用來指定生成密碼錶單中所包含的明密類型爲全部字符和數字 若是想破解的是純數字密碼或是純字符密碼。 能夠將其改成相應的"numeric"或"alpha"參數 具體的參數可見目錄下"charset.txt"文件 其中1和7分別表明密碼最小和最大長度 2400表明每一個表單文件中密碼串的長度 數字5用來表示生成表單文件的數目 而40000則表明每一個表單文件中的密碼數目 後面這兩個數目越大,生成表單文件的速度越慢 可是表單文件中的密碼就越多。 相應的破解速度也會越快 命令執行後,提示"generateing...."正在生成密碼文件 執行完畢後。就會在當前目錄下生成5個文件名相似爲"md5_byte#1-7_5_2004X40000_all.rt"的文件 其中"all"是咱們剛纔在生成命令中指定用來添加標識文件的參數 有點慢.咱們先繼續(這是剛纔生成的表單文件) 第二步: 瞬間破解密碼 生成密碼錶單文件後,就能夠利用"rcrack.exe"文件來查詢表單文件, 快速破解出指定的密碼了。 直接執行命令後,便可看到程序使用幫助 從幫助信息中,咱們能夠看到能對單個md5密文件進行破解 也能夠一次破解多個密文。 當咱們要破解單個md5密碼時,可使用"-h"參數來指定要破解的密文, 假設這裏要破解密文爲"49ba59abbe56e057"能夠輸入以下命令 "rcrack *.rt -h 49ba59abbe56e057"; 其中"*.rt"參數表示查詢當前目錄下全部密碼錶單文件。 若是密碼錶單文件製做 得好 命令執行後很快就能夠從這些表單文件中找到要還原後的密碼明文了 若是要一次破解多個密碼。首先打開記事本。 將全部待破解的密碼按行輸入 保存爲一個沒有後綴的文件中。 這裏文件名爲"mima"然後執行命令: "rcrack *.rt -l mama"; 程序將會查詢全部的表單文件,並將其與待破解密碼文件中的密文一一對比,很快就能夠將大部分的密碼破 解出來了 提示一下:rainbowcrack軟件能夠說是md5密碼的剋星。咱們徹底能夠在平時電腦不工做時,利用至關長的時間來生成個比較大的密碼錶單文件庫