标题 | 简介 | 类型 | 公开时间 | ||||||||||
|
|||||||||||||
|
|||||||||||||
详情 | |||||||||||||
[SAFE-ID: JIWO-2024-166] 作者: ecawen 发表于: [2017-07-27] [2017-07-27]被用户:ecawen 修改过
本文共 [541] 位读者顶过
继BootKit暗云II感染MBR(主引导记录)后,腾讯电脑管家又监测到一种感染电脑VBR的BootKit悄然兴起。VBR(卷引导记录)负责操作系统引导程序的加载,比Windows操作系统更早启动,一旦VBR被感染,杀毒软件很难检测,此次爆发的BootKit(下文称之为“异鬼”)正是利用这一特点,长期潜伏在用户电脑上,累计感染了数十万台用户电脑。使用腾讯电脑管家可有效查杀该木马。
[出自:jiwo.org] “异鬼”木马先于系统启动,获得执行权限后,向系统进程services.exe、explorer.exe注入恶意代码,被注入的恶意代码会从云端下载流氓软件安装到用户电脑上。本文就“异鬼”木马进行详细的分析。
“异鬼”各模块功能及启动流程如下:
0x01 BootMgr Loader模块 “异鬼”修改了系统BootMgr loader的代码(主分区0x27A开始1E00大小),可在系统加载之前优先执行恶意代码。BootMgr Loader结构如下: 1)原始BootMgr loader代码:
2)篡改后的BootMgr loader代码:
3)篡改后的BootMgr Loader结构:
0x02 ShellCode1模块 VBR完成BootMgr Loader数据加载后,将执行权限交到0x27A处ShellCode1代码。ShellCode1会解密ShellCode2、解密原始BootMgr Loader、加载Payload到内存、Hook 15h中断、执行原始BootMgr Loader引导系统。 1)解密0x288后的数据ShellCode2到内存。
2)解密原始BootMgr Loader,将0xC10开始的0x1E00大小数据复制到ES:0x207A处。
将原始BootMgr Loader解密到0x27A处。
3)加载加密的Payload到内存,将磁盘0x13h开始的200个扇区数据读取到0x85400处,13h中断一次只能读取127个扇区数据,木马分两次读取数据。
4)Hook 15h中断,执行0x27A处代码(执行原始BootMgr Loader引导系统)。
0x03 ShellCode2 模块 ShellCode2主要功能是解密Payload,并在系统起来之后执行Payload恶意代码。 1)系统调用EnableProtectPaging,从实模式切换到保护模式前,会调用15h中断获取系统信息,此时木马再次获得执行权,木马会搜索0DB87C022h(mov cro, eax ; xchg bx, bx)特征码,系统会调用上述指令完成从实模式到保护模式的切换。
用call far ptr xxx指令patch掉mov cro, eax ; xchg bx, bx,当切换到保护模式时,系统会先执行恶意代码,patch前后对比如下:
2)设置dr0(IDT)的硬件读写断点,dr2(OSLoader.exe入口点)的执行断点。
Hook IDT的INT1 ,命中断点时,执行0x9ed86处代码,hook前后IDT数据如下。
3)命中断点后,搜索OSLoader 中196A006Ah特征码获取BlAllocateAlignedDescriptor函数地址并Hook。
系统调用BlAllocateAlignedDescriptor后,木马会对加载到内存中的Payload进行解密。
解密后的payload是一个驱动,木马会执行驱动入口点0x80A03EF6代码。
0x04 Payload模块 解密后的Payload是一个驱动,功能包含:解密Dll、将解密后的Dll注入到explorer.exe或services.exe、挂钩P_MJ_INTERNAL_DEVICE_CONTROL对VBR写保护。
驱动会将0x80a0b800后0x13e00大小数据进行解密,解密后的文件是一个Dll,之后将解密内容保存到usbsapi.dll中。 注册LoadImage回调,当explorer.exe或services.exe启动时,驱动以修改目标进程导入表的形式注入解密后的Dll。
修改前目标进程导入表地址及大小如下:
修改后目标进程导入表地址及大小如下:
0x1020000数据结构如下:
0x05 usbsapi.dll行为分析 1)从云端下载并执行文件:
2)向up.cxsrf.com发送包含系统版本信息的udp包。
3)从http://service.qkime.com/resources/pk_v3/img/47A96610_32.bmp下载文件,映射到内存后执行。
目前47A96610_32.bmp的下载链接已经失效,查询qkime.com相关子域名,发现病毒作者从2015年7月到2016年7月一直使用该域名做静默推广。结合用户反馈信息推测usbsapi.dll会向用户电脑推广安装软件,也不排除usbsapi.dll会下载执行病毒文件的可能性。
0x06 关于作者 qkime.com注册邮箱为budingkong@gmail.com,该邮箱同时注册了深圳某手机技术有限公司,开展手机租赁、测试相关的业务。
|