彩虹表

彩虹表

密碼對的集合
彩虹表(Rainbow Tables)就是一個龐大的、針對各種可能的字母組合預先計算好的哈希值的集合,常用來破解md5。[1]不一定是針對MD5算法的,各種算法的都有,有了它可以快速的破解各類密碼。越是複雜的密碼,需要的彩虹表就越大,現在主流的彩虹表都是100G以上。
    中文名: 外文名: 别名: 英文名:彩虹表 其他外文名:Rainbow Table 屬性:密碼對的集合 大小:主流100G以上 作用:快速地根據哈希值破解各類密碼

背景

為了保證後台數據安全,現在的做法都是使用哈希彩虹表3倍減少查詢時間算法對明文密碼進行加密後存儲。由于哈希算法不可逆向,因此由密碼逆向出明文運算就成了不可能。

起初黑客們通過字典窮舉的方法進行破解,這對簡單的密碼和簡單的密碼系統是可行的,但對于複雜的密碼和密碼系統,則會産生無窮大的字典。為了解決逆向破解的難題,黑客們就産生了彩虹表的技術。

為了減小規模太大的不足,黑客生成一個反查表僅存儲一小部分哈希值,而每條哈希值可逆向産生一個密碼長鍊(多個密碼)。雖然在鍊表中反查單個密文時需要更多的計算時間,但反查表本身要小得多,因此可以存儲更長密碼的哈希值。Rainbow tables是此鍊條技術的一種改進,并提供一種對被稱為“鍊碰撞”的問題的解決方案。其基于Martin Hellman理論(基于内存與時間的權重理論)。

計算過程

彩虹表主要的算法有LM, NTLM, MD5, SHA1, MYSQLSHA1, HALFLMCHALL, NTLMCHALL, ORACLE-SYSTEM, MD5-HALF。

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

獲得方法

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、Nof tables是控制所生成表破解成功率的,軟件下面會顯示當前選項的破解成功率,當然是越接近100%越有用了,要不生成些破不了幾個也沒多大意義。表分割得越細,成功率就越高,生成的表體積也越大,所需時間也越長。“Charset”是字符集,也就是密碼明文裡所包含的字符,下拉可見有多個選項。設置好後點兩下“OK”就會開始生成,這樣生成結束後的表每張為610.35MB。

直接下載

除了上述兩種生成工具之外,可能還會有些變種,在此不再一一描述。為什麼要說下載的呢?可以自己生成為什麼還要下載呢?嗯,其實原因就是下載比生成很得多,我做過測試,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是一定能破的,隻是時間有點久!

上一篇:3389端口

下一篇:網絡硬盤

相關詞條

相關搜索

其它詞條