Board logo

標題: 〔知識〕特洛伊木馬解析 [打印本頁]

作者: 虎力係     時間: 2008-2-15 10:20 PM    標題: 〔知識〕特洛伊木馬解析

一位客戶的PC出現了奇怪的症狀,速度變慢,CD-ROM工作列毫無規律地進進出出,從來沒有見過的錯誤訊息,螢幕圖像翻轉,等等。我切斷了他的Internet連線,然後按照對付惡意軟體的標準步驟執行檢查,終於找出了罪魁禍首:兩個遠端訪問特洛伊木馬——一個是Cult of the Dead Cow臭名昭著的Back Orifice,還有一個是不太常見的The Thing。在這次事件中,攻擊者似乎是個小孩,他只想搞些惡作劇,讓別人上不了網,或是交換一些色情資料,但沒有什麼更危險的舉動。若果攻擊者有其他更危險的目的,那麼他可能已經從客戶的機器及其網路上竊得許多機密資料了。
  特洛伊木馬比任何其他惡意代碼都要危險,要保障安全,最好的辦法就是熟悉特洛伊木馬的類型、工作原理,掌握如何檢驗和預防這些不懷好意的代碼。

  一、初識特洛伊木馬

  特洛伊木馬是一種惡意程式,它們悄悄地在宿主電腦器上執行,就在使用者毫無察覺的情況下,讓攻擊者獲得了遠端訪問和控制系統的權限。一般而言,大多數特洛伊木馬都模仿一些正規的遠端控制軟體的功能,如Symantec的pcAnywhere,但特洛伊木馬也有一些明顯的特點,例如它的安裝和動作都是在隱蔽之中完成。攻擊者經常把特洛伊木馬隱藏在一些遊戲或小軟體之中,誘使粗心的使用者在自己的機器上執行。最常見的情況是,上當的使用者要麼永不正規的網站下載和執行了帶惡意代碼的軟體,要麼不小心點擊了帶惡意代碼的信件附件。

  大多數特洛伊木馬內含用戶端和伺服器端兩個部分。攻擊者利用一種稱為綁定程式的工具將伺服器部分綁定到某個合法軟體上,誘使使用者執行合法軟體。只要使用者一執行軟體,特洛伊木馬的伺服器部分就在使用者毫無知覺的情況下完成了安裝過程。通常,特洛伊木馬的伺服器部分都是可以定制的,攻擊者可以定制的項目一般內含:伺服器執行的IP連接埠號,程式啟動時機,如何發出呼叫,如何隱身,是否加密。另外,攻擊者還可以設定登入伺服器的密碼、確定通信模式。

  伺服器向攻擊者知會的模式可能是傳送一個email,宣告自己目前已成功接管的機器;或是可能是聯繫某個隱藏的Internet交流通道,廣播被侵佔機器的IP位址;另外,當特洛伊木馬的伺服器部分啟動之後,它還可以直接與攻擊者機器上執行的客戶程式通過預先定義的連接埠進行通信。不管特洛伊木馬的伺服器和客戶程式如何建立聯繫,有一點是不變的,攻擊者總是利用客戶程式向伺服器程式傳送指令,達到操控使用者機器的目的。

  特洛伊木馬攻擊者既可以隨心所欲地檢視已被入侵的機器,也可以用廣播模式發佈指令,指示所有在他控制之下的特洛伊木馬一起行動,或是向更廣泛的範圍傳播,或是做其他危險的事情。實際上,只要用一個預先定義好的關鍵詞,就可以讓所有被入侵的機器格式化自己的硬碟,或是向另一台主電腦發起攻擊。攻擊者經常會用特洛伊木馬侵佔大量的機器,然後針對某一要害主電腦發起分散式拒絕服務攻擊(Denial of Service,即DoS),當受害者覺察到網路要被異乎尋常的通信量淹沒,試圖找出攻擊者時,他只能追蹤到大批懵然不知、同樣也是受害者的DSL或線纜數據機使用者,真正的攻擊者早就溜之大吉。

  二、極度危險的惡意程式

  對於大多數惡意程式,只要把它們移除,危險就算過去,威脅也不再存在,但特洛伊木馬有些特殊。特洛伊木馬和病毒、蠕蟲之類的惡意程式一樣,也會移除或修改檔案、格式化硬碟、上傳和下載檔案、騷擾使用者、驅逐其他惡意程式,例如,經常可以看到攻擊者霸佔被入侵機器來儲存遊戲或攻擊工具,使用者所有的磁碟空間幾乎都被侵佔殆盡,但除此之外,特洛伊木馬還有其獨一無二的特點——竊取內容,遠端控制——這使得它們成為最危險的惡意軟體。

  首先,特洛伊木馬具有捕獲每一個使用者螢幕、每一次鍵擊事件的能力,這意味著攻擊者能夠輕鬆地竊取使用者的密碼、目錄路徑、磁碟機映射,甚至醫療記錄、銀行帳戶和信用卡、個人通信方面的訊息。若果PC帶有一個麥克風,特洛伊木馬能夠竊聽談話內容。若果PC帶有攝像頭,許多特洛伊木馬能夠把它開啟,捕獲視訊內容——在惡意代碼的世界中,目前還沒有比特洛伊木馬更威脅使用者隱私的,凡是你在PC前所說、所做的一切,都有可能被記錄。

  一些特洛伊木馬帶有包嗅探器,它能夠捕獲和分析流經網卡的每一個封包。攻擊者可以利用特洛伊木馬竊取的訊息設定後門,即使木馬後來被清除了,攻擊者仍可以利用以前留下的後門方便地闖入。

  其次,若果一個未經授權的使用者掌握了遠端控制宿主電腦器的能力,宿主電腦器就變成了強大的攻擊武器。遠端攻擊者不僅擁有了隨意操控PC本身資源的能力,而且還能夠冒充PC合法使用者,例如冒充合法使用者傳送信件、修改文件,當然還可以利用被侵佔的機器攻擊其他機器。二年前,一個家庭使用者請我幫忙,要我幫他向交易機構證明他並沒有提交一筆看來明顯虧損的股票交易。交易機構確實在該筆交易中記錄了他的PC的IP位址,而且在他的瀏覽器緩沖區中,我也找到了該筆有爭議的交易的痕跡。另外,我還找到了SubSeven(即Backdoor_G)特洛伊木馬的跡象。雖然沒有證據顯示出特洛伊木馬與這筆令他損失慘重的股票交易直接有關,但可以看出交易發生之時特洛伊木馬正處於活動狀態。

  三、特洛伊木馬的類型

  常見的特洛伊木馬,例如Back Orifice和SubSeven等,都是多用途的攻擊工具包,功能非常全面,內含捕獲螢幕、音效、視訊內容的功能。這些特洛伊木馬可以當作鍵記錄器、遠端控制器、FTP伺服器、HTTP伺服器、Telnet伺服器,還能夠尋找和竊取密碼。攻擊者可以組態特洛伊木馬監聽的連接埠、執行模式,以及木馬是否通過email、IRC或其他通信手段聯繫發起攻擊的人。一些危害大的特洛伊木馬還有一定的反偵測能力,能夠採取各種模式隱藏自身,加密通信,甚至提供了專業級的API供其它攻擊者開發附加的功能。由於功能全面,所以這些特洛伊木馬的體積也往往較大,通常達到100 KB至300 KB,相對而言,要把它們安裝到使用者機器上而不引起任何人注意的難度也較大。

  對於功能比較單一的特洛伊木馬,攻擊者會力圖使它保持較小的體積,通常是10 KB到30 KB,以便快速啟用而不引起注意。這些木馬通常作為鍵記錄器使用,它們把受害使用者的每一個鍵擊事件記錄下來,儲存到某個隱藏的檔案,這樣攻擊者就可以下載檔案分析使用者的動作了。還有一些特洛伊木馬具有FTP、Web或聊天伺服器的功能。通常,這些微型的木馬只用來竊取難以獲得的起始遠端控制能力,保障最初入侵行動的安全,以便在不太可能引起注意的適當時機上載和安裝一個功能全面的大型特洛伊木馬。

  隨便找一個Internet搜尋網站,搜尋一下關鍵詞Remote Access Trojan,很快就可以得到數百種特洛伊木馬——種類如此繁多,以至於大多數專門收集特洛伊木馬的Web網站不得不按照字母順序進行排序,每一個字母下有數打甚至一百多個木馬。下面我們就來看看兩種最流行的特洛伊木馬:Back Orifice和SubSeven。

  ■ Back Orifice

  1998年,Cult of the Dead Cow開發了Back Orifice。這個程式很快在特洛伊木馬領域出盡風頭,它不僅有一個可寫程式的API,還有許多其他新型的功能,令許多正規的遠端控制軟體也相形失色。Back Orifice 2000(即BO2K)按照GNU GPL(General Public License)發行,希望能夠吸引一批正規使用者,以此與老牌的遠端控制軟體如pcAnywhere展開競爭。

  但是,它預設的隱蔽動作模式和明顯帶有攻擊色彩的意圖使得許多使用者不太可能在短時間內接受。攻擊者可以利用BO2K的伺服器組態工具可以組態許多伺服器參數,內含TCP或UDP、連接埠號、加密類型、秘密啟用(在Windows 9x機器上執行得較好,在Windows NT機器上則略遜一籌)、密碼、外掛等。

