360发布“BMW病毒”技术分析报告

9/3/2011来源:病毒数据库人气:13592

  BMW病毒是360安全中心最新捕获的一款高危病毒,该病毒能够连环感染BIOS(主板芯片程序)、MBR(硬盘主引导区)和Windows系统文件,使受害电脑无论重装系统、格式化硬盘,还是换掉硬盘都无法彻底清除病毒。

  病毒传播途径

  捆绑游戏外挂,欺骗用户关闭安全软件后实施攻击。

  病毒中招现象

  一、Windows系统启动前,电脑屏幕显示"Find it OK!"字样;

  二、杀毒软件反复提示“硬盘引导区病毒”却无法彻底清除;

  三、浏览器主页被篡改为http://10554.new93.com/index.htm

  病毒防治方案

  用户电脑在正常开启360安全卫士的情况下,能够防御BMW病毒,使其无法感染主板BIOS芯片和硬盘MBR;

  如果有网民电脑因关闭安全软件而被BMW病毒感染,可下载使用360“BMW病毒专杀工具”,能够检测病毒并阻止BIOS病毒代码回写MBR,再配合360系统急救箱进行修复,可有效防范此类病毒反复发作。下载地址:http://bbs.360.cn/4005462/251088932.html

  以下为BMW病毒的技术分析

  BMW病毒主体分为BIOS、MBR和Windows三个部分,攻击流程如下图:

  一、BMW病毒BIOS部分

  增加了ISA模块BIOS部分,名为HOOK.ROM,作用主要是检测MBR部分是否被恢复。如果发现MBR部分已被修复,就将BIOS内的病毒代码约 14个扇区写入MBR中,导致用户反复格式化、高格低格,或重新分区都无效。

  二、BMW病毒MBR部分

  MBR部分病毒代码执行后,会从第2个扇区开始读6个扇区的病毒代码到0X7C00处,然后跳至该处执行,然后读取第7个扇区中的备份 MBR到内存中,验证扇区的有效性;

  通过验证后,读取分区表中的引导扇区所在的扇区到 0X7C00处,验证引导分区的有效性;

  通过验证后,判断引导分区的类型,目前该病毒支持NTFS和 FAT32,根据不同的分区类型进行不同的处理,再经过解析文件系统找到文件所在扇区,找到相应的Windows系统文件读取PE信息判断其是否被感染过。(XP/2003系统为Winlogon.exe,Win7/Vista系统为Wininit.exe)

  如果Windows系统文件已被感染,则在屏幕上显示"Find it OK!",然后调入原始MBR,跳到原始MBR处执行;如果Windows系统文件没有被感染,则进行PE感染写扇区,之后在屏幕上显示"Find it OK!",然后调入原始MBR,跳到原始MBR处执行。

  三、BMW病毒Windows部分(Winlogon和Wininit文件执行感染)

  以Winlogon.exe为例进行说明:

  由于病毒修改了该文件入口点,当文件执行时首先执行加密过的病毒代码,运行时动态解码。

  病毒代码解密后加载指定文件,创建病毒调用CreateThread创建线程,同时跳回原始入口点执行。

  在病毒线程里先Sleep10秒,然后调用URLDownloadToFileA从黑客服务器下载一个Downloader到本地,验证文件下载成功后,调用WinExec执行,从而下载运行多种恶意程序;该病毒还会下载驱动,命名为c:\my.sys,由之前的病毒代码通过一系列服务函数来创建加载驱动,完成后该病毒线程进入无限Sleep状态。