- 論壇徽章:
- 0
|
http://www.52pojie.cn/thread-107023-1-1.html 本帖最后由 wowocock 于 2011-9-3 14:38 編輯
一、BMW病毒BIOS部分

增加了ISA模塊BIOS部分,名為HOOK.ROM,作用主要是檢測MBR部分是否被恢復(fù)。如果發(fā)現(xiàn)MBR部分已被修復(fù),就將BIOS內(nèi)的病毒代碼約 14個扇區(qū)寫入MBR中,導(dǎo)致用戶反復(fù)格式化、高格低格,或重新分區(qū)都無效。
二、BMW病毒MBR部分
MBR部分病毒代碼執(zhí)行后,會從第2個扇區(qū)開始讀6個扇區(qū)的病毒代碼到0X7C00處,然后跳至該處執(zhí)行,然后讀取第7個扇區(qū)中的備份 MBR到內(nèi)存中,驗(yàn)證扇區(qū)的有效性;
通過驗(yàn)證后,讀取分區(qū)表中的引導(dǎo)扇區(qū)所在的扇區(qū)到 0X7C00處,驗(yàn)證引導(dǎo)分區(qū)的有效性;
通過驗(yàn)證后,判斷引導(dǎo)分區(qū)的類型,目前該病毒支持NTFS和
FAT32,根據(jù)不同的分區(qū)類型進(jìn)行不同的處理,再經(jīng)過解析文件系統(tǒng)找到文件所在扇區(qū),找到相應(yīng)的Windows系統(tǒng)文件讀取PE信息判斷其是否被感染
過。(XP/2003系統(tǒng)為Winlogon.exe,Win7/Vista系統(tǒng)為Wininit.exe)
如果Windows系統(tǒng)文件已被感染,則在屏幕上顯示"Find it
OK!",然后調(diào)入原始MBR,跳到原始MBR處執(zhí)行;如果Windows系統(tǒng)文件沒有被感染,則進(jìn)行PE感染寫扇區(qū),之后在屏幕上顯示"Find it
OK!",然后調(diào)入原始MBR,跳到原始MBR處執(zhí)行。

三、BMW病毒W(wǎng)indows部分(Winlogon和Wininit文件執(zhí)行感染)
以Winlogon.exe為例進(jìn)行說明:
由于病毒修改了該文件入口點(diǎn),當(dāng)文件執(zhí)行時首先執(zhí)行加密過的病毒代碼,運(yùn)行時動態(tài)解碼。
病毒代碼解密后加載指定文件,創(chuàng)建病毒調(diào)用CreateThread創(chuàng)建線程,同時跳回原始入口點(diǎn)執(zhí)行。
在病毒線程里先Sleep10秒,然后調(diào)用URLDownloadToFileA從黑客服務(wù)器下載一個Downloader到本地,驗(yàn)證文件下載成功
后,調(diào)用WinExec執(zhí)行,從而下載運(yùn)行多種惡意程序;該病毒還會下載驅(qū)動,命名為c:\my.sys,由之前的病毒代碼通過一系列服務(wù)函數(shù)來創(chuàng)建加載
驅(qū)動,完成后該病毒線程進(jìn)入無限Sleep狀態(tài)。
c:\my.sys 這個磁盤鉤子驅(qū)動,會在WINLOGON的感染代碼里被加載。驅(qū)動對
磁盤類驅(qū)動disk.sys 進(jìn)行READ, WRITE ,DEVICEIOCONTROL , 的DISPTACH 進(jìn)行
hook,防止MBR及相關(guān)病毒扇區(qū)部分被讀取
,目前看來360開機(jī)的時候不一定能攔截驅(qū)動的加載,沒測試金山是否能攔截。如果驅(qū)動被加載,可能導(dǎo)致,無法讀取MBR里的數(shù)據(jù)。所以需要進(jìn)急救箱強(qiáng)力模
式下,干掉那驅(qū)動后重啟后,用專殺檢測才行。
還有確保 winlogon被修復(fù)了。其實(shí)只要修復(fù)被感染的winlogon,也可以,因?yàn)椴《镜乃泻诵拇a都在感染的
winglon里,如果修復(fù)了他, 同時保持病毒的感染標(biāo)志,則即使不修復(fù)MBR,和bios
也毫無影響。因?yàn)镸BR里檢測感染標(biāo)志的時候,發(fā)現(xiàn)標(biāo)志存在的時候,就直接去樂呵呵的顯示 Find it OK!了 。
轉(zhuǎn)載請注明出處,謝謝:
BMW 病毒 技術(shù)分析
http://www.52pojie.cn/thread-107023-1-1.html
|
|