個(gè)人感覺(jué)國(guó)內(nèi)幾家桌面安全廠商更加重視傳統(tǒng)的AV技術(shù),我認(rèn)為應(yīng)該他們應(yīng)該拓展一下防御縱深,應(yīng)該開辟網(wǎng)絡(luò)入侵檢測(cè)這一戰(zhàn)場(chǎng)。為什么呢塞茅?很多網(wǎng)上流傳的攻擊方法,比如我這里描述的它們的危害性都不可小覷季率。面對(duì)這樣的威脅野瘦,我測(cè)試的幾款主流產(chǎn)品它們選擇了沉默,毫無(wú)反應(yīng)。
大家都知道的windows密碼破解利器mimikatz鞭光, WCE, creddump可以輕易獲取windows登陸密碼的hash值和明文吏廉。但是有前提的!前提是你能把這些工具都能上傳并且在目標(biāo)機(jī)器上執(zhí)行惰许,并且能逃脫AV席覆。事實(shí)上即使逃過(guò)了靜態(tài)AV,也很難逃過(guò)動(dòng)態(tài)主防汹买。顯然想用這些的工具真正的做事是有困難的佩伤。還有其他方法嗎? 有晦毙。抓取網(wǎng)絡(luò)共享(SMB協(xié)議)登陸認(rèn)證過(guò)程的hash值生巡,通過(guò)RainbowTable破解還原windows密碼明文。這個(gè)實(shí)驗(yàn)中使用的工具是Metasploit SMB Sniffer module, icrack_mt, netntlm.pl结序。當(dāng)然最好下載一個(gè)Back Track障斋。
首先描述一下Windows在訪問(wèn)遠(yuǎn)程共享時(shí)發(fā)生的那些事兒。Windows要使用當(dāng)前登陸用戶的user/psw進(jìn)行認(rèn)證徐鹤,使用的是SMB協(xié)議垃环。也有可能使用空密碼認(rèn)證,也就是所說(shuō)的建立NULL session返敬。不過(guò)不重要遂庄,認(rèn)證過(guò)程都是一樣的:
1.??Client請(qǐng)求認(rèn)證,并列舉支持的認(rèn)證協(xié)議劲赠;
2.??Server選擇認(rèn)證協(xié)議涛目,并返回隨機(jī)的challenge值;
3.??Client使用收到的challenge值對(duì)psw做hash計(jì)算凛澎,并發(fā)送認(rèn)證協(xié)議包霹肝;
4.??Server返回認(rèn)證結(jié)果: 成功,失斔芗濉沫换;
使用Wireshark抓包,以上過(guò)程一目了然最铁。
接著說(shuō)實(shí)驗(yàn)思路讯赏,將這么一個(gè)元素
插入到網(wǎng)頁(yè)中。任何訪問(wèn)這個(gè)網(wǎng)頁(yè)的機(jī)器都會(huì)向10.1.1.3發(fā)送SMB認(rèn)證請(qǐng)求冷尉。這個(gè)時(shí)候就可以再10.1.1.3上面收貨hash了漱挎。
怎樣收獲hash呢?可以使用metasploit中auxiliary/server/capture/smb模擬一個(gè)SMB 共享服務(wù)器雀哨。此服務(wù)器在收到連接認(rèn)證請(qǐng)求后磕谅,指定使用LMNT認(rèn)證協(xié)議,并且返回固定(不是隨機(jī))的challenge值0x1122334455667788。等待收獲怜庸,如圖:
正如你看到的当犯,總共收獲了2組hash值。接下來(lái)的目標(biāo)是破解第二組hash值割疾。在Run SMB 之前請(qǐng)用set JOHNPWFILE /temp/john 命令將hash值保存一份在文件中嚎卫,便于后面的破解『觊牛可以在這里了解更多的Metasploit的使用方法:http://www.offensive-security.com/metasploit-unleashed/Introduction
接下來(lái)就是怎樣將hash值還原成明文密碼了拓诸。為什么之前要使用固定的challenge?因?yàn)橛腥艘呀?jīng)用這個(gè)值生成了彩虹表麻昼,我們可以直接拿來(lái)用奠支。從這里下載需要彩虹表, 注意盡量全部下載,總共16.4G不算多抚芦。ftp://freerainbowtables.mirror.garr.it/mirrors/freerainbowtables/RTI2/halflmchall/
然后下載rcracki:http://sourceforge.net/projects/rcracki/
這里的hash是分段的倍谜,首選破解破解密碼的前7字節(jié)。命令rcrack-mt.exe –h <彩虹表路徑>
rcracki_mt.exe -h 3cf21b4522e336b0 G:\Rainbow
分分鐘之內(nèi)就能破解出來(lái)叉抡,如圖尔崔。嘗試過(guò)在我Intel Core(TM)2 E8500的CPU上破解包含字母,大小寫褥民,數(shù)字季春,特殊字符的9位密碼,最長(zhǎng)時(shí)間都不會(huì)超過(guò)10分鐘消返。
當(dāng)然而這一步只是破解了其中7位载弄,而且字母的大小寫還不對(duì)。
接下來(lái)最后一步撵颊,破解密碼的第二部分宇攻,使用netntlm.pl。如果你用的是Back Track的話倡勇,這個(gè)工具是默認(rèn)安裝了的尺碰。命令:./netntlm.pl –seed “A3;34TE” –file /tmp/john_netntlm
破解完成,得到準(zhǔn)確的密碼A3;34teE$译隘。
其實(shí)我實(shí)驗(yàn)的密碼也不簡(jiǎn)單,破解起來(lái)尚且如此容易洛心。若非很多域管理員強(qiáng)行執(zhí)行密碼策略固耘,很多人設(shè)的密碼更簡(jiǎn)單,破起來(lái)更容易词身。
最后說(shuō)明:win7以后默認(rèn)禁用了NTLM認(rèn)證協(xié)議厅目,測(cè)試不會(huì)成功。但可以再組策略中windows settings – Security Settings – Security Option中啟用。