檢查木馬病毒刪除方法
木馬(Trojan),也稱木馬病毒,是指通過特定的程式(木馬程式)來控制另一臺計算機。那麼電腦木馬病毒如何刪除呢?下面由小編給你詳細介紹檢查刪除木馬病毒的方法,希望對你有幫助!。下面由小編給你做出詳細的檢查木馬病毒介紹!希望對你有幫助!
檢查木馬病毒刪除介紹:
在電腦保安學中,特洛伊木馬是指一種計算機程式,表面上或實際上有某種有用的功能,而含有隱藏的可以控制使用者計算機系統、危害系統安全的功能,可能造成使用者資料的洩漏、破壞或整個系統的崩潰。在一定程度上,木馬也可以稱為是計算機病毒。
由於很多使用者對電腦保安問題了解不多,所以並不知道自己的計算機是否中了木馬或者如何刪除木馬。雖然現在市面上有很多新版防毒軟體都稱可以自動清除木馬病毒,但它們並不能防範新出現的木馬病毒***哪怕宣傳上稱有查殺未知病毒的功能***。而且實際的使用效果也並不理想。比如用某些防毒軟體解除安裝木馬後,系統不能正常工作,或根本發現不了經過特殊處理的木馬程式。本人就測試過一些經程式設計人員改裝過的著名木馬程式,新的查防毒軟體是連檢查都檢測不到,更不用說要刪除它了***哪怕是使用的是最新的病毒庫***。因此最關鍵的還是要知道特洛伊木馬的工作原理,由其原理著手自己來檢測木馬和刪除木馬。用手工的方法極易發現系統中藏匿的特洛伊木馬,再根據其藏匿的方式對其進行刪除。
一、木馬工作的原理
在Windows系統中,木馬一般作為一個網路服務程式在種了木馬的機器後臺執行,監聽本機一些特定埠,這個埠號多數比較大***5000以上,但也有部分是5000以下的***。當該木馬相應的客戶端程式在此埠上請求連線時,它會與客戶程式建立一TCP連線,從而被客戶端遠端控制。
既然是木馬,當然不會那麼容易讓你看出破綻,對於程式設計人員來說,要隱藏自己所設計的視窗程式,主要途徑有:在工作列中將視窗隱藏,這個只要把Form的Visible屬性調整為False,ShowInTaskBar也設為False。那麼程式執行時就不會出現在工作列中了。如果要在工作管理員中隱身,只要將程式調整為系統服務程式就可以了。
好了,現在我們對木馬的執行有了大體瞭解。讓我們從其執行原理著手來看看它藏在哪。既然要作為後臺的網路伺服器執行,那麼它就要乘計算機剛開機的時候得到執行,進而常駐記憶體中。想一想,Windows系統剛啟動的時候會通過什麼專案裝入而執行一些程式呢?你可能會想到“開始->程式->啟動”中的專案!沒錯,這是Windows啟動時要執行的東西,但要是木馬伺服器程式明顯地放在這就不叫木馬了。
木馬基本上採用了Windows系統啟動時自動載入應用程式的方法,包括有win.ini、system.ini和登錄檔等。
在win.ini檔案中,[WINDOWS]下面,“run=”和“load=”行是Windows啟動時要自動載入執行的程式專案,木馬可能會在這現出原形。必須要仔細觀察它們,一般情況下,它們的等號後面什麼都沒有,如果發現後面跟有路徑與檔名不是你熟悉的或以前沒有見到過的啟動檔案專案,那麼你的計算機就可能中上木馬了。當然你也得看清楚,因為好多木馬還通過其容易混淆的檔名來愚弄使用者。如AOL Trojan,它把自身偽裝成command.exe檔案,如果不注意可能不會發現它,而誤認它為正常的系統啟動檔案項。
在system.ini檔案中,[BOOT]下面有個“shell=Explorer.exe”項。正確的表述方法就是這樣。如果等號後面不僅僅是explorer.exe,而是“shell=
Explorer.exe 程式名”,那麼後面跟著的那個程式就是木馬程式,明擺著你已經中了木馬。現在有些木馬還將explorer.exe檔案與其進行繫結成為一個檔案,這樣的話,這裡看起來還是正常的,無法瞧出破綻。
隱蔽性強的木馬都在登錄檔中作文章,因為登錄檔本身就非常龐大、眾多的啟動專案及易掩人耳目。
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
上面這些主鍵下面的啟動專案都可以成為木馬的容身之處。如果是Windows NT,那還得注意HKEY-LOCAL-MACHINE\Software\SAM下的東西,通過regedit等登錄檔編輯工具檢視SAM主鍵,裡面下應該是空的。
木馬駐留計算機以後,還得要有客戶端程式來控制才可以進行相應的“黑箱”操作。要客戶端要與木馬伺服器端進行通訊就必須得建立一連線***一般為TCP連線***,通過相應的程式或工具都可以檢測到這些非法網路連線的存在。具體如何檢測,在第三部分有詳細介紹。
二、檢測木馬的存在
知道木馬啟動執行、工作的原理,我們就可以著手來看看自己的計算機有沒有木馬存在了。
首先,檢視system.ini、win.ini、啟動組中的啟動專案。由“開始->執行”,輸入msconfig,執行Windows自帶的“系統配置實用程式”。
1、檢視system.ini檔案
選中“System.ini”標籤,展開[boot]目錄,檢視“shell=”這行,正常為“shell=Explorer.exe”,如果不是這樣,就可能中了木馬了。下圖所示為正常時的情況:
2、檢視win.ini檔案
選中win.ini標籤,展開[windows]目錄項,檢視“run=”和“load=”行,等號後面正常應該為空,如下圖所示:
3、檢視啟動組
再看看啟動標籤中的啟動專案,有沒有什麼非正常專案?要是有象netbus、netspy、bo等關鍵詞,極有可能就是木馬了。本人一般都將啟動組中的專案保持在比較精簡的狀態,不需要或無大用途的專案都遮蔽掉了。如下圖,只是選中了與登錄檔檢查、音量控制、輸入法和能源保護相關的啟動欄。到時要是有木馬出現,自是一目瞭然。
4、檢視登錄檔
由“開始->執行”,輸入regedit,確定就可以執行登錄檔編輯器。再展開至:“HKEY-LOCAL-MACHINE\Software\Microsoft\Windows\CurrentVersion\Run”目錄下,檢視鍵值中有沒有自己不熟悉的自動啟動檔案專案,比如netbus、netspy、netserver等的單詞。注意,有的木馬程式生成的伺服器程式檔案很像系統自身的檔案,想由此偽裝矇混過關。比如Acid Battery木馬,它會在登錄檔項“HKEY-LOCAL-MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run”下加入
Explorer=“C:\WINDOWS\expiorer.exe”,木馬伺服器程式與系統自身的真正的Explorer之間只有一個字母的差別!
通過類似的方法對下列各個主鍵下面的鍵值進行檢查:
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
如果作業系統是Windows NT,還得注意HKEY-LOCAL-MACHINE\Software\SAM下面的內容,如果有專案,那極有可能就是木馬了。正常情況下,該主鍵下面是空的。
當然在登錄檔中還有很多地方都可以隱藏木馬程式,上面這些主鍵是木馬比較常用的隱身之處。除此之外,象HKEY-CURRENT-USER\Software\Microsoft\Windows\CurrentVersion\Run、HKEY-USERS\****\Software\Microsoft\Windows\CurrentVersion\Run的目錄下都有可能成為木馬的藏身之處。最好的辦法就是在HKEY-LOCAL-MACHINE\Software\Microsoft\Windows\CurrentVersion\Run或其它主鍵下面找到木馬程式的檔名,再通過其檔名對整個登錄檔進行全面搜尋就知道它有幾個藏身的地方了。
如果有留意,登錄檔各個主鍵下都會有個叫“***預設***”名稱的註冊項,而且資料顯示為“***未設定鍵值***”,也就是空的。這是正常現象。如果發現這個預設項被替換了,那麼替換它的就是木馬了。
4、其它方法
上網過程中,在進行一些計算機正常使用操作時,發現計算機速度明顯起了變化、硬碟在不停的讀寫、滑鼠不聽使喚、鍵盤無效、自己的一些視窗在未得到自己允許的情況下被關閉、新的視窗被莫名其妙地開啟.....這一切的不正常現象都可以懷疑是木馬客戶端在遠端控制你的計算機。
如果懷疑你現在正在被木馬控制,那麼不要慌張地去拔了網線或抽了Modem上的電話線。有可能的話,最好可以逮到“黑”你的那個傢伙。下面就介紹一下相應的方法:
由“開始->執行”,輸入command,確定,開一個MS-DOS視窗。或者由“開始->程式->MS-DOS”來開啟它。在MS-DOS視窗的命令列鍵入“netstat”檢視目前已與本計算機建立的連線。如下圖所示:
顯示出來的結果表示為四列,其意思分別為Proto:協議,Local Address:本地地址,Foreign Address:遠端地址,State:狀態。在位址列中冒號的後面就是埠號。如果發現埠號碼異常***比如大於5000***,而Foreign Address中的地址又不為正常網路瀏覽的地址,那麼可以判斷你的機器正被Foreign Address中表示的遠端計算機所窺視著。在對應行的Foreign Address中顯示的IP地址就是目前非法連線你計算機的木馬客戶端。
當網路處於非活動狀態,也就是目前沒什麼活動網路連線時,在MS-DOS視窗中用netstat命令將看不到什麼東西。此時可以使用“netstat -a”,加了常數“-a”表示顯示計算機中目前處於監聽狀態的埠。對於Windows98來說,正常情況下,會出現如下的一些處於監聽狀態的埠***安裝有NETBEUI協議***:
如果出現有不明埠處於監聽***LISTENING***狀態,而目前又沒有進行任何網路服務操作,那麼在監聽該埠的就是特洛伊木馬了!如下圖所示的23456和23457埠都處於監聽狀態,很明顯是木馬造成的。
注意,使用此方法查詢處於監聽狀態的埠,一定要保證在短時間內***最好5分鐘以上***沒有執行任何網路衝浪軟體,也沒有進行過任何網路操作,比如瀏覽網頁,收、發信等。不然容易混淆對結果的判斷。
三、刪除木馬
好了,用上面的一些方法發現自己的計算機中了木馬,那怎麼辦?當然要將木馬刪除了,難道還要保留它!首先要將網路斷開,以排除來自網路的影響,再選擇相應的方法來刪除它。
1、由木馬的客戶端程式
由先前在win.ini、system.ini和登錄檔中查詢到的可疑檔名判斷木馬的名字和版本。比如“netbus”、“netspy”等,很顯然對應的木馬就是NETBUS和NETSPY。從網上找到其相應的客戶端程式,下載並執行該程式,在客戶程式對應位置填入本地計算機地址:127.0.0.1和埠號,就可以與木馬程式建立連線。再由客戶端的卸除木馬伺服器的功能來卸除木馬。埠號可由“netstat -a”命令查出來。
這是最容易,相對來說也比較徹底載除木馬的方法。不過也存在一些弊端,如果木馬檔名給另外改了名字,就無法通過這些特徵來判斷到底是什麼木馬。如果木馬被設定了密碼,既使客戶端程式可以連線的上,沒有密碼也登陸不進本地計算機。當然要是你知道該木馬的通用密碼,那就另當別論了。還有,要是該木馬的客戶端程式沒有提供解除安裝木馬的功能,那麼該方法就沒什麼用了。當然,現在多數木馬客戶端程式都是有這個功能的。
2、手工
不知道中的是什麼木馬、無登陸的密碼、找不到其相應的客戶端程式、......,那我們就手工慢慢來刪除這該死的木馬吧。
用msconfig開啟系統配置實用程式,對win.ini、system.ini和啟動專案進行編輯。遮蔽掉非法啟動項。如在win.ini檔案中,將將[WINDOWS]下面的“run=xxx”或“load=xxx”更改為“run=”和“load=”;編輯system.ini檔案,將[BOOT]下面的“shell=xxx”,更改為:“shell=Explorer.exe”。
用regedit開啟登錄檔編輯器,對登錄檔進行編輯。先由上面的方法找到木馬的程式名,再在整個登錄檔中搜索,並刪除所有木馬專案。由查詢到的木馬程式註冊項,分析木馬檔案在硬碟中的位置***多在C:\WINDOWS和C:\WINDOWS\COMMAND目錄下***。啟動到純MS-DOS狀態***而不是在Windows環境中開個MS-DOS視窗***,用del命令將木馬檔案刪除。如果木馬檔案是系統、隱藏或只讀檔案,還得通過“attrib -s -h -r”將對應檔案的屬性改變,才可以刪除。
為保險起見,重新啟動以後再由上面各種檢測木馬的方法對系統進行檢查,以確保木馬的確被刪除了。
目前也有一些木馬是將自身的程式與Windows的系統程式進行了繫結***也就是感染了系統檔案***。比如常用到的Explorer.exe,只要Explorer.exe一得到執行,木馬也就啟動了。這種木馬可以感染可執行檔案,那就更象病毒了。由手工刪除檔案的方法處理木馬後,一執行Explorer.exe,木馬又得以復生!這時要刪除木馬就得連Explorer.exe檔案也給刪除掉,再從別人相同作業系統版本的計算機中將該檔案Copy過來就可以了。
四、結束語
Internet上每天都有新的木馬冒出來,所採取的隱蔽措施也是五花八門。在資訊社會裡,計算機使用者對自己的資料進行保密、防止洩漏也變得越來越重要。防範木馬襲擊也只是提高電腦保安性的一個方面。技術的發展,本文所講述的檢測、刪除木馬方法也總有一天會失效,最主要還是要靠使用者提高警惕,防範所有的不安全事件於未然。