特洛伊木馬完全解析 <下>

Back Orifice的許多特性給人以深刻的印象,例如鍵擊事件記錄、HTTP檔案瀏覽、註冊表編輯、音頻和視訊捕獲、密碼竊取、TCP/IP連接埠重定向、消息傳送、遠端重新啟動、遠端鎖定、封包加密、檔案壓縮,等等。Back Orifice帶有一個軟體開發工具包(SDK),容許通過外掛延伸其功能。
  預設的bo_peep.dll外掛容許攻擊者遠端控制機器的鍵盤和滑鼠。就實際套用方面而言,Back Orifice對錯誤的輸入指令非常敏感,經驗不足的新手可能會使它頻繁地崩潰,不過到了經驗豐富的老手那裡,它又會變得馴服而又強悍。

  ■ SubSeven

  SubSeven可能比Back Orifice還要受歡迎,這個特洛伊木馬一直處於各大反病毒軟體廠商的感染統計榜前列。SubSeven可以作為鍵記錄器、包嗅探器使用,還具有連接埠重定向、註冊表修改、麥克風和攝像頭記錄的功能。圖二顯示了一部分SubSeven的用戶端指令和伺服器組態選項。

  SubSeven具有許多令受害者難堪的功能:攻擊者可以遠端交換滑鼠按鍵,關閉/開啟Caps Lock、Num Lock和Scroll Lock,禁用Ctrl+Alt+Del群組合鍵,註銷使用者,開啟和關閉CD-ROM磁碟機,關閉和開啟監視器,翻轉螢幕顯示,關閉和重新啟動電腦,等等。

  SubSeven利用ICQ、IRC、email甚至CGI腳本和攻擊發起人聯繫,它能夠隨機地變更伺服器連接埠,並向攻擊者知會連接埠的變化。另外,SubSeven還提供了私人的代碼來竊取AOL Instant Messenger(AIM)、ICQ、RAS和螢幕保護程式的密碼。
  四、檢驗和清除特洛伊木馬

  若果一個企業網路曾經遭受病毒和Email蠕蟲的肆虐,那麼這個網路很可能也是特洛伊木馬的偏好攻擊目的。由於木馬會被綁定程式和攻擊者加密,因此對於一般的反病毒軟體來說,尋找木馬要比尋找蠕蟲和病毒困難得多。另一方面,特洛伊木馬造成的損害卻可能遠遠高於普通的蠕蟲和病毒。因此,檢驗和清除特洛伊木馬是系統管理員的首要任務。

  要反擊惡意代碼,最佳的武器是最新的、成熟的病毒掃瞄工具。掃瞄工具能夠檢驗出大多數特洛伊木馬,並盡可能地使清理過程自動化。許多管理員過分依賴某些專門針對特洛伊木馬的工具來檢驗和清除木馬,但某些工具的效果令人懷疑,至少不值得完全信任。不過,Agnitum的Tauscan確實稱得上頂級的掃瞄軟體,過去幾年的成功已經證明了它的效果。

  特洛伊木馬入侵的一個明顯證據是受害機器上意外地開啟了某個連接埠,特別地,若果這個連接埠正好是特洛伊木馬常用的連接埠,木馬入侵的證據就更加肯定了。一旦發現有木馬入侵的證據,應當盡快切斷該機器的網路連線,減少攻擊者探測和進一步攻擊的機會。開啟任務管理器,關閉所有連線到Internet的程式,例如Email程式、IM程式等,從系統工作列上關閉所有正在執行的程式。注意暫時不要啟動到安全模式,啟動到安全模式通常會阻止特洛伊木馬裝入記憶體,為檢驗木馬帶來困難。

  大多數動作系統,當然內含Windows,都帶有檢驗IP網路狀態的Netstat工具,它能夠顯示出近端機器上所有活動的監聽連接埠(內含UDP和TCP)。開啟一個指令行視窗,執行「Netstat -a」指令就可以顯示出近端機器上所有開啟的IP連接埠,注意一下是否存在意外開啟的連接埠(當然,這要求對連接埠的概念和常用程式所用的連接埠有一定的瞭解)。

  圖三顯示了一次Netstat檢驗的例子,檢驗結果表明一個Back Orifice使用的連接埠(即31337)已經被啟用,木馬客戶程式使用的是遠端機器(ROGERLAP)上的1216連接埠。除了已知的木馬常用連接埠之外,另外還要特別留意不明的FTP伺服器(連接埠21)和Web伺服器(連接埠80)。  



