木馬程序是一種程序,它能提供一些有用的,或是僅僅令人感興趣的功能。但是它還有用戶所不知道的其他功能,例如在你不了解的情況下拷貝文件或竊取你的密碼。
RFC1244(Request for Comments:1244)中是這樣描述木馬的:“木馬程序是一種程序,它能提供一些有用的,或是僅僅令人感興趣的功能。但是它還有用戶所不知道的其他功能,例如在你不了解的情況下拷貝文件或竊取你的密碼。”隨著互聯網的迅速發展,木馬的攻擊、危害性越來越大。木馬實質上是一個程序,必須運行後才能工作,所以會在進程表、注冊表中留下蛛絲馬跡,我們可以通過“查、堵、殺”將它“緝拿歸案”。
查
1.檢查系統進程
大部分木馬運行後會顯示在進程管理器中,所以對系統進程列表進行分析和過濾,可以發現可疑程序。特別是利用與正常進程的CPU資源占用率和句柄數的比較,發現異常現象。
2.檢查注冊表、ini文件和服務
木馬為了能夠在開機後自動運行,往往在注冊表如下選項中添加注冊表項:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnceEx
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
木馬亦可在Win.ini和System.ini的“run=”、“load=”、“shell=”後面加載,如果在這些選項後面加載程序是你不認識的,就有可能是木馬。木馬最慣用的伎倆就是把“Explorer”變成自己的程序名,只需稍稍改“Explorer”的字母“l”改為數字“1”,或者把其中的“o”改為數字“0”,這些改變如果不仔細觀察是很難被發現。
在Windwos NT/2000中,木馬會將自己作為服務添加到系統中,甚至隨機替換系統沒有啟動的服務程序來實現自動加載,檢測時要對操作系統的常規服務有所了解。
3.檢查開放端口
遠程控制型木馬以及輸出Shell型的木馬,大都會在系統中監聽某個端口,接收從控制端發來的命令,並執行。通過檢查系統上開啟的一些“奇怪”的端口,從而發現木馬的蹤跡。在命令行中輸入Netstat na,可以清楚地看到系統打開的端口和連接。也可從www.foundstone.com下載Fport軟件,運行該軟件後,可以知道打開端口的進程名,進程號和程序的路徑,這樣為查找“木馬”提供了方便之門。
4.監視網絡通訊
對於一些利用ICMP數據通訊的木馬,被控端沒有打開任何監聽端口,無需反向連接,不會建立連接,采用第三種方法檢查開放端口的方法就行不通。可以關閉所有網絡行為的進程,然後打開Sniffer軟件進行監聽,如此時仍有大量的數據,則基本可以確定後台正運行著木馬。
堵
1.堵住控制通路
如果你的網絡連接處於禁用狀態後或取消撥號連接,反復啟動、打開窗口等不正常現象消失,那麼可以判斷你的電腦中了木馬。通過禁用網絡連接或拔掉網線,就可以完全避免遠端計算機通過網絡對你的控制。當然,亦可以通過防火牆關閉或過濾UDP、TCP、ICMP端口。
2.殺掉可疑進程
如通過Pslist查看可疑進程,用Pskill殺掉可疑進程後,如果計算機正常,說明這個可疑進程通過網絡被遠端控制,從而使計算機不正常。
殺
1.手工刪除
對於一些可疑文件,不能立即刪除,有可能由於誤刪系統文件而使計算機不能正常工作。首先備份可疑文件和注冊表,接著用Ultraedit32編輯器查看文件首部信息,通過可疑文件裡面的明文字符對木馬有一個大致了解。當然高手們還可以通過W32Dasm等專用反編譯軟件對可疑文件進行靜態分析,查看文件的導入函數列表和數據段部分,初步了解程序的主要功能。最後,刪除木馬文件及注冊表中的鍵值。
2.軟件殺毒
由於木馬編寫技術的不斷進步,很多木馬有了自我保護機制。普通用戶最好通過專業的殺毒軟件如瑞星、金山毒霸等軟件進行殺毒,對於殺毒軟件,一定要及時更新,並通過病毒公告及時了解新木馬的預防和查殺絕技,或者通過下載專用的殺毒軟件進行殺毒.