免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1590 | 回复: 0
打印 上一主题 下一主题

BMW 病毒 技术分析 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-23 02:43 |只看该作者 |倒序浏览
http://www.52pojie.cn/thread-107023-1-1.html
本帖最后由 wowocock 于 2011-9-3 14:38 编辑

一、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状态。

c:\my.sys 这个磁盘钩子驱动,会在WINLOGON的感染代码里被加载。驱动对 磁盘类驱动disk.sys 进行READ, WRITE ,DEVICEIOCONTROL , 的DISPTACH 进行 hook,防止MBR及相关病毒扇区部分被读取 ,目前看来360开机的时候不一定能拦截驱动的加载,没测试金山是否能拦截。如果驱动被加载,可能导致,无法读取MBR里的数据。所以需要进急救箱强力模 式下,干掉那驱动后重启后,用专杀检测才行。

还有确保 winlogon被修复了。其实只要修复被感染的winlogon,也可以,因为病毒的所有核心代码都在感染的 winglon里,如果修复了他, 同时保持病毒的感染标志,则即使不修复MBR,和bios 也毫无影响。因为MBR里检测感染标志的时候,发现标志存在的时候,就直接去乐呵呵的显示 Find it OK!了 。
转载请注明出处,谢谢:
BMW  病毒 技术分析
http://www.52pojie.cn/thread-107023-1-1.html

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP