目前網絡上最猖獗的病毒估計非木馬程序莫數了,現在的木馬攻擊性越來越強,在進程隱藏方面,很少采用獨立的EXE可執行文件形式,而是改為內核嵌入方式、遠程線程插入技術、掛接PSAPI等,這些木馬也是目前最難對付的。現在教你查找和清除線程插入式木馬。
一、通過自動運行機制查木馬
一說到查找木馬,許多人馬上就會想到通過木馬的啟動項來尋找“蛛絲馬跡”,具體的地方一般有以下幾處:
(1)注冊表啟動項
在“開始/運行”中輸入“regedit.exe”打開注冊表編輯器,依次展開
也可以通過鍵值所指向的文件路徑來判斷,是新安裝的軟件還是木馬程序。另外
(2)系統服務
有些木馬是通過添加服務項來實現自啟動的,大家可以打開注冊表編輯器,在
(3)開始菜單啟動組
現在的木馬大多不再通過啟動菜單進行隨機啟動,但是也不可掉以輕心。如果發現在“開始/程序/啟動”中有新增的項,可以右擊它選擇“查找目標”到文件的目錄下查看一下,如果文件路徑為系統目錄就要多加小心了。也可以在注冊表中直接查看,它的位置為
(4)系統INI文件Win.ini和System.ini
系統INI文件Win.ini和System.ini里也是木馬喜歡隱蔽的場所。選擇“開始/運行”,輸入“msconfig”調出系統配置實用程序,檢查Win.ini的[Windows]小節下的load和run字段后面有沒有什么可疑程序,一般情況下“=”后面是空白的;還有在System.ini的[boot]小節中的Shell=Explorer.exe后面也要進行檢查。
(5)批處理文件
如果你使用的是Win9X系統,C盤根目錄下“AUTOEXEC.BAT”和WINDOWS目錄下的“WinStart.bat”兩個批處理文件也要看一下,里面的命令一般由安裝的軟件自動生成,在系統默認會將它們自動加載。在批處理文件語句前加上“echo off”,啟動時就只顯示命令的執行結果,而不顯示命令的本身;如果再在前面加一個“@”字符就不會出現任何提示,以前的很多木馬都通過此方法運行。
二、通過文件對比查木馬
新出現的木馬主程序成功加載后,會將自身做為線程插入到系統進程中,然后刪除系統目錄中的病毒文件和病毒在注冊表中的啟動項,以使反病毒軟件和用戶難以查覺,然后它會監視用戶是否在進行關機和重啟等操作,如果有,它就在系統關閉之前重新創建病毒文件和注冊表啟動項。下面的幾招可以讓它現出原形(下面均以Win XP系統為例):
(1)對照備份的常用進程
大家平時可以先備份一份進程列表,以便隨時進行對比查找可疑進程。方法如下:開機后在進行其他操作之前即開始備份,這樣可以防止其他程序加載進程。在運行中輸入“cmd”,然后輸入“tasklist /svc >X:\processlist.txt”(提示:不包括引號,參數前要留空格,后面為文件保存路徑)回車。這個命令可以顯示應用程序和本地或遠程系統上運行的相關任務/進程的列表。輸入“tasklist /?”可以顯示該命令的其它參數。
(2)對照備份的系統DLL文件列表
對于沒有獨立進程的DLL木馬怎么辦嗎?既然木馬打的是DLL文件的主意,我們可以從這些文件下手,一般系統DLL文件都保存在system32文件夾下,我們可以對該目錄下的DLL文件名等信息作一個列表,打開命令行窗口,利用CD命令進入system32目錄,然后輸入“dir *.dll>X:\listdll.txt”敲回車,這樣所有的DLL文件名都被記錄到listdll.txt文件中。日后如果懷疑有木馬侵入,可以再利用上面的方法備份一份文件列表“listdll2.txt”,然后利用“UltraEdit”等文本編輯工具進行對比;或者在命令行窗口進入文件保存目錄,輸入“fc listdll.txt listdll2.txt”,這樣就可以輕松發現那些發生更改和新增的DLL文件,進而判斷是否為木馬文件。
(3)對照已加載模塊
頻繁安裝軟件會使system32目錄中的文件發生較大變化,這時可以利用對照已加載模塊的方法來縮小查找范圍。在“開始/運行”中輸入“msinfo32.exe”打開 “系統信息”,展開“軟件環境/加載的模塊”,然后選擇“文件/導出”把它備份成文本文件,需要時再備份一個進行對比即可。
(4)查看可疑端口
所有的木馬只要進行連接,接收/發送數據則必然會打開端口,DLL木馬也不例外,這里我們使用netstat命令查看開啟的端口。我們在命令行窗口中輸入“netstat -an”顯示出顯示所有的連接和偵聽端口。Proto是指連接使用的協議名稱,Local Address是本地計算機的IP地址和連接正在使用的端口號,Foreign Address是連接該端口的遠程計算機的IP地址和端口號,State則是表明TCP連接的狀態。Windows XP所帶的netstat命令比以前的版本多了一個-O參數,使用這個參數就可以把端口與進程對應起來。輸入“netstat /?”可以顯示該命令的其它參數。接著我們可以通過分析所打開的端口,將范圍縮小到具體的進程上,然后使用進程分析軟件,例如卡卡助手和瑞星個人防火墻。 |