查看: 5789|回复: 10
收起左侧

[技术原创] “双枪”狙击:首例连环感染MBR和VBR的顽固木马分析

[复制链接]
卡卡说
发表于 2017-7-13 19:29:51 | 显示全部楼层 |阅读模式
“双枪”狙击:首例连环感染MBRVBR的顽固木马分析顽固性木马病毒有感染MBR(磁盘主引导记录)的,有感染VBR(卷引导记录)的,还有用驱动对抗安全软件的,最近则出现了一种连环感染MBR和VBR的新型木马,我们将其命名为“双枪”木马。1)摘要
“双枪”木马的感染迹象是浏览器主页被篡改为带有“18299-9999”编号的网址导航站,它的主要特点是采用三重循环保护模式,使其具备了相比“鬼影”、“暗云”等MBR木马更强的自我保护能力。
(1)滴水不漏的三重循环保护模式:
“双枪”木马首先感染MBR,MBR加载执行后会进一步感染VBR,VBR启动后会释放一个驱动并从网上下载改首页的木马驱动,而这个驱动将进一步检测MBR的状态,如果MBR被修复或未感染成功则回写MBR重复感染。MBR、VBR和恶意驱动的循环感染形成了木马的三重保护机制,只要有一个没被彻底清除,都可能导致木马原地复活。
(2)疯狂对抗杀软的恶意驱动:
被感染的VBR会释放并下载恶意驱动,这个驱动除了判断系统进程,更改并锁定中招电脑所有浏览器的主页外,还具备极强的木马保护功能,与杀软展开强有力的对抗。比如,它启动后就把驱动名指向加白驱动名,以此躲避杀软;它会保护MBR挂钩磁盘底层设备,对抗杀软的修复;它会篡改NTFS文件系统的驱动对象派遣函数,并开系统线程保证NTFS上的挂钩不被修复,以免正常进程删除它的木马文件;同时,由于该驱动会抢先启动,也使其的清除难度变得更高。
以下是从WindowsNt系统加载前 (BootKit) 和系统加载后(RootKit)两部分对木马的执行流程进行详细分析。
2 NT系统加载前2.1 MBR执行部分
该部分主要为将自身代码拷贝到 1FE0:7C00处执行。
然后判断第一个分区是否为活动引导分区
是活动分区读取VBR前面两个扇区,判断下引导分区是否为NTFS分区操作系统引导文件是BootMgr 或者是Ntldr。
接下来读取后续的0xf个扇区
将当前系统的BPB系统更新至恶意代码中同时将恶意代码刷回VBR。
紧接系统读取VBR 控制权转交给VBR部分
2.2 VBR执行部分
然后执行VBR 代码部分
再次检查系统文件格式, 检查系统是否支持扩展Int13h。
后续将读取从VBR开始16个扇区到 0x7e00 缓冲区。
随后一个JMP指令被木马修改跳转到恶意代码执行。
恶意代码执行
为恶意代码执行分配空间
跳转
将4ce * 2 =99c大小的恶意代码解密到刚刚开辟的高端地址执行。
然后跳转到刚刚解密的高端地址执行  
解密系统原始VBR部分。
读取磁盘末尾的加密sys文件到0x9300 缓冲区,后续开机部分会解密这部分数据
扇区总数0x5a。
扇区偏移为0x3a382c41 (磁盘大小为 500GB )
读取完成后挂钩系统15h中断为后续获得执行机会。
挂钩Int15中断
挂钩后地址为 9e800+630 =9ee30
随后返回到解密的原始VBR处继续执行。
VBR执行后控制转移给了bootmgr加载处为0x2000。
2.3 BootMgr执行部分
BootMgr在获取系统内存信息时候调用Int15 而这个服务被木马挂钩
执行木马挂钩函数。
检测地址是否大于0x9000bootmgr为 0x2000 且功能号是否E820。
如果EB20 从系统返回结果中隐藏自身高端内存。
如果是ntldr调用来且功能号位0xE820则搜索。
对应代码为
挂钩后代码为
跳转到 9e800 +5e8 = 9ede8 处继续执行。
该函数主要设置硬件断点dr0 dr2 dr0针对xp以上系统 dr2针对xp
挂钩Int1后。
中断函数为 64字节中 低16偏移 高16位段偏移
90000 + F09c = 9F09c
设置硬件断点  替换系统中断
该Int1中断会被触发多次, 当BootMgr后续代码被自身加载到0x401000处执行后被触发
当系统控制权由BootMgr  准备转移 Winload时候被也触发, 这是我们关心的中断。
即将被挂钩的系统函数为:
BootMgr! Archx86TransferTo32BitApplicationAsm
触发的相关指令为:
装载系统中断表
被中断 然后 往后 查找特征码  FF D0 查找范围为0x7f 然后
挂钩 。
该挂钩函数为一个通用函数 :
挂钩前函数:
当系统执行到BootMgr!Archx86TransferTo32BitApplicationAsm
挂钩后函数跳转到9ef84处执行。
该挂钩函数主要为恢复Archx86TransferTo32BitApplicationAsm,挂钩Winload 里面两处函数  为后续系统进入Winload引导获取执行权限。
挂钩1为  查找特征码  0F 00 D8 实际上为函数 Winload!OslArchTransferToKernel
相关指令为:
查找特征码:
后续接着查找 0xcb 范围为 0x40 查找处即为 retf指令
将其Patch。
Patch后代码为
挂钩2 为  查找特征码 68 12 00 00 E0 , 实际上为函数Winload!OslpLoadAllModules
中对函数的调用BlImgAllocateImageBuffer 并保存该函数地址。
查找特征码
并挂钩
挂钩后函数代码为
随后返回到系统流程
2.4 Winload执行部分
系统执行到WinloadOslpLoadAllModules函数后,其中偏移177处已经被Inline挂钩
跳转到 9ef1e处执行。
该函数主要作用
解密 磁盘尾部的0x5a个扇区数据并加载, 调用BlImgAllocateImageBuffer  申请nt内存地址
解密调用 异或解密。
并且重定位好文件
调用BlImgAllocateImageBuffer
随后系统将执行到  OslArchTransferToKernel,
将控制权交给 Nt 时候 触发第二个挂钩。
执行的函数为 9ed38,
该函数主要为 申请 BK_LDR_CONTEXT 结构 挂入系统Boot驱动加载链
并调用该解密驱动的入口函数。
3 NT系统加载后3.1 联网下载改主页驱动
调用解密的驱动  该驱动主要功能为 网上下载另外一个改首页驱动。
创建下载线程
域名解析 分操作系统区分  Vista以上操作 使用Wsk函数 网络收发数据包。
先检测 该驱动是否加载
随后会检测该标志
联网下载代码
.
自己实现DNS域名解析  向53端口发解析数据包。
获取磁盘信息
计算发送统计数据
Base64编码后
发送给服务器 获取即将要下载驱动长度,
将下载下来的数据异或解密后加载执行。
而后加载该驱动
3.2 改主页驱动
驱动被加载后 创建设备名
然后开启线程  检测MBR是否被感染
读取
接着使用IOCTL_DISK_GET_DRIVE_GEOMETRY获取磁盘大小。
然后读取磁盘末尾5a个扇区数据  并将开机驱动异或写入磁盘尾部。
写入成功后写入MBR 第个扇区后 F个扇区。
最后写入0号扇区完成感染,  并且会挂钩磁盘底层设备Dispatch钩子保护自身MBR不被改写。
且会删除Grub启动项
改首页部分主要通过挂钩ProcessNotify注入进程完成。
注入的进程名字通过Hash计算
注入进程名
最后完成主页修改
4)查杀方案
由于“双枪“木马会感染MBR和VBR,而很多杀毒软件还不支持检测修复VBR,因此会出现无法彻底查杀干净的情况。针对“双枪”木马的技术特点,360安全卫士可以自动检测和修复MBR及VBR,同时禁止恶意驱动的加载;进入系统后,只需要利用360安全卫士再次进行扫描查杀就可彻底清除该木马。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?快速注册

