彩虹表

標籤: 暫無標籤

1258

更新時間: 2013-12-05

廣告

彩虹表就是一個龐大的、針對各種可能的字母組合預先計算好的哈希值的集合,不一定是針對MD5演算法的,各種演算法的都有,有了它可以快速的破解各類密碼。越是複雜的密碼,需要的彩虹表就越大,現在主流的彩虹表都是100G以上。

廣告

1 彩虹表 -計算過程

簡單的說就是針對特定演算法,尤其是不對稱演算法進行有效破解的一種方法(如 md5演算法)。他的過程 就是建立一個 源數據與加密數據之間對應的hash表。這樣在獲得加密數據后 通過比較,查詢或者一定的運算,可以快速定位源數據。理論上,如果不考慮查詢所需要的時間的話,hash 表越大,破解也就越有效越迅速。當然對於其它破解方法(如碰撞)此方法比較笨拙,對於可變長密鑰等現代高級演算法,效果會大打折扣。但是無論怎樣, 彩虹表(hash)永遠是在數據加解密中是無奈但十分有效的方法。
.
.

2 彩虹表 -獲得方法


RainbowCrack生成RainbowCrack是一個使用內存時間交換技術(Time-Memory Trade-Off Technique)加速口令破解過程的口令破解器。RainbowCrack使用了彩虹表,也就是一張預先計算好的明文和散列值的對照表。通過預先花費時間創建這樣的彩虹表,能夠在以後破解口令時節約大量的時間。
.
.
Cain生成在Cain的安裝目錄的Winrtgen文件夾下有一個名為Winrtgen.exe的程序,運行后。
「Hash」下面可選項就是你能夠生成的彩虹表種類了,記住彩虹表也是分類別的。曾經有人拿MD5的彩虹表去跑Windows的LM Hash,然後問我為什麼連這麼簡單的組合都破解不了……MD5的彩虹表只能拿來破解MD5 Hash,牛頭不搭馬嘴的亂用,自然是功虧一簣,白白浪費時間不說,還鬧笑話。「Min Len」最小位,也就是密碼明文長度的最低位。「Max Len」最大位,也就是密碼明文長度的最高位。比如你模糊的確定你手裡的Hash的密碼長度位數大概是5至7位,那麼,最小位就是5,最高位就是7。Chain Len、Chain Count、N of tables是控制所生成表破解成功率的,軟體下面會顯示當前選項的破解成功率,當然是越接近100%越有用了,要不生成些破不了幾個也沒多大意義。表分割得越細,成功率就越高,生成的表體積也越大,所需時間也越長。「Charset」是字符集,也就是密碼明文里所包含的字元,下拉可見有多個選項。設置好後點兩下「OK」就會開始生成,這樣生成結束后的表每張為610.35MB。

廣告

3 彩虹表 -直接下載

除了上述兩種生成工具之外,可能還會有些變種,在此不再一一描述。為什麼要說下載的呢?可以自己生成為什麼還要下載呢?嗯,其實原因就是下載比生成很得多,我做過測試,4核4GB內存的機器,生成2GB彩虹表,需要花費7天時間,而7天按1MB的帶寬(160K/S左右)幾乎可以下載30GB左右(我帶寬比較有限,有時候還會無法連接,每天只能下4GB左右)。效果是明顯要超過生成,當然了,你要是有超級計算機群生成的話,也不妨自己生成。對於廣大網路安全愛好者來說,還是直接下載來得靠譜!
這個還得看你需要破解什麼密碼,如果是要破解Windows Hash的話,建議用Ophcrack,速度相對較快,表的體積也相當較小。軟體是可以免費下載的,表也有幾百M可以免費用,甚至可以在線查詢。在線查的這個用的是免費的幾百M的表,效果一般,不過對於簡單的密碼來說,也足夠了。有的可能不會用,在這裡提一下。其實只要注意Hash的格式就可以了,比如Windows某個用戶的密碼為hackest,那查詢的時候在"hash「旁邊的框里填入「7831a0ffabee5fb3aad3b435b51404ee:d78df6e868e606e442313c5df93216f1」。再「sumbit hash」就可以得到返回結果。偶爾也會出現只顯示了若干位的情況。也可以在這裡查詢密碼Hash串。至於其他收費的表,我以前也有發過種子。20Tables.torrent,這個是Ophcrack XP Special Tables。一般非Vista的密碼Hash,用它能破絕大部分,但在使用過程中也有發現有小部分Hash正確,但無法破解的。所以說,不要相信什麼這個表全那個表不全的,記住,表沒有全的!表永遠沒有最大,只有更大。Vista的密碼Hash可以在這裡下表,20Table.torrent這是Ophcrack Vista Special NTHASH的。官方是收費的表,不過國外共享了,也就可以免費得到了。如果這些表都跑不出來,而你又確定你的Hash沒有搞錯的話,那麼只能找Lc5出馬了,LC5是一定能破的,只是時間有點久!

廣告