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