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