圖三:檢驗到啟用的BO
  但是,Netstat指令有一個缺點,它能夠顯示出哪些IP連接埠已經啟用,但卻沒有顯示出哪些程式或檔案啟用了這些連接埠。要找出哪個執行檔案建立了哪個網路連線,必須使用連接埠枚舉工具,例如,Winternals Software的TCPView Professional Edition就是一個優秀的連接埠枚舉工具。Tauscan除了能夠識別特洛伊木馬,也能夠建立程式與連接埠的聯繫。另外,Windows XP的Netstat工具提供了一個新的-o選項,能夠顯示出正在使用連接埠的程式或服務的進度標識符(PID),有了PID,用任務管理器就可以方便地根據PID找到對應的程式。

  若果手頭沒有連接埠枚舉工具,無法快速找出幕後肇事者的真正身份,請按照下列步驟動作:尋找自動啟動的陌生程式,尋找位置內含註冊表、.ini檔案、啟動資料夾等。然後將機器重新啟動進入安全模式,可能的話,用Netstat指令確認一下特洛伊木馬尚未裝入記憶體。接下來,分別執行各個前面找出的有疑問的程式,每次執行一個,分別用Netstat指令檢查新開啟的連接埠。若果某個程式起始化了一個Internet連線,那就要特別小心了。深入研究一下所有可疑的程式,移除所有不能信任的軟體。

  Netstat指令和連接埠枚舉工具非常適合於檢驗一台機器,但若果要檢驗的是整個網路,又該怎麼辦?大多數入侵檢驗系統(Intrusion Detection System,IDS)都具有在一般通信中捕獲常見特洛伊木馬封包的能力。FTP和HTTP資料具有可識別的特殊資料結構,特洛伊木馬封包也一樣。只要正確組態和經常更新IDS,它甚至能夠可靠地檢驗出經由加密處理的Back Orifice和SubSeven通信。請參見http://www.snort.org,瞭解常見的源代碼開放IDS工具。

  五、處理遺留問題

  檢驗和清除了特洛伊木馬之後,另一個重要的問題浮現了:遠端攻擊者是否已經竊取了某些敏感訊息?危害程度多大?要給出確切的答案很困難,但你可以通過下列問題確定危害程度。首先,特洛伊木馬存在多長時間了?檔案建立日期不一定值得完全信賴,但可資參考。利用Windows資源管理器檢視特洛伊木馬執行檔案的建立日期和最近訪問日期,若果執行檔案的建立日期很早,最近訪問日期卻很近,那麼攻擊者利用該木馬可能已經有相當長的時間了。

  其次,攻擊者在入侵機器之後有哪些行動?攻擊者訪問了機密資料庫、傳送Email、訪問其他遠端網路或共享目錄了嗎?攻擊者取得管理員權限了嗎?仔細檢查被入侵的機器尋找線索,例如檔案和程式的訪問日期是否在使用者的辦公時間之外?

  在安全要求較低的環境中,大多數使用者可以在清除特洛伊木馬之後恢復標準工作,只要日後努力防止遠端攻擊者再次得逞就可以了。至於安全性要求一般的場合,最好能夠修改一下所有的密碼,以及其他比較敏感的訊息(例如信用卡號碼等)。

  在安全性要求較高的場合,任何不明的潛在風險都是不可忍受的,必要時應當調整管理員或網路安全的負責人,徹底檢驗整個網路,修改所有密碼,在此基礎上再執行後繼風險分析。對於被入侵的機器,重新進行徹底的格式化和安裝。

  特洛伊木馬造成的危害可能是非常驚人的,由於它具有遠端控制機器以及捕獲螢幕、鍵擊、音頻、視訊的能力,所以其危害程度要遠遠超過普通的病毒和蠕蟲。深入瞭解特洛伊木馬的執行原理,在此基礎上採取正確的防衛措施,只有這樣才能有效減少特洛伊木馬帶來的危害.

作者: ljn617     時間: 2008-2-16 09:13 AM
謝謝大大!這篇文章讓我受益良多!感恩唷~
作者: arlin316     時間: 2008-9-14 05:03 PM
謝謝大大!這篇文章讓我受益良多!感恩唷~
作者: wcc7877     時間: 2008-9-14 11:12 PM
3q受益匪淺,
作者: po7218     時間: 2008-9-16 08:54 AM
終於看完了
長知識
謝謝大大無私的分識
讓我更了解如何防止資料外流




歡迎光臨 網際論壇 (http://centurys.net/) Powered by Discuz! 2.5