黑客技術(shù)完全解析—我的黑色工具
在本文中,作者主要介紹了黑客用于攻擊網(wǎng)絡(luò)的一些工具。通過了解這些黑客工具的使用方法,讀者可以更好地保護(hù)自己網(wǎng)絡(luò)的安全。
為了幫助你更好地防范時(shí)刻發(fā)生的攻擊事件,本文描述了流行的黑客工具及有效的防范技術(shù),你可以利用這些技術(shù)來保障網(wǎng)絡(luò)的安全。
特別說明
本文不是在教你如何去攻擊他人的系統(tǒng),而是客觀描述了現(xiàn)實(shí)世界中發(fā)生的攻擊事件,并向你提供了抵御這些攻擊的方法。
由于這些工具可以在網(wǎng)上免費(fèi)下載,并且它可能會損害你的系統(tǒng),因此,作者在文中論述某一工具時(shí),并不表示他默許或是推薦你使用。作者提醒:在使用這些工具時(shí),你一定要慎重、小心,而且你必須弄清楚源代碼的意思。
工具一:PasswordCrackers
PasswordCrackers因其用途廣泛而成為黑客使用的主流工具。實(shí)施口令破譯攻擊分為兩步,第一步:攻擊者首先從被攻擊對象的計(jì)算機(jī)里讀出一個(gè)加密口令檔案(大部分系統(tǒng),包括WindowsNT及UNIX,他們把口令加密后儲存在檔案系統(tǒng)內(nèi),以便當(dāng)用戶登錄時(shí)認(rèn)證);第二步:攻擊者以字典為輔助工具,用PasswordCrackers開始嘗試去破譯口令。其辦法是把字典的每一項(xiàng)進(jìn)行加密,然后兩者進(jìn)行比較。假若兩個(gè)加密口令相符,黑客就會知道該口令;假若兩者不符,此工具繼續(xù)重復(fù)工作,直到字典最后一項(xiàng)。有時(shí),黑客們甚至?xí)嚤槊恳环N字母的組合。使用該種方法,口令破譯的速度與加密及比較的速度有關(guān)。
工具二:L0phtCrack
L0phtCrack由黑客組L0phtHeavyIndustries撰寫,于1997年推出。它以共享軟件(Shareware)的形式傳播。它專門用于破譯WindowsNT口令。此工具性能強(qiáng)大,又很容易使用,初學(xué)者只需少量指點(diǎn)便能破譯口令。1999年1月推出的L0phtCrack2.5版優(yōu)化了DES密碼程序,軟件性能也隨之提高(比舊版本快450%)。據(jù)稱,一臺450MHzPentiumII計(jì)算機(jī)一天內(nèi)就可破譯所有字母數(shù)字混合的口令。
L0phtCrack可通過多種渠道得到加密的口令檔案。只要黑客運(yùn)行一個(gè)包含L0phtCrack的程序,或從windowNT系統(tǒng)管理員的備份軟盤里拷貝一個(gè)程序,就可以得到WindowsNT系統(tǒng)里的SAM數(shù)據(jù)庫。L0phtCrack最新版的GUI可以從網(wǎng)絡(luò)中得到加密的Windows口令。當(dāng)你登錄到NT域,你的口令會被用哈希算法送到網(wǎng)絡(luò)上。L0phtCrack的內(nèi)置嗅探器很容易找到這個(gè)加密值并破譯它。
因?yàn)檫@個(gè)工具對IT從業(yè)人員也有極大用處,所以從L0phtCrack2.0版以后開始收取注冊費(fèi)。最新版可以有15天免費(fèi)試用期,超過15日則收取100美金,并且有多個(gè)破譯程序以供選擇,有些收取費(fèi)用,有些可從自由軟件庫中得到。
L0phtCrack的防范
抵御口令破譯攻擊的最好方法是執(zhí)行強(qiáng)制的口令防范政策。例如要求用戶設(shè)想的口令很難被猜到。如口令應(yīng)該至少有8位,包括數(shù)字、字母及特殊字符(如!@#$%);口令應(yīng)不包括字典字。為了進(jìn)一步保障安全,一些口令自動(dòng)設(shè)置工具可以幫助用戶設(shè)計(jì)復(fù)雜的口令。
此外,你應(yīng)該時(shí)常用口令破譯工具檢查公司的口令是否安全。當(dāng)然,只有安全管理人員或是經(jīng)他們授權(quán)的人員才能允許使用該種工具,而且必須得到書面的批準(zhǔn)。同時(shí)你也應(yīng)當(dāng)事先對口令不幸被破譯的用戶做出解決方案,選擇向他發(fā)Email,還是親自拜訪用戶,向他解釋你的口令政策。這些問題在進(jìn)行口令評估前應(yīng)考慮完全。
工具三:WarDialers
很多公司非常重視防火墻的安全。然而,這個(gè)堅(jiān)固的防線只封住了網(wǎng)絡(luò)的前門,但內(nèi)部網(wǎng)中不注冊的調(diào)制解調(diào)器卻向入侵者敞開了“后門”。WarDialers能迅速地找出這些調(diào)制解調(diào)器,隨即攻入網(wǎng)絡(luò)。因此,它成為一個(gè)非常受入侵者歡迎的工具。
WarDialer因電影“WarGames”而一舉成名。它的攻擊原理非常簡單:不斷以順序或亂序撥打電話號碼,尋找調(diào)制解調(diào)器接通后熟悉的回應(yīng)音。一旦WarDialers找到一大堆能接通的調(diào)制解調(diào)器后,黑客們便撥號入網(wǎng)繼續(xù)尋找系統(tǒng)內(nèi)未加保護(hù)的登錄或容易猜測的口令。WarDialers首選攻擊對象是“沒有口令”的PC遠(yuǎn)程管理軟件。這些軟件通常是由最終用戶安裝用來遠(yuǎn)程訪問公司內(nèi)部系統(tǒng)的。這些PC遠(yuǎn)程控制程序當(dāng)用到不安全的調(diào)制解調(diào)器時(shí)是異常脆弱的。
THC-Scan是TheHacker’sChoice(THC)Scanner的縮寫。這個(gè)WarDialers工具是由“vanHauser”撰寫的。它的功能非常齊全。THC-Scan2.0版于1998年圣誕節(jié)推出,THC-Scan與Toneloc(由“MinorThreat”及“MuchoMaas”撰寫)用途近似。THC-Scan與其他普通WarDialers工具不同,它能自動(dòng)檢測調(diào)制解調(diào)器的速度、數(shù)據(jù)位、校驗(yàn)位及停止位。此工具也嘗試去判斷被發(fā)現(xiàn)的計(jì)算機(jī)所使用的操作系統(tǒng)。而且,THC-Scan有能力確認(rèn)什么時(shí)候能再有撥號音,這樣,黑客們便可以不經(jīng)過你的PBX就可以撥打免費(fèi)電話。
WarDialers的防范
當(dāng)然,最有效防范措施就是使用安全的調(diào)制解調(diào)器。取消那些沒有用途的調(diào)制解調(diào)器。且用戶必須向IT部門注冊后才能使用調(diào)制解調(diào)器。對那些已注冊并且只用作外發(fā)的調(diào)制解調(diào)器,就將公司的PBX的權(quán)限調(diào)至只允許外撥。每個(gè)公司應(yīng)有嚴(yán)格的政策描述注冊的調(diào)制解調(diào)器并控制PBX。由于市場零售店內(nèi)有使用方便、價(jià)格便宜的數(shù)字調(diào)制解調(diào)器出售,用戶也能把調(diào)制解調(diào)器安裝在只有數(shù)字線的PBX上使用。
除此之外,你還要定期作滲透測試,找出電話交換器內(nèi)不合法的調(diào)制解調(diào)器。選用一個(gè)好的工具去尋找與網(wǎng)絡(luò)連接的調(diào)制解調(diào)器。對于被發(fā)現(xiàn)、但未登記的調(diào)制解調(diào)器,要么拿掉它們,要么重新登記。
#p#工具四:NetCat
NetCat是一個(gè)用途廣泛的TCP及UDP連接工具。它是由“Hobbit”于1995年為UNIX編寫的,于1997年推出。對系統(tǒng)管理人員及網(wǎng)絡(luò)調(diào)試人員而言,它是一個(gè)非常有用的工具。當(dāng)然,它也是一個(gè)攻擊網(wǎng)絡(luò)的強(qiáng)大工具。
NetCat有許多功能,號稱黑客們的“瑞士軍刀”。與功能強(qiáng)大的UNIX腳本語言結(jié)合時(shí),NetCat是制造網(wǎng)絡(luò)工具的基本組件。NetCat的基本程序可以以聆聽式和客戶式兩種方式運(yùn)行。當(dāng)以聆聽式運(yùn)行時(shí),NetCat是一個(gè)服務(wù)器進(jìn)程,等待與指定的TCP或UDP端口連接。而以客戶式運(yùn)行時(shí),NetCat能連接到用戶指定的任何端口。
NetCat在一個(gè)系統(tǒng)內(nèi)以聆聽式運(yùn)行,同時(shí)在另一系統(tǒng)內(nèi)以客戶式運(yùn)行時(shí),NetCat可以發(fā)動(dòng)很多攻擊。它可以在任何端口提供后門登錄,如UDP端口53。從網(wǎng)絡(luò)包角度來分析,這種登錄被看成是一系列DNS問答,其實(shí)這是真正的后門登錄。當(dāng)在兩系統(tǒng)內(nèi)以兩種方式同時(shí)運(yùn)行時(shí),NetCat可以在任何端口架構(gòu)快捷、簡單的檔案傳輸機(jī)制。
NetCat也可以是源路包。當(dāng)NetCat以客戶方式運(yùn)行時(shí),它是個(gè)UDP及TCP端口掃描器。當(dāng)它發(fā)現(xiàn)系統(tǒng)內(nèi)有打開的端口時(shí),NetCat會輕而易舉地與這些端口連接。
NetCatNT版有一個(gè)獨(dú)特之處:它可以將自己綁定在當(dāng)前進(jìn)程的端口前端。利用這一功能可以非常有效地向服務(wù)器或Web服務(wù)器發(fā)動(dòng)攻擊。這種連接也可以因拒絕服務(wù)攻擊(Denial-of-serviceDoS)而被斷掉。有時(shí)黑客把自己的請求送到正當(dāng)?shù)姆?wù)器進(jìn)程前,編寫特別的程序用來尋找敏感數(shù)據(jù)(口令、銀行帳號等)。
NetCat防范
最佳防范NetCat的方法是“最小特權(quán)原理”(昵稱為“polyp”)(PrincipleofLeastPriviledges)。也就是說,不讓不需要的端口經(jīng)過防火墻,只有那些你允許通過的端口可以與指定的主機(jī)連接。例如:經(jīng)過防火墻的DNS查詢,只打開需要此服務(wù)的UDP53端口(通常是一個(gè)內(nèi)部DNS服務(wù)器把這些查詢轉(zhuǎn)出到Internet)。這樣就可以防止攻擊者有機(jī)會把NetCat包送到你內(nèi)部網(wǎng)的任何主機(jī)上。
至于那些可以被外部訪問的系統(tǒng),在防范NetCat攻擊時(shí),你要清楚這些機(jī)器上已運(yùn)行的進(jìn)程,并且仔細(xì)調(diào)查那些不尋常進(jìn)程,因?yàn)樗鼈兛赡苁呛箝T聆聽者。你必須定期檢查端口,以便發(fā)現(xiàn)有沒有聆聽者侵入你的機(jī)器。
為了防止回放攻擊,所有應(yīng)用系統(tǒng)應(yīng)該為每條消息(包括webcookies、表單或者是原始數(shù)據(jù))蓋上時(shí)間印及順序號碼。所有消息的時(shí)間印及順序號應(yīng)經(jīng)過密碼完整性測試,確保沒有被修改或回放。
工具五:SessionHijacking
很多應(yīng)用系統(tǒng)采用命令行登錄是不安全的,尤其是telnet、rsh、rlogin及FTP程式,它們?nèi)呛诳凸魧ο蟆H魏我粋€(gè)黑客在連接了客戶與服務(wù)器之間的網(wǎng)段后,可以用SessionHijacking工具接管會話。
當(dāng)一個(gè)合法用戶登錄到命令行進(jìn)行會話時(shí),黑客可以找到此會話并馬上代表用戶接管此會話,重新連接客戶,這樣黑客便完全控制這個(gè)登錄,進(jìn)而黑客成為合法用戶。而真正的用戶會簡單地認(rèn)為網(wǎng)絡(luò)出故障了,從而會斷掉會話。
黑客圈里有大量此種黑客工具,最新的有“Kra”于1998年11月編寫的Hunt,還有“daemon9”編寫的juggernaut,它們均提供基本的SessionHijacking功能。
SessionHijacking防范
對于敏感的會話通信(如防火墻的遠(yuǎn)程管理、PKI或是其他重要部件的管理),選用一個(gè)有密碼認(rèn)證功能的工具把整個(gè)會話加密是一個(gè)好選擇。SecureShell(SSH)就提供這些功能。VPN產(chǎn)品也提供認(rèn)證及會話加密。黑客沒有在SSH或VPN工具里所用的鑰匙便無法進(jìn)行會話攻擊。
其他攻擊工具
ROOTEXPLOITS
攻擊者利用ROOTEXPLOITS,使用普通UNIX帳號訪問超級用戶從而接管機(jī)器。攻擊者在UNIX系統(tǒng)里有無數(shù)方法把自己升級。
ROOTEXPLOITS的防范
安全從業(yè)人員及系統(tǒng)管理員應(yīng)參照CarnegieMellon的CERT(cert.org)及bugtrag(subscribe:listserve@netspace.org)的安全簡訊,密切注意新的exploits。當(dāng)新的攻擊被擊破后,應(yīng)迅速并且有步驟地為受影響的機(jī)器進(jìn)行測試和安裝廠家的補(bǔ)丁程序。對于對外公開使用的Web服務(wù)器、DNS系統(tǒng)、防火墻等,應(yīng)該使用基于主機(jī)的安全監(jiān)控軟件檢測尋找根目錄的用戶。
【編輯推薦】