■
筆者就曾經(jīng)遇到過這樣的情況:當(dāng)使用某款殺毒軟件掃描系統(tǒng)時,發(fā)現(xiàn)一個名為“wlsrmgr..sys”的病毒文件,看其名稱應(yīng)該是驅(qū)動文件。筆者立即使用該殺毒軟件將其清除,看起來好像已經(jīng)將其驅(qū)逐出去了。但是,當(dāng)下次啟動電腦時,該殺毒軟件有提示發(fā)現(xiàn)該病毒文件,看來殺毒軟件實際上并沒有將其清除,說明該病毒是以驅(qū)動的形式加載的,該殺毒軟件只能發(fā)現(xiàn)而無法將其刪除。既然已經(jīng)知道了該病毒文件的路徑,就只能手工清除了。
進(jìn) 入“C:W i n d o w sSystem32Drivers”文件夾,果然找到了“wlsrmgr.sys”文件,當(dāng)試圖手工刪除時,遭到了系統(tǒng)的攔截,于是使用優(yōu)盤引導(dǎo)系統(tǒng)進(jìn)入WinPE環(huán)境,進(jìn)入上述文件夾,將該病毒文件清除,僅僅刪除了病毒文件是不夠的,還必須將其在系統(tǒng)中遺留的相關(guān)配置信息清除,才可以徹底消除其影響。
運(yùn)行“regedit.exe”程序,在其中點擊“Ctrl+F”鍵,輸入“wlsrmgr..sys”執(zhí)行搜索操作,果然在“HKEY_LOCAL_MACHINESYSTEMControlSet001Services”分支中發(fā)現(xiàn)了與之相關(guān)的鍵值,說明該病毒是以系統(tǒng)服務(wù)的方式啟動運(yùn)行的,將其刪除后,才讓該病毒徹底從系統(tǒng)中銷聲匿跡了。如果在刪除相關(guān)鍵值時,出現(xiàn)權(quán)限不足的提示,可以在其右鍵菜單上點擊“權(quán)限”項,在彈出窗口中選擇“Everyone”賬戶(如果沒有的話,可以添加該賬戶),在“允許”列中選擇“完全控制”項,就可以將其順利刪除了。
某次當(dāng)筆者在上網(wǎng)沖浪時,安裝的殺毒軟件突然自動關(guān)閉了,這讓筆者感到有些奇怪,估計可能是有病毒入侵了。運(yùn)行IceSword這款安全利器,在其主界面對進(jìn)程、端口、內(nèi)核模塊、啟動項、服務(wù)等內(nèi)容進(jìn)行仔細(xì)檢查,當(dāng)打開SSDT列表時,果然在其中發(fā)現(xiàn)了可疑之處,IceSword以紅色標(biāo)記顯示“certload.dli” 和“fsvtub.sys”存在安全問題。經(jīng)過檢測,前者位于系統(tǒng)臨時路徑中,后者位于“C:Windowssystem32Drviers”文件夾中。在刪除“certload.dli”文件時,系統(tǒng)提示無法刪除。
在IceSword的進(jìn)程列表中點擊右鍵,在彈出菜單中選擇“查找模塊”項,輸入該文件名稱,發(fā)現(xiàn)其插入到了“iexplorer.exe”進(jìn)程中,將IE關(guān)閉后,在IceSword文件管理界面中將上述兩個文件順利刪除,之后重啟系統(tǒng),發(fā)現(xiàn)殺毒軟件恢復(fù)了功能,于是對全盤進(jìn)行掃描,在“c:windowssystem32”目錄中發(fā)現(xiàn)名為“l(fā)asse.exe”的病毒文件,初看起來還以為是系統(tǒng)核心進(jìn)程,將其刪除后以為問題已經(jīng)解決了。但是,打開安裝的某防火墻管理界面,在網(wǎng)絡(luò)連接檢測列表中發(fā)現(xiàn)“iexplorer.exe”進(jìn)程持續(xù)不斷地連接外地的某個IP,看來還有隱藏的病毒文件沒有被清除。
因為Knlsc這款小工具可以輕松發(fā)現(xiàn)隱藏的服務(wù)或者驅(qū)動,于是在CMD窗口中 執(zhí) 行“knlsc13.exe-f” 命令,果然在檢測報告中發(fā)現(xiàn)名為“kmsrvhk.sys”的驅(qū)動文件加載了一個隱藏的系統(tǒng)服務(wù)。 執(zhí) 行“knlsc13.exe-cd kmsrvhk”命令,禁止運(yùn)行該服務(wù),同時在防火墻中添加一條規(guī)則,禁止“iexplorer.exe”進(jìn)程訪問外網(wǎng)。當(dāng)重啟電腦后,發(fā)現(xiàn)雖然沒有打開IE,但是“iexplorer.exe”進(jìn)程卻自動出現(xiàn)了。于是在IceSword中打開進(jìn)程列表,對關(guān)鍵的進(jìn)程進(jìn)行分析,在對應(yīng)的模塊信息中查找可疑分子,經(jīng)過一番搜索,發(fā)現(xiàn)“mrxvdmsp.dl1”和“hidsrbss.d1l”很可疑,其全部位 于“C:Windowssystem”目錄中。為了徹底刪除以上可疑文件,使用優(yōu)盤引導(dǎo)系統(tǒng)進(jìn)入WinPE環(huán)境,將“certload.dli”,“mrxvdmsp.dl1”和“hidsrbss.d1l”文 件刪除。重新進(jìn)入系統(tǒng)后,執(zhí)行“knlsc13.exe law”命令,發(fā)現(xiàn)名為“watserver”的服務(wù)試圖調(diào)用“hidsrbss.d1l”的可疑文件,運(yùn)行“knlsc13.exe cd watserver”命令禁用該服務(wù),之后發(fā)現(xiàn)“iexplorer.exe”進(jìn)程消失了,不再連接外網(wǎng)了。至此,將病毒文件徹底清除,恢復(fù)了系統(tǒng)的平靜。
同事從網(wǎng)上下載了某個小工具,使用殺毒軟件檢測并沒有發(fā)現(xiàn)問題,但是運(yùn)行后安裝的某殺毒軟件的主動防御功能被破壞,殺毒軟件提示有病毒侵入,但是無法順利刪除。想找到該可疑程序進(jìn)行分析時,發(fā)現(xiàn)該程序已經(jīng)奇怪地消失了。毫無疑問,該病毒文件具有自毀功能,運(yùn)行完畢后會自動刪除自身文件。為了將其徹底清除,必須了解其行為特點。于是筆者從相同的網(wǎng)站下載了該文件,為了安全起見,將其放到虛擬機(jī)中。使用PeID對其進(jìn)行檢測,發(fā)現(xiàn)其經(jīng)過了加殼處理,具有免殺功能可以避開殺毒軟件的檢測。運(yùn)行該可疑程序,同時使用FileMon、RegMon、System Safety Monitor、Total Uninstall、Online Armor等監(jiān)控工具對其進(jìn)行監(jiān)控。
經(jīng)過跟蹤分析,發(fā)現(xiàn)該文件確實是病毒程序,當(dāng)其運(yùn)行 后,會 在“C:WindowsSystem32”文件中釋放名為“mclkbd2f.dll”,“mclkbd2f.cgf”等文件,在“C:WindowsSystem32Drivers”目錄中創(chuàng)建名為“wansepid.sys”的驅(qū)動文件。使用IceSword對系統(tǒng)進(jìn)行分析,該病毒會在系統(tǒng)中創(chuàng)建Hook項目,主要用來盜取用戶輸入的密碼等敏感信息。修改SSDT項目,讓殺毒軟件的主動防御功能失效,同時以驅(qū)動加載的形式創(chuàng)建病毒服務(wù),獲得自動運(yùn)行的權(quán)利。該病毒對注冊表進(jìn)行了一些修改,同時還會對內(nèi)網(wǎng)中的其它主機(jī)進(jìn)行探測工具,通過溢出攻擊操作來獲得SYSTEM賬戶權(quán)限。當(dāng)病毒激活后,該可疑程序會通過自動刪除來逃避用戶的追捕。
了解其運(yùn)行原理后,清除起來就有的放矢了。在同事的主機(jī)上進(jìn)入安全模式,在注冊表編輯器中打 開“HKEY_LOCAL_MACHINESOFTWAREM i c r o s o f tW i n d o w sCurrentVersionExplorerShellExecuteHooks”分支,將其中病毒創(chuàng)建的項目全部刪除。 打 開“HKEY_LOCAL_MACHINESYSTEMControlSet001Services”分支,將病毒創(chuàng)建的名為“wansepid”的服務(wù)項目徹底刪除。打開“HKEY_LOCAL_MACHINESOFTWAREClassesCLSID{3ffa9bef--6 5 7 1-d 1 6 b-b c a 7-a d 2 1 7 0 e 6 1 4 0 9 c}InprocServer32”,將 其 中 的所有鍵值清空。之后進(jìn)入WinPE環(huán) 境,將“mclkbd2f.dll”、“mclkbd2f.cgf”、“wansepid.sys” 等 病 毒 文件刪除,之后進(jìn)入系統(tǒng)使用IceSword恢復(fù)被篡改的SSDT項目,讓該機(jī)上的殺毒軟件的主動防御功能獲得恢復(fù)。為了提高系統(tǒng)安全性,使用360安全衛(wèi)士等工具為系統(tǒng)和常用軟件打上了各種補(bǔ)丁,讓系統(tǒng)變得更加強(qiáng)壯。
有些病毒會將自身偽裝成硬件驅(qū)動程序,可以利用設(shè)備管理器來發(fā)現(xiàn)其行蹤并徒手將其清除。例如對于某木馬的變種程序來說,就會以硬件驅(qū)動的形式將自身隱藏起來。運(yùn)行“devmgmt.msc”程序,在設(shè)備管理器窗口點擊菜單“查看”→“顯示隱藏的設(shè)備”項,在設(shè)備列表中打開“非即插即用驅(qū)動程序”項,在其中看到所有驅(qū)動型軟件的服務(wù)程序,經(jīng)過一番搜索后,發(fā)現(xiàn)名為“audserver”的硬件驅(qū)動非常可疑,雙擊該驅(qū)動項目,在其屬性窗口中的“驅(qū)動程序”面板中雙擊“驅(qū)動程序詳細(xì)信息”按鈕,在彈出窗口中發(fā)現(xiàn)其實際路徑為“C:WindowsSystemDriversaudserver.sys”,在“驅(qū)動程序”面板中的“類型”列表中選擇“已禁用”項。之后重啟電腦,就可以讓該虛假的驅(qū)動程序失去活力,之后進(jìn)入上述路徑,手工將病毒文件清除即可。
此外,隨著人們對于Internet依賴程度的增加,瀏覽器(特使是IE)成了最常用的上網(wǎng)工具。為了實現(xiàn)劫持綁架瀏覽器的目的,很多惡意程序會以驅(qū)動文件的方式,將自身注冊為瀏覽器插件來實現(xiàn)更改主頁、強(qiáng)制進(jìn)入惡意站點、盜竊用戶隱私信息等。用戶可以使用上述方法,對驅(qū)動文件夾和注冊表進(jìn)行檢查,來發(fā)現(xiàn)和清除可疑的驅(qū)動文件,同時將其在注冊表中的痕跡信息全部清除,也可以使用AntiSpy這款強(qiáng)悍的安全工具來清除這類惡意插件。在其主界面中的“網(wǎng)絡(luò)”面板中打開“IE插件”標(biāo)簽,在其中顯示所有的插件信息,包括類型、名稱、模塊路徑、文件廠商等內(nèi)容。AntiSpy使用黑色來標(biāo)識和微軟相關(guān)的正常插件,以藍(lán)色標(biāo)識第三方的插件項目,對于可疑的插件,可以在其右鍵菜單上點擊“在線搜索插件名”項,尋找與之相關(guān)的更多信息來鑒別其真實身份。
對于存在問題的插件,可以取消其選擇狀態(tài),將其設(shè)置為禁用狀態(tài),對于確認(rèn)是病毒的插件,在其右鍵菜單中點擊“刪除注冊表和文件”項,將其從系統(tǒng)中徹底清除。如果病毒文件難以刪除,可以在該插件的右鍵菜單上點擊“在AntiSpy文件管理器中定位文件”項,在AntiSpy文件管理器自動選中病毒文件,在其右鍵菜單中點擊“添加到重啟刪除列表”項,之后重啟系統(tǒng)就可以將其清除。為了防止用戶清除惡意插件,病毒會利用非法驅(qū)動文件為其撐起“保護(hù)傘”,為此可以在“啟動項”面板左側(cè)點擊“驅(qū)動程序”項,在右側(cè)列表中找到和病毒插件相關(guān)的驅(qū)動文件項目,在其右鍵菜單中點擊“刪除啟動信息和文件”項,將其從系統(tǒng)中清除。
當(dāng)然,有時僅僅依靠安全軟件,是無法完全保證系統(tǒng)安全的。為了及時發(fā)現(xiàn)病毒驅(qū)動的蹤跡,可以在系統(tǒng)處于正常狀態(tài)時,在CDM窗口中執(zhí)行“dir c:windows*.sys/s>sys1.txt”命令,將系統(tǒng)文件夾中的所有驅(qū)動文件記錄下來。當(dāng)發(fā)現(xiàn)系統(tǒng)運(yùn)行出現(xiàn)異常時,在CMD窗口中執(zhí)行“dir c:windows*.sys/s>sys2.txt”命令,將當(dāng)前系統(tǒng)文件夾中所有的驅(qū)動文件記錄下來,之后執(zhí)行“fc sys1.txt sys2.txt”命令來對兩者進(jìn)行比對。對于多出來的一些SYS文件,通過對其創(chuàng)建時間、存儲路徑、版本、是否壓縮、數(shù)字簽名等特征進(jìn)行分析后,很容易發(fā)現(xiàn)來歷不明的可疑驅(qū)動文件。例如,發(fā)現(xiàn)了名為“kerbdrv.sys”的驅(qū)動文件很可疑,因為其沒有任何開發(fā)者和版本信息,利用搜索引擎查找該文件相關(guān)信息,確信其不是任何驅(qū)動文件,于是進(jìn)入WinPE環(huán)境將其清除,之后在注冊表中搜索和清除和其相關(guān)的所有項目,將其從系統(tǒng)中徹底驅(qū)逐出去。
使用手工備份驅(qū)動文件信息畢竟有些繁瑣,而且備份的信息也不完整,相比之下,使用AntiSpy可以更加完美地備份驅(qū)動信息文件。在其主界面中的“驅(qū)動模塊”面板(如圖1所示)中顯示所有的驅(qū)動文件信息,包括驅(qū)動名、驅(qū)動對象、驅(qū)動路徑、服務(wù)名、啟動類型、加載順序、文件廠商等內(nèi)容。點擊“驅(qū)動名”列,使其按照名稱進(jìn)行排序,之后在驅(qū)動列表的右鍵菜單中點擊“導(dǎo)出到”→“文本文件”項,可以將驅(qū)動文件信息全部導(dǎo)出到指定的文本文件中,或者點擊“導(dǎo)出到”→“Excel表格”項,將其導(dǎo)出為獨立的表格文件。當(dāng)系統(tǒng)運(yùn)行異常時,再次執(zhí)行以上操作,獲得當(dāng)前的驅(qū)動信息備份文件,之后使用“fc”命令或者運(yùn)行Beyonf Compare3等專業(yè)的比對工具,就可以很容易地發(fā)現(xiàn)潛在的驅(qū)動文件中的惡意文件了。在AntiSpy中選擇病毒驅(qū)動文件,在其右鍵菜單中點擊“卸載驅(qū)動”項,可以讓其失去活力,點擊“刪除驅(qū)動文件和注冊表”項,可以將其徹底刪除。
圖1 查看驅(qū)動文件信息
圖2 使用Pserv管理驅(qū)動文件
除了使用上述方法備份和查看驅(qū)動文件信息外,還可以使用Pserv這款小工具來全面記錄驅(qū)動文件信息。在系統(tǒng)處于正常狀態(tài)時,在Pserv主界面中點擊菜單“查看”→“設(shè)備列表”項,顯示所有的設(shè)備文件信息(如圖2所示),將其窗口最大化,同時調(diào)整各列的顯示寬度,將設(shè)備的全稱、名稱、狀態(tài)、啟動、類型、路徑等重要信息全部顯示出來,之后運(yùn)行HyperSnap這款抓圖軟件,點擊菜單“捕捉”→“區(qū)域(帶卷動)”項,將Pserv主界面設(shè)置為抓取區(qū)域,這樣,就可以將驅(qū)動文件信息完整抓出來,并保存為獨立的圖片文件。
當(dāng)系統(tǒng)出現(xiàn)異常時,按照上述方法抓取此時的驅(qū)動文件信息,之后將兩張圖片進(jìn)行比對,可以很容易發(fā)現(xiàn)混跡在驅(qū)動文件中的不法之徒,因為Pserv默認(rèn)按照名稱排序,所以查找對比起來極為簡單,當(dāng)發(fā)現(xiàn)病毒驅(qū)動后,在Pserv主界面中選擇該驅(qū)動文件,在其右鍵菜單上點擊“禁用”項可以禁用該驅(qū)動文件,點擊“刪除”項可以將其刪除。如果不能刪除,知道了其名稱和路徑,可以在WinPE環(huán)境中進(jìn)行刪除操作。此外,在Pserv中點擊菜單“查看”→“服務(wù)列表”項,可以管理服務(wù)信息,按照上述方法,可以備份和檢測服務(wù)信息,將偽裝成服務(wù)的病毒找出來并清除。