木馬除了偽裝成服務(wù)啟動(dòng)之外,將自身隱藏于注冊表中眾多的啟動(dòng)項(xiàng)目中,跟隨系統(tǒng)自動(dòng)運(yùn)行,也是木馬最常用的招數(shù)。由于注冊表中和啟動(dòng)項(xiàng)相關(guān)的實(shí)在太多,這里不可能逐一介紹。手工在注冊表中逐一查詢畢竟過于繁瑣,其實(shí),使用AutoRuns這款強(qiáng)悍的安全軟件,就可以將幾乎所有的啟動(dòng)項(xiàng)一網(wǎng)打盡,包括系統(tǒng)登錄,網(wǎng)絡(luò)服務(wù),打印監(jiān)控,安全認(rèn)證,網(wǎng)絡(luò)連接,系統(tǒng)服務(wù),驅(qū)動(dòng)程序,解碼組件,引導(dǎo)執(zhí)行,映像劫持,初始程序,計(jì)劃任務(wù),動(dòng)態(tài)鏈接,IE瀏覽器,資源管理器,登錄等十多個(gè)和啟動(dòng)項(xiàng)緊密相關(guān)的類型(如圖1)。在每個(gè)類型中包含了相應(yīng)的啟動(dòng)項(xiàng)目。如果打開“所有項(xiàng)目”面板,可以瀏覽所有的啟動(dòng)項(xiàng)目。不管木馬在注冊表啟動(dòng)項(xiàng)中隱藏的有多深,都會(huì)在Autoruns面前徹底暴露,選擇和木馬相關(guān)的啟動(dòng)項(xiàng),在其右鍵菜單中可以執(zhí)行刪除,定位注冊表具體路徑,打開目標(biāo)文件夾,在線查詢,管理目標(biāo)進(jìn)程(必須安裝有Process Explorer這款強(qiáng)悍的進(jìn)程管理軟件)等操作。
圖1 使用AutoRuns分析啟動(dòng)項(xiàng)
當(dāng)然,對(duì)于狡猾的木馬來說,絕不會(huì)采用在諸如“HKEY_LOCAL _MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun”等“顯眼”的位置藏身,畢竟這樣做太容易暴露。例如對(duì)于采用進(jìn)程插入技術(shù)的DLL木馬來說,注冊表中“HKEY_LOCAL _MACHINESOFTWAREMicrosoftWindows NTCurrentVersionWindows”下 的“ AppInit_DLLs”鍵值是其很好的藏身地,該位置是很容易被大家忽視的可以用來啟動(dòng)木馬的位置。如果DLL木馬將對(duì)其進(jìn)行了修改,將自身添加進(jìn)來,那么不管任何進(jìn)程,只要其使用到了“User32.dll”動(dòng)態(tài)庫,都會(huì)被上述鍵值指向的DLL木馬所注入。、因?yàn)椤癠ser32.dll”是系統(tǒng)自帶的很常用的動(dòng)態(tài)庫,主要用來提供和程序使用界面,消息控制等相關(guān)的功能,幾乎被大多數(shù)程序使用。當(dāng)然,只有極少數(shù)程序(諸如CMD控制臺(tái))是不會(huì)使用該動(dòng)態(tài)庫的。此外,注冊表中的“HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorerRun”分支也應(yīng)引起我們的關(guān)注,這個(gè)組策略中的啟動(dòng)項(xiàng)目緊密相關(guān)的。為了避人耳目順利啟動(dòng),木馬還常會(huì)在注冊表中的“HKEY_LOCAL _MACHINESOFTWAREMicrosoftWindows NTCurrentVersionWinlogon”分支下的“userinit” 和“shell”鍵值中添加惡意程序,悄無聲息的跟隨系統(tǒng)啟動(dòng)自動(dòng)激活。
對(duì)于國外的木馬來說,通常會(huì)利用ActivcX技術(shù)來自啟動(dòng)。例如比較有名的Beast木馬,會(huì)在注冊表中的“HKEY_LOCAL_MACHINESOFTWAREMicrosoftActive SetupInstalled Compo nents{4A202188F04D-11CF-64CD-31FFAFEECF20}”分支下的“StubPath”鍵值中設(shè)置木馬程序路徑,進(jìn)而實(shí)現(xiàn)自啟動(dòng)操作。有些狡猾的木馬會(huì)采用映像劫持技術(shù)綁架特定程序,當(dāng)用戶執(zhí)行該程序時(shí),運(yùn)行的卻是木馬程序。如果采取將注冊表中的“HKEY_LOCAL _MACHINESOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution Options”分支徹底刪除的方法,來防御映像劫持的話,就顯得過于簡單了,因?yàn)閺木幊探嵌瓤矗抉R程序通常會(huì)使用RegCreateKeyEx()和RegSetValueEx()等函數(shù),來動(dòng)態(tài)的創(chuàng)建或者修改注冊表鍵值數(shù)據(jù)。
因此,為了有效防御映像劫持,可以采取控制上述注冊表路徑權(quán)限的方法,取消“Administrators”組和“SYSTEM”賬戶對(duì)該分支的寫權(quán)限,具體的方法比較簡單,這里就不贅述了,這樣木馬就無法憑借映像劫持來啟動(dòng)了。
實(shí)際上,現(xiàn)在的安全軟件(例如金山衛(wèi)士,360安全衛(wèi)士等)都可以對(duì)啟動(dòng)項(xiàng)和系統(tǒng)服務(wù)進(jìn)行監(jiān)控,當(dāng)發(fā)現(xiàn)這些位置有風(fēng)吹草動(dòng)的話,就會(huì)彈出提示框,讓用戶決定是否運(yùn)行相關(guān)的操作。如果您想更加徹底的保護(hù)啟動(dòng)項(xiàng)和服務(wù),還可以使用Ghost Security Suite這款軟件,來執(zhí)行更加嚴(yán)格的監(jiān)控操作。
Ghost Security Suite內(nèi)置的大量安全規(guī)則,已經(jīng)涵蓋了所有的啟動(dòng)項(xiàng)和系統(tǒng)服務(wù)列入監(jiān)控范圍,無需您的任何干預(yù)。當(dāng)可疑程序試圖修改或者創(chuàng)建啟動(dòng)項(xiàng)或者系統(tǒng)服務(wù)時(shí),必然涉及對(duì)相關(guān)注冊表項(xiàng)的改動(dòng),Ghost Security Suite可以立即對(duì)其攔截,在彈出的警告窗口中 的“1.This Application”面板中顯示程序名稱,在“Whats to perform this action”面板中顯示修改動(dòng)作,在“Key”欄中顯示該程序要修改的注冊表主鍵名,在“Value”欄中顯示建立的鍵值名稱,在“Value Data”欄中顯示該程序所在的路徑信息。
根據(jù)其提供的詳細(xì)的信息,您很容易判斷其目標(biāo)程序的真實(shí)身份。對(duì)于正常的程序,點(diǎn)擊“Allow”按鈕放行即可。對(duì)于非法的程序,最好點(diǎn)擊“Block”按鈕,攔截其對(duì)注冊表中服務(wù)配置項(xiàng)目的修改。如果在詢問窗體左上角的模式列表中選擇“Advance Alert”項(xiàng),在高級(jí)詢問窗體中可以顯示更加細(xì)致的內(nèi)容,除了上述描述信息外,還包括可疑程序程序的原始運(yùn)行路徑、觸發(fā)規(guī)則所監(jiān)控的注冊表路徑、規(guī)則所屬組名等內(nèi)容。
如果確認(rèn)是可疑程序,還可以直接點(diǎn)擊“Kill Process”或者“Kill Thread”按鈕殺死對(duì)應(yīng)進(jìn)程或線程。這樣木馬還沒有來及對(duì)啟動(dòng)項(xiàng)或者服務(wù)下手,就會(huì)被Ghost Security Suite徹底清除。