[分享]----《windows親手滅毒寶典》----(新手篇)
1.通過(guò)查看注冊(cè)表和啟動(dòng)菜單中程序自動(dòng)啟動(dòng)清單來(lái)查毒
查毒一般就是從隨系統(tǒng)一起啟動(dòng)的程序中來(lái)找 下面列出幾處常見的加載程序的位置: QUOTE:
首先查看開始菜單-〉程序-〉啟動(dòng)中的項(xiàng)目,具體判斷辦法和下面一樣。
然后,在運(yùn)行中輸入regedit,開啟注冊(cè)表編輯器。下面列出的就是一般程序會(huì)自動(dòng)啟動(dòng)的鍵值路徑 QUOTE:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
這是最常檢查的地方,你在這里會(huì)看到很多常用程序都是通過(guò)在此注冊(cè)達(dá)到每次啟動(dòng)加載的目的,包括各類流氓軟件,如3721。 在里面常見的程序一般都是在Program Files目錄下的,比如你安裝的殺毒軟件,QQ等,如果發(fā)現(xiàn)只有文件名,或者在windows或者windows\system32下面項(xiàng)目,那么很有可能是病毒 QUOTE:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
和上面類似,不過(guò)這個(gè)加載清單的作用范圍僅僅是當(dāng)前登錄的用戶(就是你)。也就是說(shuō)如果winXP有多個(gè)用戶帳戶,那么他們登錄進(jìn)系統(tǒng)是這里面出現(xiàn)的程序未必也會(huì)自動(dòng)啟動(dòng)。正因?yàn)槿绱?,病毒不太?huì)出現(xiàn)在其中 QUOTE:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
這個(gè)目錄下只要注意shell這個(gè)項(xiàng)目,一般正常情況它的值是: QUOTE:
shell 值:Explorer.exe
如果出現(xiàn)比如explorer.exe hook.exe這樣的值,那么后面的那個(gè)hook.exe很可能就是病毒。 凡是出現(xiàn)在explorer.exe 后面的文件名,它所對(duì)應(yīng)的文件會(huì)在每次explorer.exe被啟動(dòng)的時(shí)候也一起被啟動(dòng)出來(lái)。也就是說(shuō)如果hook.exe是病毒,那么每次你打開“我的電腦”或者“資源管理器”,或者在你的任務(wù)欄強(qiáng)迫關(guān)閉又重啟的時(shí)候,hook.exe也會(huì)運(yùn)行一次。所以即使hook.exe不是病毒,那也不是什么正常的程序,因?yàn)樗芟南到y(tǒng)資源。 QUOTE:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows
這里只要注意:AppInit_DLLs這個(gè)項(xiàng)目,正常情況下它的值應(yīng)該是空的。這個(gè)項(xiàng)目表示每當(dāng)一個(gè)程序啟動(dòng)的時(shí)候,AppInit_DLLs中表示的dll文件就會(huì)注入到這個(gè)程序里面去啟動(dòng) 舉個(gè)例子:如果AppInit_DLLs=MyHook.dll,那么在登錄windows后,系統(tǒng)為我加載了qq.exe,那么MyHook.dll也會(huì)出現(xiàn)在其中。dll文件雖然不能自己運(yùn)行,但等他注入到應(yīng)用程序中,其中代碼還是會(huì)被執(zhí)行,一些qq密碼盜竊木馬就是用上面的原理工作的。 由于dll是寄生在exe中運(yùn)行,在進(jìn)程管理器中是看不到它的,所以這個(gè)注冊(cè)表項(xiàng)要格外注意。 QUOTE:
推薦的工具: DEId.exe
這個(gè)程序一般是軟件破解人員用的,其中有2個(gè)功能等會(huì)都會(huì)介紹到。 這里首先介紹用PEid來(lái)查看應(yīng)用程序中加載的dll文件。 打開peid,選擇主窗口的“任務(wù)查看器”,如圖所以,上面和windows自帶的進(jìn)程管理器一樣,顯示的是每個(gè)進(jìn)程的文件名,選取其中一個(gè)進(jìn)程,就會(huì)在下面看到這個(gè)進(jìn)程中所加載的dll文件。 可以看到explorer.exe中已經(jīng)注入了FlashGet的一個(gè)插件,這個(gè)插件的作用是在IE中如果點(diǎn)擊了一個(gè)下載鏈接,F(xiàn)lashGet會(huì)自動(dòng)彈出來(lái)詢問是否下載。這個(gè)過(guò)程就是通過(guò)注入了dll文件來(lái)監(jiān)控的。 自然,如果注入了惡意的dll文件,那么自然會(huì)對(duì)程序乃至系統(tǒng)帶來(lái)危害。 上面列出了注冊(cè)表中常見的自動(dòng)啟動(dòng)的程序清單位置,一般查毒的時(shí)候只需要對(duì)其中的項(xiàng)目進(jìn)行檢查。 一般而言,如果shell和AppInit_DLLs這兩個(gè)項(xiàng)目與正常值不同的話,那么其中表示的文件一般就極有可能是病毒了。 對(duì)于Run目錄下的文件,按照下面的原則來(lái)查毒: 如果項(xiàng)目的路徑在Program Files下面,又能確認(rèn)這是安裝的一個(gè)軟件,那么便可以排除是病毒: QUOTE:
D:\Program Files\Intel\Wireless\Bin\ifrmewrk.exe /tf Intel PROSet/Wireless
比如這個(gè)項(xiàng)目,可以知道這是Intel無(wú)線網(wǎng)絡(luò)管理工具的一部分,所以可以排除是病毒。 對(duì)于不含目錄,只有文件名,如windowsKernel.exe,存在于windows各類目錄下,如windows\_login.exe,windows\temp\tmp.exe,windows\system32\system32.exe這樣的項(xiàng)目往往可以程度最高。 對(duì)于開頭是rundll32.exe的項(xiàng)目,也應(yīng)該引起重視,比如rundll32.exe systemhook.dll,不過(guò)注意的是,rundll32.exe是windows的一個(gè)系統(tǒng)程序,懷疑對(duì)象是后面的systemhook.dll。 1.1 如何判斷是病毒 找到懷疑對(duì)象以后,在資源管理器中找到文件本身。這里要注意的是病毒往往是具有“隱藏、系統(tǒng)”屬性的,windows默認(rèn)是不顯示具有這類屬性的文件。所以要在資源管理器的“[工具]->[文件夾選項(xiàng)]->查看”中,選上 QUOTE:
顯示系統(tǒng)文件夾內(nèi)容 顯示所有文件和文件夾 將 QUOTE:
隱藏受保護(hù)的系統(tǒng)文件 隱藏文件擴(kuò)展名 的鉤去除。 a.找到可以文件本身后,首先看其時(shí)候是具有隱藏屬性: 圖:可以從是否有是隱藏文件來(lái)區(qū)分病毒和正常文件 目前除非十分特殊的目的,比如防止用戶修改,應(yīng)用程序很少具有隱藏和系統(tǒng)屬性,所以,如果懷疑的項(xiàng)目具有隱藏屬性,一般就可以確定是病毒了。 b.通過(guò)“版本”信息來(lái)確定
在編寫應(yīng)用程序時(shí),編寫者往往會(huì)把程序的版本信息、版權(quán)信息附加在程序中,可以在應(yīng)用程序的上按右鍵,察看屬性來(lái)看到版本信息。 版本信息中往往指名了程序的用圖,對(duì)于病毒而已,往往沒有版本信息 圖:regedit.exe的版本信息 圖:偽裝的病毒沒有版本信息 c.是用PEiD查看應(yīng)用程序簽名
這里介紹的便是PEid的主要功能,exe、dll文件等程序文件均有一個(gè)統(tǒng)一的名字:PE文件,他們往往是由各類程序設(shè)計(jì)語(yǔ)言,比如C++/VB產(chǎn)生的,或者直接又人工匯編編寫。 對(duì)于前者,各類程序設(shè)計(jì)語(yǔ)言生成的PE文件在其代碼開始處的某些固定字節(jié)總是固定的,基于這樣一個(gè)原理,可以來(lái)判斷某個(gè)應(yīng)用程序時(shí)什么編程語(yǔ)言編寫的: 圖:用Peid發(fā)現(xiàn)BitComet采用VC7編寫 目前的技術(shù):加殼,簡(jiǎn)單些說(shuō)就是將原先的程序包裹起來(lái)(比如壓縮起來(lái)),然后把負(fù)責(zé)解包的程序覆蓋在這個(gè)應(yīng)用程序的頭部,這樣以后運(yùn)行這個(gè)程序時(shí),實(shí)際上是先由解包程序恢復(fù)出原來(lái)的程序,然后再運(yùn)行。 用于壓縮程序的軟件aspack、upx就是一種加殼程序,同樣,也能用Peid檢測(cè): 采用aspack壓縮的程序,peid會(huì)顯示: QUOTE:
ASPack 2.1 -> Alexey Solodovnikov
通常來(lái)說(shuō),目前常見的應(yīng)用程序采用加殼程序的并不多見,但有一定例外,如金山詞霸、CoralQQ。一些游戲?yàn)榱藴p少空間,其主程序也可能會(huì)壓縮加殼。
圖:將病毒文件進(jìn)程關(guān)閉 這樣可以確保病毒停止運(yùn)作,如果有很多病毒,務(wù)必將他們都停止了。 下一步便是把注冊(cè)表中的對(duì)應(yīng)項(xiàng)目刪除,然后刪除文件即可。 QUOTE:
對(duì)于無(wú)法終止進(jìn)程的情況: 如果無(wú)法停止病毒進(jìn)程,意味著病毒文件無(wú)法刪除,同時(shí)即時(shí)在注冊(cè)表中刪除了對(duì)應(yīng)項(xiàng)目,病毒也往往會(huì)重新添加一遍。 對(duì)于這樣的情況,可以首先將病毒文件重命名,比如將hook.exe改外hook.ex_。這樣的操作是可行的。病毒往往不會(huì)去監(jiān)控自己的文件名是否更改,這樣一來(lái),在下次重啟時(shí),由于已經(jīng)不存在hook.exe了,病毒就不會(huì)再加載,這樣就可以放心的把注冊(cè)表項(xiàng)目和文件刪除了。
這是目前各類病毒和流氓軟件的趨勢(shì),即病毒作為系統(tǒng)服務(wù)存在。這類病毒不會(huì)出現(xiàn)在上述的注冊(cè)表和啟動(dòng)項(xiàng)目中,但這類病毒也會(huì)隨開機(jī)自動(dòng)啟動(dòng),也擁有各大的權(quán)限。所以一般查毒必須檢查系統(tǒng)服務(wù)。 系統(tǒng)服務(wù)是在windows系統(tǒng)中扮演核心功能的一類程序,比如開設(shè)web服務(wù)器的話,就會(huì)有IIS服務(wù)。 目前也有很多軟件也有自己的服務(wù)程序,比如安裝了Windows Live Messenger,會(huì)有“共 享 USN 雜 志 閱 讀器 ”這個(gè)服務(wù)。目前的殺毒軟件的核心監(jiān)控程序也均是通過(guò)系統(tǒng)服務(wù)實(shí)現(xiàn)的。 自然,病毒注冊(cè)為系統(tǒng)服務(wù)也不再少數(shù),著名的木馬“灰鴿子”便是一個(gè)系統(tǒng)服務(wù)。 QUOTE:
在[控制面板]-[管理工具]-服務(wù)中 可以查看所有注冊(cè)的系統(tǒng)服務(wù)。
圖:系統(tǒng)服務(wù)列表 QUOTE:
系統(tǒng)服務(wù)有3中啟動(dòng)類型:自動(dòng)、手動(dòng)和禁用。
自動(dòng)類型的系統(tǒng)服務(wù)會(huì)在系統(tǒng)啟動(dòng)后立刻執(zhí)行,手動(dòng)類型的服務(wù)只有通過(guò)其他程序加載或者人工開啟才能執(zhí)行,而禁用類型的服務(wù)只有改變了他的啟動(dòng)類型才可能執(zhí)行。 如果病毒注冊(cè)成為系統(tǒng)服務(wù),啟動(dòng)類型自然便是“自動(dòng)”,同時(shí)如果目前處在中毒環(huán)境下,自然其運(yùn)行狀態(tài)為:已啟動(dòng)。 因而,可以首先列出自動(dòng)啟動(dòng)類型的服務(wù),然后通過(guò)查看其功能描述(病毒往往不寫功能描述,或者會(huì)偽裝)。然后查看這個(gè)服務(wù)的文件路徑,再采用第一部分提到的判斷病毒的辦法來(lái)確定是否可能是病毒。 對(duì)于懷疑的病毒項(xiàng)目,可以雙擊他,在屬性對(duì)話框中先將其停止,然后設(shè)為“已禁用”來(lái)關(guān)閉這個(gè)服務(wù)。 圖:如果懷疑是病毒,可以將其關(guān)閉并禁用 作為系統(tǒng)服務(wù),其運(yùn)行能力完全可以通過(guò)系統(tǒng)來(lái)控制,所以一般將其設(shè)為禁用后便可,如果偷懶完全不用刪除文件本身。但是如果想刪除病毒本身,請(qǐng)務(wù)必按下面方法進(jìn)行: 2.1 如何刪除系統(tǒng)服務(wù)
如果想將一個(gè)懷疑是病毒的系統(tǒng)服務(wù)刪除,并不是將服務(wù)關(guān)閉,刪文件那么容易。首相要將其禁用。然后刪除文件。不這樣做的后果是,如果服務(wù)仍舊未自動(dòng)啟動(dòng)類型,在下次啟動(dòng)windows時(shí),由于無(wú)法找到這個(gè)要啟動(dòng)的服務(wù)程序,windows便認(rèn)為系統(tǒng)便無(wú)法工作,于是會(huì)藍(lán)屏。 刪除了文件后,還需要將注冊(cè)的服務(wù)項(xiàng)目刪除,也就是在注冊(cè)表中刪除。這個(gè)過(guò)程可以用第3方工具來(lái)進(jìn)行,也可以親在在regedit中編輯。 系統(tǒng)服務(wù)對(duì)應(yīng)的目錄是: QUOTE:
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001(或者002\003,所有的都可能)\Services HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
然后再這2個(gè)目錄下搜索病毒的文件名,將那整個(gè)項(xiàng)目刪除即可,如果忘記了這2個(gè)目錄,直接對(duì)整個(gè)注冊(cè)表進(jìn)行搜索也可,不過(guò)2處目錄下的項(xiàng)目必須均刪除。 這樣服務(wù)列表中便不存在該服務(wù)了。 圖:必須將項(xiàng)目的整個(gè)目錄刪除 3.采用msconfig簡(jiǎn)化查毒過(guò)程。 winXP用戶可以在運(yùn)行中輸入msconfig工具來(lái)查看當(dāng)前的系統(tǒng)服務(wù)、自動(dòng)加載的程序,簡(jiǎn)化一定的步驟。不過(guò)對(duì)于注冊(cè)表項(xiàng)目,shell和AppInit_DLLs并不能在其中看到! 可以利用msconfig來(lái)鑒別系統(tǒng)服務(wù): 圖:可以通過(guò)制造商來(lái)判斷病毒 往往病毒編寫者會(huì)忘記填寫制造商名,所以對(duì)于沒有制造商信息的服務(wù)要格外注意,不過(guò)即使制造商為microsoft,也不能排除偽造的可能。 花了近一個(gè)小時(shí)。終于把這貼搞完。小小見解希望對(duì)新手有用 [ 本帖最后由 sansa520 于 2007-5-24 04:25 PM 編輯 ] |
|
來(lái)自: 昵稱7694354 > 《電腦和系統(tǒng)》