同病毒相比,木馬(尤其是DLL木馬)則陰險的多,木馬的活動(dòng)并不張揚,而是悄無(wú)聲息的潛入系統,并開(kāi)啟后門(mén)為黑客打開(kāi)入侵通道,讓其可以輕松對本機進(jìn)行各種遙控操作,執行注入盜竊數據,攔截信息等勾當。一旦您的機密沒(méi)信息被盜,那么就會(huì )帶來(lái)很大的損失。雖然使用殺軟可以攔截木馬,但是殺軟并非萬(wàn)能,對于免殺型木馬來(lái)說(shuō),突破殺軟防線(xiàn)并非難事??磥?lái),僅僅依靠殺軟還是不夠的,這就要求我們能夠發(fā)現并及時(shí)清除深層木馬。
這里就以對付DLL木馬為例,來(lái)說(shuō)明發(fā)現和清除之道。這類(lèi)木馬將自身的關(guān)鍵代碼封裝在DLL動(dòng)態(tài)庫中,然后由主控程序將木馬DLL文件非法插入到系統的核心進(jìn)程中,同時(shí)主動(dòng)連接遠程控制端電腦,讓防火墻形同虛設。木馬的最大特點(diǎn)就是開(kāi)啟后門(mén),要開(kāi)啟后門(mén)就必然打開(kāi)特定的端口。在CMD窗口中運行“netstat -ano”命令,可以查看網(wǎng)絡(luò )連接信息。
不過(guò),在很多情況下,面對一大串的連接信息,會(huì )讓人感到眼暈。其實(shí),借助簡(jiǎn)單的命令,就可以讓可疑連接迅速浮出水面。在系統運行正常時(shí),執行“netstat –ano >c:\test\netone.txt”命令,將所有的網(wǎng)絡(luò )連接信息導出到“netone.txt”文件中。當懷疑有木馬活動(dòng)時(shí),執行“netstat –an >c:\test\nettwo.txt”命令,獲得所需的監控文件。之后執行“fc netone.txt nettwo.txt”命令,對兩者的內容進(jìn)行比較,就可以大大縮小查找的范圍。這些信息包括就能看到當前系統中所有網(wǎng)絡(luò )連接信息,包括源地址和端口號、目標地址和端口號、連接狀態(tài)、進(jìn)程的PID號等內容,據此可以很容易的發(fā)現可疑的網(wǎng)絡(luò )連接
例如,在本例中可以清晰的看到一個(gè)可疑的TCP連接信息,在本地端口打開(kāi)了9100端口,和遠程地址xxx.xxx.140.109的3060端口建立了網(wǎng)絡(luò )連接,建立該連接的是PID為1736的進(jìn)程。根據查到的進(jìn)程PID號,打開(kāi)Windows任務(wù)管理器,切換到“進(jìn)程”面板,點(diǎn)擊菜單“查看”→“選擇列”,在列名稱(chēng)選擇窗口中勾選“PID”,確認后在“進(jìn)程”面板中就能查看到所有進(jìn)程的PID號了,很快就找到了PID為1736的進(jìn)程名,原來(lái)是系統進(jìn)程“Svchost.exe”,而該進(jìn)程默認是不會(huì )開(kāi)啟可疑端口的,肯定是木馬程序將自身注入到該系統進(jìn)程中,并利用反彈連接主動(dòng)和遠程控制端建立聯(lián)系,達到非法控制本機的目的。
到底是什么可疑程序隱藏到了“Svchost.exe”進(jìn)程中了呢?在CMD窗口中運行命令“Tasklist /m”,Windows 會(huì )逐一列出每一個(gè)進(jìn)程的名稱(chēng),PID號,以及其中包含的所有模塊信息。根據名稱(chēng)為1736的PID號,找到“Svchost.exe”進(jìn)程,將“Svchost.exe”進(jìn)程中包含的模塊信息復制粘貼到記事本中,將多余的空格和逗號刪除,按一行一個(gè)文件名的順序排列。然后將其保存,假設文件名為“Svchost.txt”。
為了找出隱藏在其中的可疑模塊,可以到其它正常的電腦中提取對應的的模塊信息(最好在Windows XP剛剛安裝之后,就保存所有系統進(jìn)程包含的模塊信息),將提取的模塊信息經(jīng)過(guò)同樣處理后保存,假設文件名為“Svchost0.txt”。在Cmd窗口中運行命令“fc Svchost.txt Svchost0.txt”,很快就縮小了查找的范圍,最終將可疑點(diǎn)集中到了“winsrv32.dll”文件上。同時(shí)在Windows的任務(wù)管理器中發(fā)現“kndriver.exe”和“service.exe”兩個(gè)可疑程序,當試圖中止上述兩個(gè)可疑進(jìn)程時(shí),發(fā)現其具相互守護功能,無(wú)法手工關(guān)閉??磥?lái),這兩個(gè)可疑進(jìn)程很有可能是木馬的幫兇。
打開(kāi)文件夾選項窗口,確認選擇顯示所有的文件和文件夾項。利用Windows XP的查找功能,確定上述可疑文件都位于位于“c:\windows\system32\media”文件夾中,當試圖刪除該文件時(shí),系統提示該文件正在使用無(wú)法刪除。同時(shí)運行“Msconfig.exe”程序,發(fā)現在注冊表啟動(dòng)項中存在和可疑程序“kndriver.exe”相關(guān)的啟動(dòng)項。木馬既然可以自動(dòng)運行,而且可以將木馬DLL模塊插入到系統進(jìn)程中,一定是通過(guò)與之關(guān)聯(lián)的啟動(dòng)項目實(shí)現的。但是運行“msconfig.exe”程序,在系統配置實(shí)用程序窗口中打開(kāi)“啟動(dòng)”面板,在其中沒(méi)有發(fā)現可疑項目。在“服務(wù)”面板中勾選“隱藏所有Microsoft服務(wù)”項,在第三方服務(wù)列表中仔細查看,同樣沒(méi)有發(fā)現可疑的服務(wù)項目??磥?lái),該DLL木馬很有可能是通過(guò)驅動(dòng)文件的形式加載的。果然,運行“msinfo32.exe”程序,在系統信息窗口左側點(diǎn)擊“簽署的驅動(dòng)程序”項,在右側窗口中顯示所有的第三方驅動(dòng)程序信息,因為一般的軟件是不會(huì )隨意在系統中安裝驅動(dòng)的。
在運行正常的主機上打開(kāi)上述系統信息窗口。列出驅動(dòng)文件信息。兩者對比,很快就發(fā)現了名為“netadapter”的驅動(dòng)程序極為可疑,應該是該驅動(dòng)文件從系統底層執行加載操作,將木馬DLL模塊插入到系統進(jìn)程中。在注冊表編輯器中打開(kāi)“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services”路徑,在其中果然找到了名為“netadapter”的驅動(dòng)項目,在右側的“ImagePath”攔發(fā)現了該驅動(dòng)文件的存儲路徑,位于“C:\Windows\System32\drivers”路徑中,其名稱(chēng)為“netnupio.sys”。
確定了木馬藏身地后,可以進(jìn)入安全模式,將上述“kndriver.exe”,“service.exe”,“netnupio.sys”,“winsrv32.dll”等可疑文件全部刪除。也可以使用WinPE優(yōu)盤(pán)引導系統進(jìn)入WinPE環(huán)境,執行手工清除操作。例如,先將可疑文件“winsrv32.dll”刪除,接著(zhù)依次其余的可疑文件即可。然后重新進(jìn)入電腦,連接上網(wǎng)后重新檢查網(wǎng)絡(luò )連接信息,發(fā)現上述可疑網(wǎng)絡(luò )連接已經(jīng)消失了。運行“msconfig.exe”程序,將和木馬相關(guān)的啟動(dòng)項刪除。進(jìn)入注冊表編輯器,打開(kāi)“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services”路徑,將木馬創(chuàng )建的“netadapter”驅動(dòng)項目刪除,這樣就徹底清除了該DLL木馬。
聯(lián)系客服