使用Ophcrack破解系統Hash密碼

甄士隐 2024-04-12 13:36 10次浏览 0 条评论 taohigo.com

在密碼破解上,平常用得最多的是LC5, LC5破解時間相對較長,一直以來俺都沾沾自喜,感覺自己密碼破解方面還是不錯的,可是通過本文的研究後,一個不超過14位的系統密碼一般不超過5分鐘,絕大多數僅僅需要幾十秒中,這意味著當一個系統存在漏洞時,可以在很短時間內控制並滲透內部網絡!

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提供瞭三個免費的彩虹表:

(1)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”。

(2)XP free fast (703MB)

標識:SSTIC04-5k

成功率: 99.9%

字母數字表:

0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ

字母數字表5k大小為703MB 包含所有字母數字組合的密碼中99.9%的LanManager表。但是,由於表變成2倍大,如果你的計算機有1GB以上的RAM空間的話,它的破解速度是前一個的4倍。

(3)XP special (7.5GB)

標識:WS-20k

成功率:96%

XP special擴展表 7.5GB,包含最長14個大小寫字母、數字以及下列33個特殊字符(!"#$%&'()*+,-./:;<=>?@[]^_`{|} ~)組成的密碼中96%的LanManager表。該表中大約有7兆的組合,5*10的12次方(或者2的92次方)密碼,該表需要花錢購買。

(4)破解Vista的彩虹表

Vista free (461MB) 是免費用來破解Vista的hash密碼,而Vista special (8.0GB)需要購買。

小知識:

LM又叫LanManager,它是Windows古老而脆弱的密碼加密方式。任何大於7位的密碼都被分成以7為單位的幾個部分,最後不足7位的密碼以0補足7位,然後通過加密運算最終組合成一個hash。所以實際上通過破解軟件分解後,LM密碼破解的上限就是7位,這使得以今天的PC運算速度在短時間內暴力破解LM加密的密碼成為可能(上限是兩周),如果使用Rainbow tables,那麼這個時間數量級可能被下降到小時。

2.安裝Ophcrack軟件

Ophcrack軟件的安裝過程非常簡單,按照提示安裝即可,在安裝過程需要特別註意,不要選擇下載彩虹表,安裝設置中會提供三個下載選項,分別下載WinXP (380MB)、Winxp (703MB)和Vista (461MB)彩虹表,如圖2所示,筆者在安裝過程中選擇它後下載瞭數個小時,這個表可以在程序安裝完成後再下載。否則安裝Ophcrack軟件要等彩虹表下載完成後才能使用。

圖2 安裝時建議不下載彩虹表

3.使用Ophcrack軟件

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

圖3 Ophcrack軟件主界面

4.下載彩虹表

可以到Ophcrack提供的彩虹表下載地址(http://ophcrack.sourceforge.net/tables.php)去下載,在本案例中分別下載瞭三個免費的彩虹表。

5.設置彩虹表

在Ophcrack軟件主界面中單擊“Table”,接著就會出來如圖4所示的Table Selection界面,在缺省狀態下,所有表都沒有安裝,通過該界面我們瞭解到一共有8個彩虹表,其中有三個是免費的。

圖4 選擇彩虹表

然後單擊並選中其中的一個條目,例如在本例中選擇“Xp free fast”,然後單擊“Install”按鈕,系統會自動到Ophcrack軟件的安裝目錄,不過本例是將三個壓縮文件解壓到F盤,如圖5所示,選擇“Tables”即可,然後一次安裝所獲取的其它二個彩虹表。

圖5 選擇要安裝的彩虹表

註意:

(1)在Ophcrack軟件中其彩虹表的上級目錄名稱必須為“tables”,否則彩虹表安裝不會成功。

(2)彩虹表安裝成功後,其條目會變成綠色,且可以查看一共有多少個表,如圖6所示。

圖6 彩虹表安裝成功

6.準備破解材料

這裡的破解材料主要是指通過GetHashes、Pwdump等軟件獲取的系統Hash密碼值。如果沒有,就自己想辦法獲取一個吧。

7.開始破解

(1)加載sam文件

單擊“Load”按鈕,選擇“PWDUMP file”,如圖7所示,一共有6個選項,第一個主要用於對單個Hash的破解,第二個是對獲取的Pwdump文件進行破解,第三個是對加密的sam文件進行破解,第四個和第五個主要用來審計或者破解本地和遠程Hash密碼。

圖7 選擇破解類型

(2)查看HASH密碼值

在本例中選擇一個已經Pwdump的文件,如果pwdump系統的hash密碼沒有錯誤,則會在Ophcrack軟件主界面中正確顯示,如圖8所示,在主界面中分別顯示“User”、“LM Hash”、“NT Hash”、“LM Pwd1 ”、“LM Pwd2”以及“NT pwd”等信息。

圖 8顯示獲取的Hash密碼值

(3)清理無用Hash值

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

圖9 清理無用用戶的Hash密碼值

(4)執行破解

單擊“Crack”案例開始破解,很快就破解出來瞭密碼為“www119”,其“LM Pwd1”值跟“NT pwd”相同,破解密碼的時間僅僅“37s”。

圖10 破解系統密碼成功

(5)查看破解統計信息

在主界面中單擊“statistics”,可以查看關於破解hash密碼值的普通和詳細信息,如圖11所示。

圖11查看所破解密碼的有關統計信息

(6)破解參數設置

單擊“Preferences”打開破解參數設置窗口,如圖12所示,可以設置破解的線程,破解方式,是否隱藏用戶名等。

圖12 設置破解參數

8.彩虹表破解密碼防范策略

通過彩虹表來破解密碼使得入侵者可以很方便的獲取系統的口令,從而“正常”登錄系統,讓管理員或者計算機的主人不太容易發現。通過研究,發現可以通過兩種方式來加強系統口令的安全。

(1)通過設置超過一定位數的密碼來加固口令安全

使用彩虹表破解14位以下的密碼相對容易,對於普通入侵者來說僅僅有三個免費表,因此破解的強度相對要弱一些,因此可以通過增加密碼設置的位數來加固系統口令安全。筆者建議設置超過32位的密碼來加固系統的口令安全。關於口令的設置技巧有很多,在我們研究的專題中曾經提到過,在此為瞭照顧新朋友,可以再提一次密碼設置的技巧:

通過一句話來設置密碼,例如“2008-8月我國舉辦瞭奧運會,我去北京鳥巢觀看瞭比賽,感覺很爽!”。可以這樣設置“2008-8ywgjblayh,wqbjlcgklbs,gjhs!”,關於時間全取,標點符號全取,其他漢字取第一個字母,該密碼長度為33位,如果再想長一點,還可以增加。其本質就是選擇一句話或者詩詞中的某一段來設置,容易記住,且安全強度高。

(2)使用NTLM方式加密

LM這種脆弱的加密方式在Windows2003還在使用,可以通過更改加密方式為NTLM,從而提高系統口令的安全,筆者在很多案例中也曾經發現通過pwdump以及GetHashes軟件獲取瞭hash值,但LC5以及Ophcrack軟件均不能破解。

可以通過設定註冊表參數禁用LM加密,代之以NTLM方式加密方法如下:

(1)打開註冊表編輯器;

(2)定位到 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLsa;

(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加密,在Windows 2000以後逐步引入的NTLM 2.0加密。但是LM加密方式默認還是開啟的,除非通過上面的方法刻意關閉它。