木马的原理:解析危险的特洛伊木马恶意程序(转)
生活随笔
收集整理的這篇文章主要介紹了
木马的原理:解析危险的特洛伊木马恶意程序(转)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
一位客戶的PC出現(xiàn)了奇怪的癥狀,速度變慢,CD-ROM托盤毫無(wú)規(guī)律地進(jìn)進(jìn)出出,從來(lái)沒有見過的錯(cuò)誤信息,屏幕圖像翻轉(zhuǎn),等等。我切斷了他的Internet連接,然后按照對(duì)付惡意軟件的標(biāo)準(zhǔn)步驟執(zhí)行檢查,終于找出了罪魁禍祝毫礁鱸凍譚夢(mèng)侍羋逡聊韭懟??桓鍪荂ult of the Dead Cow臭名昭著的Back Orifice,還有一個(gè)是不太常見的The Thing。在這次事件中,攻擊者似乎是個(gè)小孩,他只想搞些惡作劇,讓別人上不了網(wǎng),或者交換一些色情資料,但沒有什么更 危險(xiǎn)的舉動(dòng)。如果攻擊者有其他更危險(xiǎn)的目標(biāo),那么他可能已經(jīng)從客戶的機(jī)器及其網(wǎng)絡(luò)上竊得許多機(jī)密資料了。
特洛伊木馬比任何其他惡意代碼都要危險(xiǎn),要保障安全,最好的辦法就是熟悉特洛伊木馬的類型、工作原理,掌握如何檢測(cè)和預(yù)防這些不懷好意的代碼。
一、初識(shí)特洛伊木馬
特洛伊木馬是一種惡意程序,它們悄悄地在宿主機(jī)器上運(yùn)行,就在用戶毫無(wú)察覺的情況下,讓攻擊者獲得了遠(yuǎn)程訪問和控制系統(tǒng)的權(quán)限。一般而言,大多數(shù)特洛伊木馬都模仿一些正規(guī)的遠(yuǎn)程控制軟件的功能,如Symantec的pcAnywhere,但特洛伊木馬也有一些明顯的特點(diǎn),例如它的安裝和操作都是在隱蔽之中完成。攻擊者經(jīng)常把特洛伊木馬隱藏在一些游戲或小軟件之中,誘使粗心的用戶在自己的機(jī)器上運(yùn)行。最常見的情況是,上當(dāng)?shù)挠脩粢磸牟徽?guī)的網(wǎng)站下載和運(yùn)行了帶惡意代碼的軟件,要么不小心點(diǎn)擊了帶惡意代碼的郵件附件。
大多數(shù)特洛伊木馬包括客戶端和服務(wù)器端兩個(gè)部分。攻擊者利用一種稱為綁定程序的工具將服務(wù)器部分綁定到某個(gè)合法軟件上,誘使用戶運(yùn)行合法軟件。只要用戶一運(yùn)行軟件,特洛伊木馬的服務(wù)器部分就在用戶毫無(wú)知覺的情況下完成了安裝過程。通常,特洛伊木馬的服務(wù)器部分都是可以定制的,攻擊者可以定制的項(xiàng)目一般包括:服務(wù)器運(yùn)行的IP端口號(hào),程序啟動(dòng)時(shí)機(jī),如何發(fā)出調(diào)用,如何隱身,是否加密。另外,攻擊者還可以設(shè)置登錄服務(wù)器的密碼、確定通信方式。
服務(wù)器向攻擊者通知的方式可能是發(fā)送一個(gè)email,宣告自己當(dāng)前已成功接管的機(jī)器;或者可能是聯(lián)系某個(gè)隱藏的Internet交流通道,廣播被侵占機(jī)器的IP地址;另外,當(dāng)特洛伊木馬的服務(wù)器部分啟動(dòng)之后,它還可以直接與攻擊者機(jī)器上運(yùn)行的客戶程序通過預(yù)先定義的端口進(jìn)行通信。不管特洛伊木馬的服務(wù)器和客戶程序如何建立聯(lián)系,有一點(diǎn)是不變的,攻擊者總是利用客戶程序向服務(wù)器程序發(fā)送命令,達(dá)到操控用戶機(jī)器的目的。
特洛伊木馬攻擊者既可以隨心所欲地查看已被入侵的機(jī)器,也可以用廣播方式發(fā)布命令,指示所有在他控制之下的特洛伊木馬一起行動(dòng),或者向更廣泛的范圍傳播,或者做其他危險(xiǎn)的事情。實(shí)際上,只要用一個(gè)預(yù)先定義好的關(guān)鍵詞,就可以讓所有被入侵的機(jī)器格式化自己的硬盤,或者向另一臺(tái)主機(jī)發(fā)起攻擊。攻擊者經(jīng)常會(huì)用特洛伊木馬侵占大量的機(jī)器,然后針對(duì)某一要害主機(jī)發(fā)起分布式拒絕服務(wù)攻擊(Denial of Service,即DoS),當(dāng)受害者覺察到網(wǎng)絡(luò)要被異乎尋常的通信量淹沒,試圖找出攻擊者時(shí),他只能追蹤到大批懵然不知、同樣也是受害者的DSL或線纜調(diào)制解調(diào)器用戶,真正的攻擊者早就溜之大吉。
二、極度危險(xiǎn)的惡意程序
對(duì)于大多數(shù)惡意程序,只要把它們刪除,危險(xiǎn)就算過去,威脅也不再存在,但特洛伊木馬有些特殊。特洛伊木馬和病毒、蠕蟲之類的惡意程序一樣,也會(huì)刪除或修改文件、格式化硬盤、上傳和下載文件、騷擾用戶、驅(qū)逐其他惡意程序,例如,經(jīng)常可以看到攻擊者霸占被入侵機(jī)器來(lái)保存游戲或攻擊工具,用戶所有的磁盤空間幾乎都被侵占殆盡,但除此之外,特洛伊木馬還有其獨(dú)一無(wú)二的特點(diǎn)——竊取內(nèi)容,遠(yuǎn)程控制——這使得它們成為最危險(xiǎn)的惡意軟件。
首先,特洛伊木馬具有捕獲每一個(gè)用戶屏幕、每一次鍵擊事件的能力,這意味著攻擊者能夠輕松地竊取用戶的密碼、目錄路徑、驅(qū)動(dòng)器映射,甚至醫(yī)療記錄、銀行帳戶和信用卡、個(gè)人通信方面的信息。如果PC帶有一個(gè)麥克風(fēng),特洛伊木馬能夠竊聽談話內(nèi)容。如果PC帶有攝像頭,許多特洛伊木馬能夠把它打開,捕獲視頻內(nèi)容——在惡意代碼的世界中,目前還沒有比特洛伊木馬更威脅用戶隱私的,凡是你在PC前所說、所做的一切,都有可能被記錄。
一些特洛伊木馬帶有包嗅探器,它能夠捕獲和分析流經(jīng)網(wǎng)卡的每一個(gè)數(shù)據(jù)包。攻擊者可以利用特洛伊木馬竊取的信息設(shè)置后門,即使木馬后來(lái)被清除了,攻擊者仍可以利用以前留下的后門方便地闖入。
其次,如果一個(gè)未經(jīng)授權(quán)的用戶掌握了遠(yuǎn)程控制宿主機(jī)器的能力,宿主機(jī)器就變成了強(qiáng)大的攻擊武器。遠(yuǎn)程攻擊者不僅擁有了隨意操控PC本身資源的能力,而且還能夠冒充PC合法用戶,例如冒充合法用戶發(fā)送郵件、修改文檔,當(dāng)然還可以利用被侵占的機(jī)器攻擊其他機(jī)器。二年前,一個(gè)家庭用戶請(qǐng)我?guī)兔?#xff0c;要我?guī)退蚪灰讬C(jī)構(gòu)證明他并沒有提交一筆看來(lái)明顯虧損的股票交易。交易機(jī)構(gòu)確實(shí)在該筆交易中記錄了他的PC的IP地址,而且在他的瀏覽器緩沖區(qū)中,我也找到了該筆有爭(zhēng)議的交易的痕跡。另外,我還找到了SubSeven(即Backdoor_G)特洛伊木馬的跡象。雖然沒有證據(jù)顯示出特洛伊木馬與這筆令他損失慘重的股票交易直接有關(guān),但可以看出交易發(fā)生之時(shí)特洛伊木馬正處于活動(dòng)狀態(tài)。
三、特洛伊木馬的類型
常見的特洛伊木馬,例如Back Orifice和SubSeven等,都是多用途的攻擊工具包,功能非常全面,包括捕獲屏幕、聲音、視頻內(nèi)容的功能。這些特洛伊木馬可以當(dāng)作鍵記錄器、遠(yuǎn)程控制器、FTP服務(wù)器、HTTP服務(wù)器、Telnet服務(wù)器,還能夠?qū)ふ液透`取密碼。攻擊者可以配置特洛伊木馬監(jiān)聽的端口、運(yùn)行方式,以及木馬是否通過email、IRC或其他通信手段聯(lián)系發(fā)起攻擊的人。一些危害大的特洛伊木馬還有一定的反偵測(cè)能力,能夠采取各種方式隱藏自身,加密通信,甚至提供了專業(yè)級(jí)的API供其它攻擊者開發(fā)附加的功能。由于功能全面,所以這些特洛伊木馬的體積也往往較大,通常達(dá)到100 KB至300 KB,相對(duì)而言,要把它們安裝到用戶機(jī)器上而不引起任何人注意的難度也較大。
對(duì)于功能比較單一的特洛伊木馬,攻擊者會(huì)力圖使它保持較小的體積,通常是10 KB到30 KB,以便快速激活而不引起注意。這些木馬通常作為鍵記錄器使用,它們把受害用戶的每一個(gè)鍵擊事件記錄下來(lái),保存到某個(gè)隱藏的文件,這樣攻擊者就可以下載文件分析用戶的操作了。還有一些特洛伊木馬具有FTP、Web或聊天服務(wù)器的功能。通常,這些微型的木馬只用來(lái)竊取難以獲得的初始遠(yuǎn)程控制能力,保障最初入侵行動(dòng)的安全,以便在不太可能引起注意的適當(dāng)時(shí)機(jī)上載和安裝一個(gè)功能全面的大型特洛伊木馬。
隨便找一個(gè)Internet搜索網(wǎng)站,搜索一下關(guān)鍵詞Remote Access Trojan,很快就可以得到數(shù)百種特洛伊木馬——種類如此繁多,以至于大多數(shù)專門收集特洛伊木馬的Web網(wǎng)站不得不按照字母順序進(jìn)行排列,每一個(gè)字母下有數(shù)打甚至一百多個(gè)木馬。下面我們就來(lái)看看兩種最流行的特洛伊木馬:Back Orifice和SubSeven。
■ Back Orifice
1998年,Cult of the Dead Cow開發(fā)了Back Orifice。這個(gè)程序很快在特洛伊木馬領(lǐng)域出盡風(fēng)頭,它不僅有一個(gè)可編程的API,還有許多其他新型的功能,令許多正規(guī)的遠(yuǎn)程控制軟件也相形失色。Back Orifice 2000(即BO2K)按照GNU GPL(General Public License)發(fā)行,希望能夠吸引一批正規(guī)用戶,以此與老牌的遠(yuǎn)程控制軟件如pcAnywhere展開競(jìng)爭(zhēng)。
但是,它默認(rèn)的隱蔽操作模式和明顯帶有攻擊色彩的意圖使得許多用戶不太可能在短時(shí)間內(nèi)接受。攻擊者可以利用BO2K的服務(wù)器配置工具可以配置許多服務(wù)器參數(shù),包括TCP或UDP、端口號(hào)、加密類型、秘密激活(在Windows 9x機(jī)器上運(yùn)行得較好,在Windows NT機(jī)器上則略遜一籌)、密碼、插件等。
圖一:BO2K的客戶端界面
Back Orifice的許多特性給人以深刻的印象,例如鍵擊事件記錄、HTTP文件瀏覽、注冊(cè)表編輯、音頻和視頻捕獲、密碼竊取、TCP/IP端口重定向、消息發(fā)送、遠(yuǎn)程重新啟動(dòng)、遠(yuǎn)程鎖定、數(shù)據(jù)包加密、文件壓縮,等等。Back Orifice帶有一個(gè)軟件開發(fā)工具包(SDK),允許通過插件擴(kuò)展其功能。
默認(rèn)的bo_peep.dll插件允許攻擊者遠(yuǎn)程控制機(jī)器的鍵盤和鼠標(biāo)。就實(shí)際應(yīng)用方面而言,Back Orifice對(duì)錯(cuò)誤的輸入命令非常敏感,經(jīng)驗(yàn)不足的新手可能會(huì)使它頻繁地崩潰,不過到了經(jīng)驗(yàn)豐富的老手那里,它又會(huì)變得馴服而又強(qiáng)悍。
■ SubSeven
SubSeven可能比Back Orifice還要受歡迎,這個(gè)特洛伊木馬一直處于各大反病毒軟件廠商的感染統(tǒng)計(jì)榜前列。SubSeven可以作為鍵記錄器、包嗅探器使用,還具有端口重定向、注冊(cè)表修改、麥克風(fēng)和攝像頭記錄的功能。圖二顯示了一部分SubSeven的客戶端命令和服務(wù)器配置選項(xiàng)。
圖二:SubSeven服務(wù)器配置
SubSeven具有許多令受害者難堪的功能:攻擊者可以遠(yuǎn)程交換鼠標(biāo)按鍵,關(guān)閉/打開Caps Lock、Num Lock和Scroll Lock,禁用Ctrl+Alt+Del組合鍵,注銷用戶,打開和關(guān)閉CD-ROM驅(qū)動(dòng)器,關(guān)閉和打開監(jiān)視器,翻轉(zhuǎn)屏幕顯示,關(guān)閉和重新啟動(dòng)計(jì)算機(jī),等等。
SubSeven利用ICQ、IRC、email甚至CGI腳本和攻擊發(fā)起人聯(lián)系,它能夠隨機(jī)地更改服務(wù)器端口,并向攻擊者通知端口的變化。另外,SubSeven還提供了專用的代碼來(lái)竊取AOL Instant Messenger(AIM)、ICQ、RAS和屏幕保護(hù)程序的密碼。
四、檢測(cè)和清除特洛伊木馬
如果一個(gè)企業(yè)網(wǎng)絡(luò)曾經(jīng)遭受病毒和Email蠕蟲的肆虐,那么這個(gè)網(wǎng)絡(luò)很可能也是特洛伊木馬的首選攻擊目標(biāo)。由于木馬會(huì)被綁定程序和攻擊者加密,因此對(duì)于常規(guī)的反病毒軟件來(lái)說,查找木馬要比查找蠕蟲和病毒困難得多。另一方面,特洛伊木馬造成的損害卻可能遠(yuǎn)遠(yuǎn)高于普通的蠕蟲和病毒。因此,檢測(cè)和清除特洛伊木馬是系統(tǒng)管理員的首要任務(wù)。
要反擊惡意代碼,最佳的武器是最新的、成熟的病毒掃描工具。掃描工具能夠檢測(cè)出大多數(shù)特洛伊木馬,并盡可能地使清理過程自動(dòng)化。許多管理員過分依賴某些專門針對(duì)特洛伊木馬的工具來(lái)檢測(cè)和清除木馬,但某些工具的效果令人懷疑,至少不值得完全信任。不過,Agnitum的Tauscan確實(shí)稱得上頂級(jí)的掃描軟件,過去幾年的成功已經(jīng)證明了它的效果。
特洛伊木馬入侵的一個(gè)明顯證據(jù)是受害機(jī)器上意外地打開了某個(gè)端口,特別地,如果這個(gè)端口正好是特洛伊木馬常用的端口,木馬入侵的證據(jù)就更加肯定了。一旦發(fā)現(xiàn)有木馬入侵的證據(jù),應(yīng)當(dāng)盡快切斷該機(jī)器的網(wǎng)絡(luò)連接,減少攻擊者探測(cè)和進(jìn)一步攻擊的機(jī)會(huì)。打開任務(wù)管理器,關(guān)閉所有連接到Internet的程序,例如Email程序、IM程序等,從系統(tǒng)托盤上關(guān)閉所有正在運(yùn)行的程序。注意暫時(shí)不要啟動(dòng)到安全模式,啟動(dòng)到安全模式通常會(huì)阻止特洛伊木馬裝入內(nèi)存,為檢測(cè)木馬帶來(lái)困難。
大多數(shù)操作系統(tǒng),當(dāng)然包括Windows,都帶有檢測(cè)IP網(wǎng)絡(luò)狀態(tài)的Netstat工具,它能夠顯示出本地機(jī)器上所有活動(dòng)的監(jiān)聽端口(包括UDP和TCP)。打開一個(gè)命令行窗口,執(zhí)行“Netstat -a”命令就可以顯示出本地機(jī)器上所有打開的IP端口,注意一下是否存在意外打開的端口(當(dāng)然,這要求對(duì)端口的概念和常用程序所用的端口有一定的了解)。
圖三顯示了一次Netstat檢測(cè)的例子,檢測(cè)結(jié)果表明一個(gè)Back Orifice使用的端口(即31337)已經(jīng)被激活,木馬客戶程序使用的是遠(yuǎn)程機(jī)器(ROGERLAP)上的1216端口。除了已知的木馬常用端口之外,另外還要特別留意未知的FTP服務(wù)器(端口21)和Web服務(wù)器(端口80)。
圖三:檢測(cè)到激活的BO
但是,Netstat命令有一個(gè)缺點(diǎn),它能夠顯示出哪些IP端口已經(jīng)激活,但卻沒有顯示出哪些程序或文件激活了這些端口。要找出哪個(gè)執(zhí)行文件創(chuàng)建了哪個(gè)網(wǎng)絡(luò)連接,必須使用端口枚舉工具,例如,Winternals Software的TCPView Professional Edition就是一個(gè)優(yōu)秀的端口枚舉工具。Tauscan除了能夠識(shí)別特洛伊木馬,也能夠建立程序與端口的聯(lián)系。另外,Windows XP的Netstat工具提供了一個(gè)新的-o選項(xiàng),能夠顯示出正在使用端口的程序或服務(wù)的進(jìn)程標(biāo)識(shí)符(PID),有了PID,用任務(wù)管理器就可以方便地根據(jù)PID找到對(duì)應(yīng)的程序。
如果手頭沒有端口枚舉工具,無(wú)法快速找出幕后肇事者的真正身份,請(qǐng)按照下列步驟操作:尋找自動(dòng)啟動(dòng)的陌生程序,查找位置包括注冊(cè)表、.ini文件、啟動(dòng)文件夾等。然后將機(jī)器重新啟動(dòng)進(jìn)入安全模式,可能的話,用Netstat命令確認(rèn)一下特洛伊木馬尚未裝入內(nèi)存。接下來(lái),分別運(yùn)行各個(gè)前面找出的有疑問的程序,每次運(yùn)行一個(gè),分別用Netstat命令檢查新打開的端口。如果某個(gè)程序初始化了一個(gè)Internet連接,那就要特別小心了。深入研究一下所有可疑的程序,刪除所有不能信任的軟件。
Netstat命令和端口枚舉工具非常適合于檢測(cè)一臺(tái)機(jī)器,但如果要檢測(cè)的是整個(gè)網(wǎng)絡(luò),又該怎么辦?大多數(shù)入侵檢測(cè)系統(tǒng)(Intrusion Detection System,IDS)都具有在常規(guī)通信中捕獲常見特洛伊木馬數(shù)據(jù)包的能力。FTP和HTTP數(shù)據(jù)具有可識(shí)別的特殊數(shù)據(jù)結(jié)構(gòu),特洛伊木馬數(shù)據(jù)包也一樣。只要正確配置和經(jīng)常更新IDS,它甚至能夠可靠地檢測(cè)出經(jīng)過加密處理的Back Orifice和SubSeven通信。請(qǐng)參見http://www.snort.org ,了解常見的源代碼開放IDS工具,了解常見的源代碼開放IDS工具。
五、處理遺留問題
檢測(cè)和清除了特洛伊木馬之后,另一個(gè)重要的問題浮現(xiàn)了:遠(yuǎn)程攻擊者是否已經(jīng)竊取了某些敏感信息?危害程度多大?要給出確切的答案很困難,但你可以通過下列問題確定危害程度。首先,特洛伊木馬存在多長(zhǎng)時(shí)間了?文件創(chuàng)建日期不一定值得完全信賴,但可資參考。利用Windows資源管理器查看特洛伊木馬執(zhí)行文件的創(chuàng)建日期和最近訪問日期,如果執(zhí)行文件的創(chuàng)建日期很早,最近訪問日期卻很近,那么攻擊者利用該木馬可能已經(jīng)有相當(dāng)長(zhǎng)的時(shí)間了。
其次,攻擊者在入侵機(jī)器之后有哪些行動(dòng)?攻擊者訪問了機(jī)密數(shù)據(jù)庫(kù)、發(fā)送Email、訪問其他遠(yuǎn)程網(wǎng)絡(luò)或共享目錄了嗎?攻擊者獲取管理員權(quán)限了嗎?仔細(xì)檢查被入侵的機(jī)器尋找線索,例如文件和程序的訪問日期是否在用戶的辦公時(shí)間之外?
在安全要求較低的環(huán)境中,大多數(shù)用戶可以在清除特洛伊木馬之后恢復(fù)正常工作,只要日后努力防止遠(yuǎn)程攻擊者再次得逞就可以了。至于安全性要求一般的場(chǎng)合,最好能夠修改一下所有的密碼,以及其他比較敏感的信息(例如信用卡號(hào)碼等)。
在安全性要求較高的場(chǎng)合,任何未知的潛在風(fēng)險(xiǎn)都是不可忍受的,必要時(shí)應(yīng)當(dāng)調(diào)整管理員或網(wǎng)絡(luò)安全的負(fù)責(zé)人,徹底檢測(cè)整個(gè)網(wǎng)絡(luò),修改所有密碼,在此基礎(chǔ)上再執(zhí)行后繼風(fēng)險(xiǎn)分析。對(duì)于被入侵的機(jī)器,重新進(jìn)行徹底的格式化和安裝。
特洛伊木馬造成的危害可能是非常驚人的,由于它具有遠(yuǎn)程控制機(jī)器以及捕獲屏幕、鍵擊、音頻、視頻的能力,所以其危害程度要遠(yuǎn)遠(yuǎn)超過普通的病毒和蠕蟲。深入了解特洛伊木馬的運(yùn)行原理,在此基礎(chǔ)上采取正確的防衛(wèi)措施,只有這樣才能有效減少特洛伊木馬帶來(lái)的危害。
特洛伊木馬比任何其他惡意代碼都要危險(xiǎn),要保障安全,最好的辦法就是熟悉特洛伊木馬的類型、工作原理,掌握如何檢測(cè)和預(yù)防這些不懷好意的代碼。
一、初識(shí)特洛伊木馬
特洛伊木馬是一種惡意程序,它們悄悄地在宿主機(jī)器上運(yùn)行,就在用戶毫無(wú)察覺的情況下,讓攻擊者獲得了遠(yuǎn)程訪問和控制系統(tǒng)的權(quán)限。一般而言,大多數(shù)特洛伊木馬都模仿一些正規(guī)的遠(yuǎn)程控制軟件的功能,如Symantec的pcAnywhere,但特洛伊木馬也有一些明顯的特點(diǎn),例如它的安裝和操作都是在隱蔽之中完成。攻擊者經(jīng)常把特洛伊木馬隱藏在一些游戲或小軟件之中,誘使粗心的用戶在自己的機(jī)器上運(yùn)行。最常見的情況是,上當(dāng)?shù)挠脩粢磸牟徽?guī)的網(wǎng)站下載和運(yùn)行了帶惡意代碼的軟件,要么不小心點(diǎn)擊了帶惡意代碼的郵件附件。
大多數(shù)特洛伊木馬包括客戶端和服務(wù)器端兩個(gè)部分。攻擊者利用一種稱為綁定程序的工具將服務(wù)器部分綁定到某個(gè)合法軟件上,誘使用戶運(yùn)行合法軟件。只要用戶一運(yùn)行軟件,特洛伊木馬的服務(wù)器部分就在用戶毫無(wú)知覺的情況下完成了安裝過程。通常,特洛伊木馬的服務(wù)器部分都是可以定制的,攻擊者可以定制的項(xiàng)目一般包括:服務(wù)器運(yùn)行的IP端口號(hào),程序啟動(dòng)時(shí)機(jī),如何發(fā)出調(diào)用,如何隱身,是否加密。另外,攻擊者還可以設(shè)置登錄服務(wù)器的密碼、確定通信方式。
服務(wù)器向攻擊者通知的方式可能是發(fā)送一個(gè)email,宣告自己當(dāng)前已成功接管的機(jī)器;或者可能是聯(lián)系某個(gè)隱藏的Internet交流通道,廣播被侵占機(jī)器的IP地址;另外,當(dāng)特洛伊木馬的服務(wù)器部分啟動(dòng)之后,它還可以直接與攻擊者機(jī)器上運(yùn)行的客戶程序通過預(yù)先定義的端口進(jìn)行通信。不管特洛伊木馬的服務(wù)器和客戶程序如何建立聯(lián)系,有一點(diǎn)是不變的,攻擊者總是利用客戶程序向服務(wù)器程序發(fā)送命令,達(dá)到操控用戶機(jī)器的目的。
特洛伊木馬攻擊者既可以隨心所欲地查看已被入侵的機(jī)器,也可以用廣播方式發(fā)布命令,指示所有在他控制之下的特洛伊木馬一起行動(dòng),或者向更廣泛的范圍傳播,或者做其他危險(xiǎn)的事情。實(shí)際上,只要用一個(gè)預(yù)先定義好的關(guān)鍵詞,就可以讓所有被入侵的機(jī)器格式化自己的硬盤,或者向另一臺(tái)主機(jī)發(fā)起攻擊。攻擊者經(jīng)常會(huì)用特洛伊木馬侵占大量的機(jī)器,然后針對(duì)某一要害主機(jī)發(fā)起分布式拒絕服務(wù)攻擊(Denial of Service,即DoS),當(dāng)受害者覺察到網(wǎng)絡(luò)要被異乎尋常的通信量淹沒,試圖找出攻擊者時(shí),他只能追蹤到大批懵然不知、同樣也是受害者的DSL或線纜調(diào)制解調(diào)器用戶,真正的攻擊者早就溜之大吉。
二、極度危險(xiǎn)的惡意程序
對(duì)于大多數(shù)惡意程序,只要把它們刪除,危險(xiǎn)就算過去,威脅也不再存在,但特洛伊木馬有些特殊。特洛伊木馬和病毒、蠕蟲之類的惡意程序一樣,也會(huì)刪除或修改文件、格式化硬盤、上傳和下載文件、騷擾用戶、驅(qū)逐其他惡意程序,例如,經(jīng)常可以看到攻擊者霸占被入侵機(jī)器來(lái)保存游戲或攻擊工具,用戶所有的磁盤空間幾乎都被侵占殆盡,但除此之外,特洛伊木馬還有其獨(dú)一無(wú)二的特點(diǎn)——竊取內(nèi)容,遠(yuǎn)程控制——這使得它們成為最危險(xiǎn)的惡意軟件。
首先,特洛伊木馬具有捕獲每一個(gè)用戶屏幕、每一次鍵擊事件的能力,這意味著攻擊者能夠輕松地竊取用戶的密碼、目錄路徑、驅(qū)動(dòng)器映射,甚至醫(yī)療記錄、銀行帳戶和信用卡、個(gè)人通信方面的信息。如果PC帶有一個(gè)麥克風(fēng),特洛伊木馬能夠竊聽談話內(nèi)容。如果PC帶有攝像頭,許多特洛伊木馬能夠把它打開,捕獲視頻內(nèi)容——在惡意代碼的世界中,目前還沒有比特洛伊木馬更威脅用戶隱私的,凡是你在PC前所說、所做的一切,都有可能被記錄。
一些特洛伊木馬帶有包嗅探器,它能夠捕獲和分析流經(jīng)網(wǎng)卡的每一個(gè)數(shù)據(jù)包。攻擊者可以利用特洛伊木馬竊取的信息設(shè)置后門,即使木馬后來(lái)被清除了,攻擊者仍可以利用以前留下的后門方便地闖入。
其次,如果一個(gè)未經(jīng)授權(quán)的用戶掌握了遠(yuǎn)程控制宿主機(jī)器的能力,宿主機(jī)器就變成了強(qiáng)大的攻擊武器。遠(yuǎn)程攻擊者不僅擁有了隨意操控PC本身資源的能力,而且還能夠冒充PC合法用戶,例如冒充合法用戶發(fā)送郵件、修改文檔,當(dāng)然還可以利用被侵占的機(jī)器攻擊其他機(jī)器。二年前,一個(gè)家庭用戶請(qǐng)我?guī)兔?#xff0c;要我?guī)退蚪灰讬C(jī)構(gòu)證明他并沒有提交一筆看來(lái)明顯虧損的股票交易。交易機(jī)構(gòu)確實(shí)在該筆交易中記錄了他的PC的IP地址,而且在他的瀏覽器緩沖區(qū)中,我也找到了該筆有爭(zhēng)議的交易的痕跡。另外,我還找到了SubSeven(即Backdoor_G)特洛伊木馬的跡象。雖然沒有證據(jù)顯示出特洛伊木馬與這筆令他損失慘重的股票交易直接有關(guān),但可以看出交易發(fā)生之時(shí)特洛伊木馬正處于活動(dòng)狀態(tài)。
三、特洛伊木馬的類型
常見的特洛伊木馬,例如Back Orifice和SubSeven等,都是多用途的攻擊工具包,功能非常全面,包括捕獲屏幕、聲音、視頻內(nèi)容的功能。這些特洛伊木馬可以當(dāng)作鍵記錄器、遠(yuǎn)程控制器、FTP服務(wù)器、HTTP服務(wù)器、Telnet服務(wù)器,還能夠?qū)ふ液透`取密碼。攻擊者可以配置特洛伊木馬監(jiān)聽的端口、運(yùn)行方式,以及木馬是否通過email、IRC或其他通信手段聯(lián)系發(fā)起攻擊的人。一些危害大的特洛伊木馬還有一定的反偵測(cè)能力,能夠采取各種方式隱藏自身,加密通信,甚至提供了專業(yè)級(jí)的API供其它攻擊者開發(fā)附加的功能。由于功能全面,所以這些特洛伊木馬的體積也往往較大,通常達(dá)到100 KB至300 KB,相對(duì)而言,要把它們安裝到用戶機(jī)器上而不引起任何人注意的難度也較大。
對(duì)于功能比較單一的特洛伊木馬,攻擊者會(huì)力圖使它保持較小的體積,通常是10 KB到30 KB,以便快速激活而不引起注意。這些木馬通常作為鍵記錄器使用,它們把受害用戶的每一個(gè)鍵擊事件記錄下來(lái),保存到某個(gè)隱藏的文件,這樣攻擊者就可以下載文件分析用戶的操作了。還有一些特洛伊木馬具有FTP、Web或聊天服務(wù)器的功能。通常,這些微型的木馬只用來(lái)竊取難以獲得的初始遠(yuǎn)程控制能力,保障最初入侵行動(dòng)的安全,以便在不太可能引起注意的適當(dāng)時(shí)機(jī)上載和安裝一個(gè)功能全面的大型特洛伊木馬。
隨便找一個(gè)Internet搜索網(wǎng)站,搜索一下關(guān)鍵詞Remote Access Trojan,很快就可以得到數(shù)百種特洛伊木馬——種類如此繁多,以至于大多數(shù)專門收集特洛伊木馬的Web網(wǎng)站不得不按照字母順序進(jìn)行排列,每一個(gè)字母下有數(shù)打甚至一百多個(gè)木馬。下面我們就來(lái)看看兩種最流行的特洛伊木馬:Back Orifice和SubSeven。
■ Back Orifice
1998年,Cult of the Dead Cow開發(fā)了Back Orifice。這個(gè)程序很快在特洛伊木馬領(lǐng)域出盡風(fēng)頭,它不僅有一個(gè)可編程的API,還有許多其他新型的功能,令許多正規(guī)的遠(yuǎn)程控制軟件也相形失色。Back Orifice 2000(即BO2K)按照GNU GPL(General Public License)發(fā)行,希望能夠吸引一批正規(guī)用戶,以此與老牌的遠(yuǎn)程控制軟件如pcAnywhere展開競(jìng)爭(zhēng)。
但是,它默認(rèn)的隱蔽操作模式和明顯帶有攻擊色彩的意圖使得許多用戶不太可能在短時(shí)間內(nèi)接受。攻擊者可以利用BO2K的服務(wù)器配置工具可以配置許多服務(wù)器參數(shù),包括TCP或UDP、端口號(hào)、加密類型、秘密激活(在Windows 9x機(jī)器上運(yùn)行得較好,在Windows NT機(jī)器上則略遜一籌)、密碼、插件等。
圖一:BO2K的客戶端界面
Back Orifice的許多特性給人以深刻的印象,例如鍵擊事件記錄、HTTP文件瀏覽、注冊(cè)表編輯、音頻和視頻捕獲、密碼竊取、TCP/IP端口重定向、消息發(fā)送、遠(yuǎn)程重新啟動(dòng)、遠(yuǎn)程鎖定、數(shù)據(jù)包加密、文件壓縮,等等。Back Orifice帶有一個(gè)軟件開發(fā)工具包(SDK),允許通過插件擴(kuò)展其功能。
默認(rèn)的bo_peep.dll插件允許攻擊者遠(yuǎn)程控制機(jī)器的鍵盤和鼠標(biāo)。就實(shí)際應(yīng)用方面而言,Back Orifice對(duì)錯(cuò)誤的輸入命令非常敏感,經(jīng)驗(yàn)不足的新手可能會(huì)使它頻繁地崩潰,不過到了經(jīng)驗(yàn)豐富的老手那里,它又會(huì)變得馴服而又強(qiáng)悍。
■ SubSeven
SubSeven可能比Back Orifice還要受歡迎,這個(gè)特洛伊木馬一直處于各大反病毒軟件廠商的感染統(tǒng)計(jì)榜前列。SubSeven可以作為鍵記錄器、包嗅探器使用,還具有端口重定向、注冊(cè)表修改、麥克風(fēng)和攝像頭記錄的功能。圖二顯示了一部分SubSeven的客戶端命令和服務(wù)器配置選項(xiàng)。
圖二:SubSeven服務(wù)器配置
SubSeven具有許多令受害者難堪的功能:攻擊者可以遠(yuǎn)程交換鼠標(biāo)按鍵,關(guān)閉/打開Caps Lock、Num Lock和Scroll Lock,禁用Ctrl+Alt+Del組合鍵,注銷用戶,打開和關(guān)閉CD-ROM驅(qū)動(dòng)器,關(guān)閉和打開監(jiān)視器,翻轉(zhuǎn)屏幕顯示,關(guān)閉和重新啟動(dòng)計(jì)算機(jī),等等。
SubSeven利用ICQ、IRC、email甚至CGI腳本和攻擊發(fā)起人聯(lián)系,它能夠隨機(jī)地更改服務(wù)器端口,并向攻擊者通知端口的變化。另外,SubSeven還提供了專用的代碼來(lái)竊取AOL Instant Messenger(AIM)、ICQ、RAS和屏幕保護(hù)程序的密碼。
四、檢測(cè)和清除特洛伊木馬
如果一個(gè)企業(yè)網(wǎng)絡(luò)曾經(jīng)遭受病毒和Email蠕蟲的肆虐,那么這個(gè)網(wǎng)絡(luò)很可能也是特洛伊木馬的首選攻擊目標(biāo)。由于木馬會(huì)被綁定程序和攻擊者加密,因此對(duì)于常規(guī)的反病毒軟件來(lái)說,查找木馬要比查找蠕蟲和病毒困難得多。另一方面,特洛伊木馬造成的損害卻可能遠(yuǎn)遠(yuǎn)高于普通的蠕蟲和病毒。因此,檢測(cè)和清除特洛伊木馬是系統(tǒng)管理員的首要任務(wù)。
要反擊惡意代碼,最佳的武器是最新的、成熟的病毒掃描工具。掃描工具能夠檢測(cè)出大多數(shù)特洛伊木馬,并盡可能地使清理過程自動(dòng)化。許多管理員過分依賴某些專門針對(duì)特洛伊木馬的工具來(lái)檢測(cè)和清除木馬,但某些工具的效果令人懷疑,至少不值得完全信任。不過,Agnitum的Tauscan確實(shí)稱得上頂級(jí)的掃描軟件,過去幾年的成功已經(jīng)證明了它的效果。
特洛伊木馬入侵的一個(gè)明顯證據(jù)是受害機(jī)器上意外地打開了某個(gè)端口,特別地,如果這個(gè)端口正好是特洛伊木馬常用的端口,木馬入侵的證據(jù)就更加肯定了。一旦發(fā)現(xiàn)有木馬入侵的證據(jù),應(yīng)當(dāng)盡快切斷該機(jī)器的網(wǎng)絡(luò)連接,減少攻擊者探測(cè)和進(jìn)一步攻擊的機(jī)會(huì)。打開任務(wù)管理器,關(guān)閉所有連接到Internet的程序,例如Email程序、IM程序等,從系統(tǒng)托盤上關(guān)閉所有正在運(yùn)行的程序。注意暫時(shí)不要啟動(dòng)到安全模式,啟動(dòng)到安全模式通常會(huì)阻止特洛伊木馬裝入內(nèi)存,為檢測(cè)木馬帶來(lái)困難。
大多數(shù)操作系統(tǒng),當(dāng)然包括Windows,都帶有檢測(cè)IP網(wǎng)絡(luò)狀態(tài)的Netstat工具,它能夠顯示出本地機(jī)器上所有活動(dòng)的監(jiān)聽端口(包括UDP和TCP)。打開一個(gè)命令行窗口,執(zhí)行“Netstat -a”命令就可以顯示出本地機(jī)器上所有打開的IP端口,注意一下是否存在意外打開的端口(當(dāng)然,這要求對(duì)端口的概念和常用程序所用的端口有一定的了解)。
圖三顯示了一次Netstat檢測(cè)的例子,檢測(cè)結(jié)果表明一個(gè)Back Orifice使用的端口(即31337)已經(jīng)被激活,木馬客戶程序使用的是遠(yuǎn)程機(jī)器(ROGERLAP)上的1216端口。除了已知的木馬常用端口之外,另外還要特別留意未知的FTP服務(wù)器(端口21)和Web服務(wù)器(端口80)。
圖三:檢測(cè)到激活的BO
但是,Netstat命令有一個(gè)缺點(diǎn),它能夠顯示出哪些IP端口已經(jīng)激活,但卻沒有顯示出哪些程序或文件激活了這些端口。要找出哪個(gè)執(zhí)行文件創(chuàng)建了哪個(gè)網(wǎng)絡(luò)連接,必須使用端口枚舉工具,例如,Winternals Software的TCPView Professional Edition就是一個(gè)優(yōu)秀的端口枚舉工具。Tauscan除了能夠識(shí)別特洛伊木馬,也能夠建立程序與端口的聯(lián)系。另外,Windows XP的Netstat工具提供了一個(gè)新的-o選項(xiàng),能夠顯示出正在使用端口的程序或服務(wù)的進(jìn)程標(biāo)識(shí)符(PID),有了PID,用任務(wù)管理器就可以方便地根據(jù)PID找到對(duì)應(yīng)的程序。
如果手頭沒有端口枚舉工具,無(wú)法快速找出幕后肇事者的真正身份,請(qǐng)按照下列步驟操作:尋找自動(dòng)啟動(dòng)的陌生程序,查找位置包括注冊(cè)表、.ini文件、啟動(dòng)文件夾等。然后將機(jī)器重新啟動(dòng)進(jìn)入安全模式,可能的話,用Netstat命令確認(rèn)一下特洛伊木馬尚未裝入內(nèi)存。接下來(lái),分別運(yùn)行各個(gè)前面找出的有疑問的程序,每次運(yùn)行一個(gè),分別用Netstat命令檢查新打開的端口。如果某個(gè)程序初始化了一個(gè)Internet連接,那就要特別小心了。深入研究一下所有可疑的程序,刪除所有不能信任的軟件。
Netstat命令和端口枚舉工具非常適合于檢測(cè)一臺(tái)機(jī)器,但如果要檢測(cè)的是整個(gè)網(wǎng)絡(luò),又該怎么辦?大多數(shù)入侵檢測(cè)系統(tǒng)(Intrusion Detection System,IDS)都具有在常規(guī)通信中捕獲常見特洛伊木馬數(shù)據(jù)包的能力。FTP和HTTP數(shù)據(jù)具有可識(shí)別的特殊數(shù)據(jù)結(jié)構(gòu),特洛伊木馬數(shù)據(jù)包也一樣。只要正確配置和經(jīng)常更新IDS,它甚至能夠可靠地檢測(cè)出經(jīng)過加密處理的Back Orifice和SubSeven通信。請(qǐng)參見http://www.snort.org ,了解常見的源代碼開放IDS工具,了解常見的源代碼開放IDS工具。
五、處理遺留問題
檢測(cè)和清除了特洛伊木馬之后,另一個(gè)重要的問題浮現(xiàn)了:遠(yuǎn)程攻擊者是否已經(jīng)竊取了某些敏感信息?危害程度多大?要給出確切的答案很困難,但你可以通過下列問題確定危害程度。首先,特洛伊木馬存在多長(zhǎng)時(shí)間了?文件創(chuàng)建日期不一定值得完全信賴,但可資參考。利用Windows資源管理器查看特洛伊木馬執(zhí)行文件的創(chuàng)建日期和最近訪問日期,如果執(zhí)行文件的創(chuàng)建日期很早,最近訪問日期卻很近,那么攻擊者利用該木馬可能已經(jīng)有相當(dāng)長(zhǎng)的時(shí)間了。
其次,攻擊者在入侵機(jī)器之后有哪些行動(dòng)?攻擊者訪問了機(jī)密數(shù)據(jù)庫(kù)、發(fā)送Email、訪問其他遠(yuǎn)程網(wǎng)絡(luò)或共享目錄了嗎?攻擊者獲取管理員權(quán)限了嗎?仔細(xì)檢查被入侵的機(jī)器尋找線索,例如文件和程序的訪問日期是否在用戶的辦公時(shí)間之外?
在安全要求較低的環(huán)境中,大多數(shù)用戶可以在清除特洛伊木馬之后恢復(fù)正常工作,只要日后努力防止遠(yuǎn)程攻擊者再次得逞就可以了。至于安全性要求一般的場(chǎng)合,最好能夠修改一下所有的密碼,以及其他比較敏感的信息(例如信用卡號(hào)碼等)。
在安全性要求較高的場(chǎng)合,任何未知的潛在風(fēng)險(xiǎn)都是不可忍受的,必要時(shí)應(yīng)當(dāng)調(diào)整管理員或網(wǎng)絡(luò)安全的負(fù)責(zé)人,徹底檢測(cè)整個(gè)網(wǎng)絡(luò),修改所有密碼,在此基礎(chǔ)上再執(zhí)行后繼風(fēng)險(xiǎn)分析。對(duì)于被入侵的機(jī)器,重新進(jìn)行徹底的格式化和安裝。
特洛伊木馬造成的危害可能是非常驚人的,由于它具有遠(yuǎn)程控制機(jī)器以及捕獲屏幕、鍵擊、音頻、視頻的能力,所以其危害程度要遠(yuǎn)遠(yuǎn)超過普通的病毒和蠕蟲。深入了解特洛伊木馬的運(yùn)行原理,在此基礎(chǔ)上采取正確的防衛(wèi)措施,只有這樣才能有效減少特洛伊木馬帶來(lái)的危害。
來(lái)自 “ ITPUB博客 ” ,鏈接:http://blog.itpub.net/7178747/viewspace-162080/,如需轉(zhuǎn)載,請(qǐng)注明出處,否則將追究法律責(zé)任。
轉(zhuǎn)載于:http://blog.itpub.net/7178747/viewspace-162080/
總結(jié)
以上是生活随笔為你收集整理的木马的原理:解析危险的特洛伊木马恶意程序(转)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql table key,MySQ
- 下一篇: 【深入理解JS核心技术】11. 什么是一