“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 | 申博官网
登录
  • 欢迎进入Sunbet!
  • 如果您觉得Sunbet对你有帮助,那么赶紧使用Ctrl+D 收藏Sunbet并分享出去吧
  • 您好,这里是Sunbet!

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

顽固性木马病毒有沾染MBR(磁盘主指导纪录)的,有沾染VBR(卷指导纪录)的,还有效驱动匹敌平安软件的,近来则涌现了一种连环沾染MBR和VBR的新型木马,我们将其命名为“双枪”木马。

1 择要

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

图1

然后推断第一个分区是不是为运动指导分区

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

图2

是运动分区读取VBR后面两个扇区,推断下指导分区是不是为NTFS分区操纵体系指导文件是BootMgr 或者是Ntldr。

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

图3

接上去读取后续的0xf个扇区

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

图4

将以后体系的BPB体系更新至恶意代码中同时将恶意代码刷回VBR。

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

图5

紧接体系读取VBR 掌握权转交给VBR局部

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

图6

2.1 VBR实行局部

然后实行VBR 代码局部

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

图7

再次搜检体系文件花样, 搜检体系是不是支撑扩大Int13h。

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

图8

后续将读取从VBR最先16个扇区到 0x7e00 缓冲区。

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

图9

随后一个JMP指令被木马修正跳转到恶意代码实行。

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

图10

恶意代码实行

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

图11

为恶意代码实行分派空间

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

图12

跳转

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

图13

将4ce * 2 = 99c巨细的恶意代码解密到方才拓荒的高端地点实行。

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

图14

然后跳转到方才解密的高端地点实行 

解密体系原始VBR局部。

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

图15

读取磁盘末端的加密sys文件到0x9300 缓冲区,后续开机局部会解密这局部数据

扇区总数0x5a。

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

图16

扇区偏移为 0x3a382c41 (磁盘巨细为 500GB )

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

图17

读取完成后挂钩体系15h中缀为后续取得实行时机。

挂钩Int15中缀

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

图18

挂钩后地点为 9e800+630 = 9ee30

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

图19

随后前往到解密的原始VBR处继承实行。

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

图20

VBR实行后掌握转移给了bootmgr加载处为0x2000。

2.2 BootMgr实行局部

BootMgr在猎取体系内存信息时刻挪用Int15 而这个效劳被木马挂钩

实行木马挂钩函数。

检测地点是不是大于0x9000 bootmgr为 0x2000 且功用号是不是E820。

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

图21

若是EB20 从体系前往效果中隐蔽本身高端内存。

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

图22

若是是ntldr挪用来且功用号位0xE820则搜刮。

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

对应代码为

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

挂钩后代码为

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

跳转到 9e800 + 5e8 = 9ede8 处继承实行。

该函数重要设置硬件断点 dr0 dr2 dr0针对xp以上体系 dr2针对xp

挂钩Int1后。

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

中缀函数为 64字节中 低16偏移 高16位段偏移

90000 + F09c = 9F09c

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

设置硬件断点  替代体系中缀

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

该Int1中缀会被触发屡次, 当BootMgr后续代码被本身加载到 0x401000处实行后被触发

当体系掌握权由 BootMgr  预备转移 Winload时刻被也触发, 这是我们体贴的中缀。

即将被挂钩的体系函数为:

BootMgr! Archx86TransferTo32BitApplicationAsm

触发的相干指令为:

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

装载体系中缀表

被中缀 然后 今后 查找特性码  FF D0 查找局限为0x7f 然后

———————————————-

申博|网络安全巴士站【www.bus123.net】

申博|网络安全巴士站是一个专注于网络安全、系统安全、互联网安全、信息安全,全新视界的互联网安全新媒体。。

———————————————-

挂钩 。

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

该挂钩函数为一个通用函数 :

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

挂钩前函数:

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

当体系实行到BootMgr! Archx86TransferTo32BitApplicationAsm

挂钩后函数跳转到 9ef84处实行 。

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

该挂钩函数重要为规复Archx86TransferTo32BitApplicationAsm,挂钩Winload 外面两处函数  为后续体系进入Winload指导猎取实行权限。

挂钩1为  查找特性码  0F 00 D8  实际上为函数 Winload!OslArchTransferToKernel

相干指令为:

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

查找特性码:

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

后续接着查找 0xcb 局限为 0x40 查找处即为 retf指令

将其Patch。

Patch后代码为

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

挂钩2 为  查找特性码 68 12 00 00 E0 , 实际上为函数 Winload!OslpLoadAllModules

中对函数的挪用 BlImgAllocateImageBuffer 并生存该函数地点。

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

查找特性码

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

并挂钩

挂钩后函数代码为

 

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

随后前往到体系流程

2.3 Winload实行局部

体系实行到Winload OslpLoadAllModules函数后, 个中偏移177处曾经被Inline挂钩

跳转到 9ef1e处实行。

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

该函数重要感化

解密 磁盘尾部的0x5a个扇区数据并加载, 挪用 BlImgAllocateImageBuffer  请求nt内存地点

解密挪用 异或解密。

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

而且重定位好文件

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

挪用 BlImgAllocateImageBuffer

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

随后体系将实行到  OslArchTransferToKernel,

将掌握权交给 Nt 时刻 触发第二个挂钩。

实行的函数为 9ed38,

该函数重要为 请求 BK_LDR_CONTEXT 构造 挂入体系Boot驱动加载链

并挪用该解密驱动的进口函数。

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

3 NT体系加载后

3.1 联网下载改主页驱动

挪用解密的驱动  该驱动重要功用为 网上下载别的一个改首页驱动。

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

建立下载线程

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

域名剖析 分操纵体系辨别  Vista以上操纵 运用Wsk函数 收集收发数据包。

先检测 该驱动是不是加载

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

随后会检测该标记

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

联网下载代码

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

本身完成DNS域名剖析  向53端口发剖析数据包。

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

猎取磁盘信息

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

盘算发送统计数据

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

Base64编码后

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

发送给效劳器 猎取即将要下载驱动长度,将下载上去的数据异或解密后加载实行。

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

然后加载该驱动

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

3.2 改主页驱动

驱动被加载后 建立装备名

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

然后开启线程  检测MBR是不是被沾染

读取

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

接着运用IOCTL_DISK_GET_DRIVE_GEOMETRY猎取磁盘巨细。

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

然后读取磁盘末端5a个扇区数据  并将开机驱动异或写入磁盘尾部。

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

写入胜利后写入MBR 第个扇区后 F个扇区。

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

最初写入0号扇区完成沾染,  而且会挂钩磁盘底层装备Dispatch钩子珍爱本身MBR不被改写。

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

且会删除Grub启动项

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

改首页局部重要经由过程挂钩 ProcessNotify注入历程完成。

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

注入的历程名字经由过程Hash盘算

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

注入历程名

“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析 “双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析

修复。

结束。

本文为 360平安卫士 受权嘶吼宣布,如若转载,请说明来源于嘶吼: http://www.4hou.com/system/6312.html———————————————-

申博|网络安全巴士站【www.bus123.net】

申博|网络安全巴士站是一个专注于网络安全、系统安全、互联网安全、信息安全,全新视界的互联网安全新媒体。。


Sunbet|网络安全巴士站声明:该文看法仅代表作者自己,与本平台无关。版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明“双枪”偷袭:首例连环沾染MBR和VBR的固执木马剖析
喜欢 (0)
[]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址