使用Rainbow tables和Ophcrack的组合工具破解Windows密码
本文為尋找人生的起點 (http://blog.cn-ic.org)原創,如需轉載,請注明出處,并保留原文鏈接 。
?
從前面的兩篇文章(得到WindowsXP管理員權限的有效方法 ,John/bkhive/samdump, 在Linux下破解SAM密碼 ) 可以看出我對Windows系統權限突破的興趣。由于目前的壓迫尚未推翻,所以反抗還在繼續。這次討論的是采用Rainbow Table與Ophcrack結合的另外一種暴力破解機制。這里假設的前提是你已經得到加密hash。如果你還沒有辦法得到hash,請參考上面提到的兩 篇文章。
說實話,google上關于rainbow tables的相關說明并不多。相信最全的解釋可以通過這個鏈接 了解。但是wiki的,英文的,除非有特別必要的需求之前我還沒有打算細細研究。但是據我目前的了解,作如下解釋,不確切之處還請指出:
Rainbow tables是一些表,它可以是指定字符的各種組合以及這些組合經過MD5或LM或NTLM等加密手段加密后的對照表。所以可想而知,這些表是相當龐大 的。當你得到這些表后,破解hash密碼實際上相當于字典破解了,速度相對普通的暴力破解會大大增加。下面讓我告訴你著名的基于Rainbow tables的開源破解軟件Ophcrack 的幫助文檔里面描述的表有多大吧:
針對LM密碼的Rainbow Tables:
1.包含所有字母和數字1-7位組合的Table分成有兩個 Alphanumeric SSTIC04-10k(388MB)和Alphanumeric SSTIC04-5k(720MB),從我查得的資料表明這兩個Table在密碼組合個數上是一致的。但是Alphanumeric SSTIC04-5k文件更大一倍,如果有1G以上的內存的話,破解速度快4四倍(為什么會有這種詭異的差異,沒有查到)。他們包含800億個hash, 由于LM加密對大小寫不敏感,所以能破解2^83個1-14位的LM密碼。
下載地址: http://lasecwww.epfl.ch/~oechslin/projects/ophcrack/
2.LM延伸表,包含所有字母+數字+33個特殊字符(!”#$%&’()*+,-./:;<=>?@[/]^_`{|} ~)的96%的1-7位組合包含7萬億個hash,能破解2^92個LM密碼。大小7.5G
獲取方式:目前沒有官方下載,可以通過ophcrack的網站購買DVD,價格$240,地址:http://www.objectif-securite.ch/en/products.php
另外我找到freerainbowtables.com 的bt下載,號稱更大,33.8G(http://www.freerainbowtables.com/tables/lm.php ),或者下載軟件自己生成(生成方式見本文后面)。
針對NTLM密碼的Rainbow Tables:
1.NT hash table: 包含1-6位的字母+數字+33個特殊字符組合,7位字母+數字組合,8位小寫字母+字符組合;包含7萬億個hash,能破解7萬億個密碼。大小8.5G
獲取方式: 目前沒有官方下載,可以通過ophcrack的網站購買DVD,大小就是上面描述的8.5G,價格$240,地址:http://www.objectif-securite.ch/en/products.php
同樣可以上 freerainbowtables.com 看看(地址:http://www.freerainbowtables.com/tables/ntlm.php ),有很多選擇,最大的1-9位小寫字母+數字組合有123G,小心你的磁盤。
從上面的內容我們可以看到Rainbow tables都相當龐大。而實際上這些東西從某種意義上來說都只是字典文件而已。當然它跟傳統的字典是有區別的,它是一個龐大的字符加密hash與字符加 密前的對照表,使用相應破解工具在破解過程中進行的只是對比的工作,省卻了將字符加密計算的過程,從而大大節省了時間。
如果上面提到的Rainbow Tables的獲取有困難,或者不滿意他們的組合方式,也可以自己生成,這里有一個開源工具:
RainbowCracK:http://www.antsight.com/zsl/rainbowcrack/ 作者可能是個叫Lei Shuang 的國人。
目前最新版本:rainbowcrack-1.2
提供Windows二進制碼(rainbowcrack-1.2-win.zip )和可用于所有平臺(Windows/Linux/Unix等)的源碼(rainbowcrack-1.2-src.zip )
提供自定義組合字符,
提供lm,md5,sha1以及自定義組合加密方式。如果加一個補丁( Algorithm patch for RainbowCrack 1.2 )還提供NTLM,MD2, MD4 and RIPEMD160加密算法
如果你打算使用工具自己生成的大Table的話,你需要做好心理準備,需要強勁的CPU,大的磁盤可用空間,以及大量的時間(使用單臺PC以年為單位的時間)。所以該工具的主頁上也有一些Table提供下載。
講了半天,上面提到的還只是Rainbow tables的各種表,至于如何使用這些表,還需要一個工具。這里推薦大名鼎鼎的Ophcrack:
Ophcrack主頁:http://ophcrack.sourceforge.net/
最新版本:Ophcrack-2.4.1 ,提供Windows二進制文件包(ophcrack-win32-installer-2.4.1.exe )和可用于所有平臺(Windows/Linux/Unix等)的源碼(ophcrack-2.4.1.tar.gz )
使用該軟件破解需要兩個條件
1.需要另外提供Rainbow tables,就是上面提到的
2.要求已經得到密碼的hash,方法可參考John/bkhive/samdump, 在Linux下破解SAM密碼 ,所以主頁還提供了 bkhive-1.1.1.tar.gz 和 samdump2-1.1.1.tar.gz 。
另外Ophcrack還提供一個Live CD,最新版本1.2.2,下載地址:ophcrack-livecd-1.2.2.iso
ophcrack-livecd 基于一個叫SLAX6的小Linux 系統,整個系統包括SLAX6,ophcrack for linux 以及一些小的字母+數字的Rainbow tables。大小477M
所以只要可以通過光盤啟動,無需安裝就可以開始破解了。
關于Windows密碼的LM加密和NTLM加密:
LM又叫LanManage,它是Windows古老而脆弱的密碼加密方式。任何大于7位的密碼都被分成以7為單位的幾個部分,最后不足7位的密碼 以0補足7位,然后通過加密運算最終組合成一個hash。所以實際上通過破解軟件分解后,LM密碼破解的上限就是7位,這使得以今天的PC運算速度在短時 間內暴力破解LM加密的密碼成為可能(上限是兩周),如果使用Rainbow tables, 那么這個時間數量級可能被下降到小時。而這種脆弱的加密方式在Windows2003還在使用。當然我們也可以通過設定注冊表參數禁用LM加密,代之以 NTLM方式加密(默認生成LM以及NTLM兩種方式的加密hash).方法如下:
1. 打開注冊表編輯器;
2. 定位到 HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Lsa;
3. 選擇菜單“編輯”,“添加數值”;
4. 數值名稱中輸入:LMCompatibilityLevel ,數值類型為:DWORD,單擊 確定;
5. 雙擊新建的數據,并根據具體情況設置以下值:
0 – 發送 LM 和 NTLM響應;
1 – 發送 LM 和 NTLM響應;
2 – 僅發送 NTLM響應;
3 – 僅發送 NTLMv2響應;(Windows 2000有效)
4 – 僅發送 NTLMv2響應,拒絕 LM;(Windows 2000有效)
5 – 僅發送 NTLMv2響應,拒絕 LM 和 NTLM;(Windows 2000有效)
6. 關閉注冊表編輯器;
7. 重新啟動機器
在Windows NT SP3引入了NTLM加密以及Windows2000以后逐步引入的NTLM 2.0加密解決了這個問題,讓我們在短期內破解長度超過8位的密碼成為一種運氣。但是LM加密方式默認還是開啟的,除非通過上面的方法刻意關閉它。
總結
以上是生活随笔為你收集整理的使用Rainbow tables和Ophcrack的组合工具破解Windows密码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一致性哈希简单介绍
- 下一篇: 独立集,覆盖集,支配集,最大团,最大匹配