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