x
skycai
发表于 2017-7-13 20:30:52 | 显示全部楼层
转帖的至少把原帖地址发下吧。
abcxzr5
发表于 2017-7-13 22:07:49 | 显示全部楼层
看到最后发现是软文,大意了
桑德尔
头像被屏蔽
发表于 2017-7-13 22:38:52 | 显示全部楼层
还好机智的我直接去看结尾了
大明湖畔的乾隆
发表于 2017-7-14 06:00:31 来自手机 | 显示全部楼层
这类文章我都是先看结尾
chengxy
发表于 2017-7-14 16:15:43 | 显示全部楼层
标题是技术原创啊,这是转帖吗??
yaoyunjia
发表于 2017-7-14 16:49:23 | 显示全部楼层
请问发这一贴能拿多少工资
wowocock
发表于 2017-7-14 17:03:15 | 显示全部楼层
首先感染源应该是木马驱动,执行后会修改MBR,MBR加载执行后,会感染VBR,而VBR启动后,又会从网上下载木马驱动,驱动中检测     MBR是否被感染,没感染或被修复,则继续感染MBR,导致反复3重互相保护。
3个环节有任何一个没被杀软清除,均可导致死灰复燃。
wowocock
发表于 2017-7-14 17:07:18 | 显示全部楼层
另外我就不说360急救箱完美查杀的话了,毕竟太高调不好,毕竟现在高级点的BOOTKIT,包括暗云系列,都往死里整360急救箱。对其他杀软不管不顾,就往死里整360急救箱,也是跪了。
KK院长
发表于 2017-7-14 18:41:05 | 显示全部楼层
我是gpt,呵呵
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2024-4-26 22:10 , Processed in 0.125671 second(s), 17 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表