2007年5月18日 星期五

手動移除病毒(Virus、Trojan...)

現在坊間的掃病毒、廣告和木馬的軟體眾多,可是有沒有遇過一種情形,那就是掃的出來,但是怎麼都殺不掉,就算真的真的殺掉了,往往一重新開機,它就像夢魘般纏著你

如果說到防毒軟體,你可能會用卡巴斯基(KIS)、諾頓(NORTON)...等,說到廣告軟體可能會用Adaware...等,木馬的話,針對各式各樣的木馬都還找得到許多對應的移除工具,筆者這次要說的並不是要評比這些軟體的強弱程度,其實只要自己使用上方便與習慣比較重要(電腦的使用還是很隨性的)

這有個德國的防毒測試評比,給大家參考:www.virus.gr(2007、4/23~5/10)

筆者現在要說明的就是怎麼手動解決一些麻煩的病毒,看的見掃不掉,不過許多相關的資料也是從網路上找來的,取之於網路,用之於網路,除此之外,使用下列方式掃毒者,請對於windows登錄檔有基本的認識,再加上Google大神的一臂之力,大多可以解決問題,雖然可以直接轉載別人的文章,但是我喜歡以自己的角度來切入問題囉!

在開始介紹之前,請先把中毒的電腦,或是疑似中毒的電腦,做下列三件事:
-----------------------------------
1.關閉WINDOWS的系統還原(WIN ME以上)可能使刪去的病毒也還原
方法:參考筆者先前的文章
2.清除電腦的暫存檔:掃毒時最常在此找到病毒
開啟IE --> 工具 -->網際網路選項 --> 刪除COOKIE、檔案(包含離線)
C:\Documents and Settings\(使用者名稱)\Local Settings\Temp
3.進入安全模式做清除動作(注意:登錄檔掃描時,請在一般環境下處理)
開機後,按F8即可切進安全模式,含不含網路視狀況而定
(若遇到套裝電腦有定義F8為開機設備選單時,選硬碟開機,跳開畫面後立即按下F8才可進入安全模式)
-----------------------------------
知道了以上三點之後,接下來就是相關的軟體:
這裡的軟體,有的不需安裝,有的則是共享軟體,都能加速找出問題
-----------------------------------
Hijackthis:可用來掃描登錄檔是否被竄改過(以此做為報告比對)
SREng:很好用的系統工具,
Icesowrd冰刃:能偵測rookit和解決dll檔的工具(對岸軟體)
Process Explore:可以觀察正在執行的程序,並加以標示
...還有很多,只要上個Google相信你可以找到一堆
-----------------------------------

雖然沒圖沒真相,可是筆者發現,貼一堆圖可能會影響閱讀,所以筆者只針對關鍵部份貼圖,其它部份大多以文字描述

1.HijackThis進行掃描:

面對手動才能移除的病毒,首先在一般模式之下進行HIJACKTHIS的掃描,這樣才能夠真實的呈現出電腦真實的情況,再利用掃描後的報告檔來進行比對,甚至在網路上求助時,這也是不可或缺的報告文件之一

步驟:
開啟軟體,點Do a system scan and save a log file,就會登錄檔掃描及產生報告


可以利用ANALYSTTHIS,將報告做線上掃描,但老實說容易誤判且看不太懂,但是很好的一點就是它在無法辨識的登錄檔,在報告的後方會有標示,所以可以利用Google查詢

檢查完,若是有問題的登錄檔,可以勾選該登錄檔的CHECKBOX,按下FIX CHECK,它就會幫你做清除該登錄檔的動作,這也是在遇到殺
不掉的病毒時的第一種解決方法

它還有許多功能,筆者不詳述,自己摸索也別有樂趣(如果沒被追殺的話啦...)

2.SREng(安全模式下進行)
其實SREng的功能跟HijackThis很像,但是功能卻比它強很多,它
除了可以刪除登錄檔(regedit)之外,甚至可以在上面直接修改,這也是一個很方便的軟體喔!不然就要自己再開一個登錄檔編輯器才能修改了,除此之外,它還有一項很棒的功能,您可以直接用右鍵選google搜尋來比對該登錄檔,真是非常方便

步驟:
打開軟體後,點選smart scan,並將下方的verify the digital signature of process modules(包含數位簽章)勾選起來,按下scan即可得到相關資訊


接著點選registry後,有顏色的部份就是
有問題的部份,可直接用右鍵使用google搜尋相關資訊,看是否要刪除或保留

使用時機:
其實說穿了就是用在要修改登錄檔而不是直接刪除該條登錄檔時使用
實例:[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon]<C:\WINDOWS\system32\userinit.exe, C:\WINDOWS\system32\xxx.dll> [N/A]


這時候因為紅字是系統本身就有的,故需保留,把後面
以google搜尋後發現非原生檔案,且最後方的數位簽章是[N/A],就可以利用編輯把後面那一段刪去後,別忘記要去刪除實際存在於路徑為C:\WINDOWS\system32\下的xxx.dll檔(需在安全模式下進行)

這樣子一來就可以解決這一種重開機後又會出現的病毒,不過並非所有檔案都能夠被刪除的,應該每個人都曾遇過刪除檔案或資料夾發生錯誤的狀
況,這狀況就要用下面第三種方式來解決了
3.Icesowrd冰刃、Process Explore
第三種方式說穿了其實就是利用這兩種軟體的功能輔助解決無法刪除的狀態

Process Explore是可以查出系統正在使用那些服務,其實用ALT+SHIFT+DEL開啟工作管理員也可以看見正在處理的程序,這軟體的好處是能夠標示出相依性

Icesowrd冰刃是能夠強制將特定的程序進行解除鎖定,就類似卸載的功能

所以遇到無法被刪除的程序時,就可以先用Process Explore查出運行中的所有程序,再利用Icesowrd冰刃將該特定的程序unlocker,接著就可以進行刪除

實例:
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon] <C:\WINDOWS\system32\userinit.exe, C:\WINDOWS\installer\services.exe> [N/A],針對系統中的service.exe無法刪除

步驟:
開啟Process Explore,按ctrl+F,打services.exe,會將所有的services.exe程序都找出來,再利用Icesowrd選process,在以image name排序,找到所有的service.exe的程序,按右鍵執行Terminate Process即可終止該程序

所以就可以C:\WINDOWS\installer\下把services.exe刪除,雖然筆者是以exe檔說明,一般最常遇見的是dll的關聯檔,(因筆者手邊無實際中毒電腦,故圖形僅為參考)



(除了筆者所說的內容之外,網路上有更多組合性的應用,可以稍稍google一下,我想一定可以解決您的問題)

筆者感想
經過這樣子的漫長處理之後,也許毒都殺乾淨了,但是真的沒事了嗎?

其實並不然,因為在掃毒殺毒的過程中,如果是系統檔案被感染而移除,就有可能會造成電腦不穩或需要重灌,所以重點還是在使用者的習慣及安全上的防護比較要緊,手動移除畢竟還是亡羊補牢