- Web滲透技術及實戰案例解析
- 陳小兵 范淵 孫立偉編著
- 3067字
- 2018-12-26 19:37:02
1.9 使用Ophcrack破解系統Hash密碼
在密碼破解上,平常用得最多的是LC5,LC5破解時間相對較長,一直以來俺都沾沾自喜,感覺自己密碼破解方面還是不錯的,可是通過進一步的研究后,一個不超過14位的系統密碼一般不超過5分鐘破解,絕大多數僅僅需要幾十秒鐘,這意味著當一個系統存在漏洞時,可以在很短時間內控制并滲透內部網絡!
1.9.1 通過已有信息再次進行搜索和整理
通過查看他人的blog以及發表的文章,并對其進行分析和整理,最終獲取了以下一些信息和資料。
(1)工具下載:http://sourceforge.net/project/showfiles.php?group_id=133599。
(2)Ophcrack主頁:http://ophcrack.sourceforge.net/。
(3)英文維克關于彩虹表的定義和解釋:http://en.wikipedia.org/wiki/Rainbow_table。
(4)國內對彩虹表的研究:http://www.antsight.com/zsl/rainbowcrack/。
(5)目前有關研究Ophcrack與彩虹表的相關資料。
通過以上前三個步驟,我再次進行資料的分類,工具軟件的下載,在此過程中分別下載了Ophcrack軟件以及源代碼,以及Ophcrack提供的彩虹表(http://ophcrack.sourceforge. net/tables.php),通過查看我們知道Ophcrack提供了三個免費的彩虹表和一個需花錢購買的XP special擴展表:
①XP free small(380MB)
標識:SSTIC04-10k
破解成功率:99.9%
字母數字表:
123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
一句話,該表由大小寫字母加數字生成,大小為388MB,包含所有字母數字混合密碼中99.9%的LanManager表。這些都是用大小寫字母和數字組成的密碼(大約800億組合)。
由于LanManager哈希表將密碼截成每份7個字符的兩段,我們就可以用該表破解長度在1到14之間的密碼。由于LanManager哈希表也是不區分大小寫的,該表中的800億的組合就相當于12*10的11次方(或者2的83次方)個密碼,因此也被稱為“字母數字表10K”。
②XP free fast(703MB)
標識:SSTIC04-5k
成功率: 99.9%
字母數字表:
0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
字母數字表5KB大小為703MB,包含所有字母數字組合的密碼中99.9%的LanManager表。但是,隨著表變成2倍大,如果你的計算機有1GB以上RAM空間的話,則它的破解速度是前一個表的4倍。
③XP special(7.5GB)
標識:WS-20k
成功率:96%
XP special擴展表 7.5GB,包含最長14個大小寫字母、數字以及下列33個特殊字符(!"#$%&'()*+,-./:;<=>?@[\]^_`{|} ~)組成的密碼中96%的LanManager表。該表中大約有7兆的組合,5*10的12次方(或者2的92次方)密碼,該表需要花錢購買。
④破解Vista的彩虹表
Vista free(461MB)是免費用來破解Vista的Hash密碼,而Vista special(8.0GB)需要購買。
小知識:
LM又叫LanManager,它是Windows古老而脆弱的密碼加密方式。任何大于7位的密碼都被分成以7為單位的幾個部分,最后不足7位的密碼以0補足7位,然后通過加密運算最終組合成一個Hash。所以實際上通過破解軟件分解后,LM密碼破解的上限就是7位,這使得以今天的PC運算速度在短時間內暴力破解LM加密的密碼成為可能(上限是兩周),如果使用彩虹表,那么這個時間數量級可能被下降到小時級。
1.9.2 安裝Ophcrack軟件
Ophcrack軟件的安裝過程非常簡單,按照提示安裝即可,在安裝過程中需要特別注意,不要選擇下載彩虹表,安裝設置中會提供三個下載選項,分別下載Windows XP(380MB)、Windows XP(703MB)和Windows Vista(461MB)彩虹表,如圖1-60所示,筆者在安裝過程中選擇它后下載了數個小時,這個表可以在程序安裝完成后再下載。否則安裝Ophcrack軟件要等彩虹表下載完成后才能使用。

圖1-60 安裝時建議不下載彩虹表
1.9.3 使用Ophcrack軟件
從程序菜單中直接運行Ophcrack軟件,如圖1-61所示,該軟件主要有“Load”、“Delete”、“Save”、“Table”、“Crack”、“Help”以及“Exit”七大主要模塊,“Load”主要負責裝載Hash或者sam文件?!癉elete”主要用來刪除破解條目,“Save”主要保存破解結果或者破解session,“Table”主要用來設置彩虹表,“Crack”是開始執行破解,“Help”是查看幫助文件,呵呵,“Exit”俺就不說了。

圖1-61 Ophcrack軟件主界面
1.9.4 下載彩虹表
可以到Ophcrack提供的彩虹表下載地址(http://ophcrack.sourceforge.net/tables.php)去下載,在本案例中分別下載了三個免費的彩虹表。
1.9.5 設置彩虹表
在Ophcrack軟件主界面中單擊“Table”,接著就會出現如圖1-62所示的Table Selection界面,在默認狀態下,所有表都沒有安裝,通過該界面我們了解到一共有8個彩虹表,其中有三個是免費的。
然后單擊并選中其中的一個條目,例如在本例中選擇“Xp free fast”,然后單擊“Install”按鈕,系統會自動到Ophcrack軟件的安裝目錄,不過本例是將三個壓縮文件解壓到F盤,如圖1-63所示,選擇“Tables”即可,然后一次安裝所獲取的其他二個彩虹表。

圖1-62 選擇彩虹表

圖1-63 選擇要安裝的彩虹表
注意:
(1)在Ophcrack軟件中其彩虹表的上級目錄名稱必須為“tables”,否則彩虹表安裝不會成功。
(2)彩虹表安裝成功后,其條目會變成綠色,且可以查看一共有多少個表,如圖1-64所示。

圖1-64 彩虹表安裝成功
1.9.6 準備破解材料
這里的破解材料主要是指通過GetHashes、Pwdump等軟件獲取的系統Hash密碼值。如果沒有,就自己想辦法獲取一個吧。
1.9.7 開始破解
(1)加載sam文件
單擊“Load”按鈕,選擇“PWDUMP file”,如圖1-65所示,一共有6個選項,第一個主要用于對單個Hash的破解,第二個是對獲取的Pwdump文件進行破解,第三個是對加密的sam文件進行破解,第四個和第五個主要用來審計或者破解本地和遠程Hash密碼。

圖1-65 選擇破解類型
(2)查看HASH密碼值
在本例中選擇一個已經Pwdump的文件,如果pwdump系統的Hash密碼沒有錯誤,則會在Ophcrack軟件主界面中正確顯示,如圖1-66所示,在主界面中分別顯示“User”、“LM Hash”、“NT Hash”、“LM Pwd1”、“LM Pwd2”以及“NT pwd”等信息。

圖1-66 顯示獲取的Hash密碼值
(3)清理無用Hash值
在本例中“IUSR_XFFZD-R1”、“TWWM_XFZD-SER1”和“TsInternetUser”這三個用戶是系統自身的,在口令破解中基本沒有用處,除非有人對該賬號進行了克隆,因此可以分別選中需要刪除的賬號,然后單擊主界面“Delete”按鈕,刪除這三個無用的賬號以及我添加的“king$”賬號,僅僅留下并破解管理員賬號,清理完畢后如圖1-67所示。

圖1-67 清理無用用戶的Hash密碼值
(4)執行破解
單擊“Crack”按鈕開始破解,很快就破解出來了密碼為“www119”,其“LM Pwd1”值跟“NT pwd”相同,破解密碼的時間僅僅“37秒”,如圖1-68所示。

圖1-68 破解系統密碼成功
(5)查看破解統計信息
在主界面中單擊“statistics”,可以查看關于破解Hash密碼值的普通和詳細信息,如圖1-69所示。

圖1-69 查看所破解密碼的有關統計信息
(6)破解參數設置
單擊“Preferences”打開破解參數設置窗口,如圖1-70所示,可以設置破解的線程,破解方式,是否隱藏用戶名等。

圖1-70 設置破解參數
1.9.8 彩虹表破解密碼防范策略
通過彩虹表來破解密碼使得入侵者可以很方便地獲取系統的口令,從而“正?!钡卿浵到y,讓管理員或者計算機的主人不太容易發現。通過研究,發現可以通過兩種方式來加強系統口令的安全。
(1)通過設置超過一定位數的密碼來加固口令安全
使用彩虹表破解14位以下的密碼相對容易,對于普通入侵者來說僅僅有三個免費表,因此破解的強度相對要弱一些,因此可以通過增加密碼設置的位數來加固系統口令安全。筆者建議設置超過32位的密碼來加固系統的口令安全。關于口令的設置技巧有很多,在我們研究的專題中曾經提到過,在此再提一下密碼設置的技巧:
通過一句話來設置密碼,例如“2008-8月我國舉辦了奧運會,我去北京鳥巢觀看了比賽,感覺很爽!”??梢赃@樣設置“2008-8ywgjblayh,wqbjlcgklbs,gjhs!”,關于時間全取,標點符號全取,其他漢字取第一個字母,該密碼長度為33位,如果再想長一點,還可以增加。其實質就是選擇一句話或者詩詞中的某一段來設置,容易記住,且安全強度高。
(2)使用NTLM方式加密
LM這種脆弱的加密方式在Windows 2003還在使用,可以通過更改加密方式為NTLM,從而提高系統口令的安全,筆者在很多案例中也曾經發現通過pwdump以及GetHashes軟件獲取了Hash值,但LC5以及Ophcrack軟件均不能破解。
可以通過設定注冊表參數禁用LM加密,代之以NTLM方式加密方法如下。
①打開注冊表編輯器。
②定位到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa。
③選擇菜單“編輯”,“添加數值”。
④數值名稱中輸入:LMCompatibilityLevel,數值類型為:DWORD,單擊“確定”按鈕。
⑤雙擊新建的數據,并根據具體情況設置以下值。
0 - 發送 LM 和 NTLM響應。
1 - 發送 LM 和 NTLM響應。
2 - 僅發送 NTLM響應。
3 - 僅發送 NTLMv2響應(Windows 2000有效)。
4 - 僅發送 NTLMv2響應,拒絕LM(Windows 2000有效)。
5 - 僅發送 NTLMv2響應,拒絕LM和NTLM(Windows 2000有效)。
⑥關閉注冊表編輯器。
⑦重新啟動機器。
在Windows NT SP3引入了NTLM加密,在Windows 2000以后逐步引入的NTLM 2.0加密。但是LM加密方式默認還是開啟的,除非通過上面的方法刻意地關閉它。