查看: 1980|回复: 6
收起左侧

[技术原创] “双枪”木马借“逆战契约”外{过}{滤}挂,转战“流量劫持”

[复制链接]
360主动防御
发表于 2018-11-5 20:36:23 | 显示全部楼层 |阅读模式
本帖最后由 360主动防御 于 2018-11-5 20:36 编辑


360安全中心于2017年7月发现首例连环感染MBR和VBR的顽固病毒木马,将其命名为“双枪”,在之后的一年多时间内,我们发现该病毒作者在频繁的更新病毒版本,增加盈利方式和对抗安全软件的能力,且病毒的传播渠道也在持续变化。下图是“双枪”病毒几次较大更新的时间线:



近期,我们发现最新版本的“双枪”木马(以下简称“双枪4”)在原有病毒模块基础上,增加了劫持电商网站的病毒模块。根据同源性分析,我们发现该病毒模块是友商披露的“贪狼”病毒的子模块,而根据两个家族病毒样本的调试信息我们发现,这两类木马应该出自同一病毒作者之手。


“双枪4”利用该病毒模块实现电商网站的流量劫持,我们根据此次病毒更新的时间点推测,病毒作者应该是想趁着“双十一购物狂欢节”期间狠赚一笔流量推广费,单一的首页锁定带来的利益已经无法满足病毒作者贪婪的欲望,他已将“双枪”的瞄准了更大的战场。



传播途径

“双枪4”病毒木马利用游戏外{过}{滤}挂在数码资源网,西西软件园,蜗牛娱乐网等多个下载站进行大量传播。以一款名为“逆战契约”的游戏外{过}{滤}挂为例,还原整个感染流程。在下载页面可以看到只需要将log.dll替换到逆战游戏目录下即可。而用户所不知的是,log.dll其实是一个木马释放器,用于释放后续病毒模块。病毒下载页面截图:

log.dll被替换到逆战游戏目录下后,会随着逆战游戏的启动被LoadingOptimize.exe进程加载,释放出病毒文件orange.dll,并调用其导出函数StartEngine,该导出函数会根据当前计算系统位数释放相应的病毒驱动TexDriver.sys。TexDriver.sys会下载双枪驱动NtProtect.sys,进一步感染系统MBR和VBR,完整的感染流程,如下图所示:

如上图所示,MBR和VBR又会在系统启动阶段解密出病毒驱动NtBoot.sys去检测NtProtect.sys驱动,如果驱动服务异常,则会下载并修复病毒驱动,以此形成相互保护,使得双枪病毒的查杀异常困难。



样本分析

log.dll

log.dll释放orange.dll到C:\windows目录下并调用其导出函数StartEngine,该函数从资源中释放TexDriver.sys并加载,病毒逻辑,如下图所示:


TexDriver.sys

“双枪4”对于安全分析的对抗做的更加成熟,除了使用VMProtect虚拟化壳保护自身外,还增加了虚拟机检测,内核调试检测,ComputerName检测等,且双枪病毒是由引导区加载,启动顺序在安全软件之前,使得以上检测更为有效,病毒行为更加隐蔽,更难被检测到。下图是TexDriver.sys执行流程,当检测到虚拟机,内核调试且ComputerName在病毒作者黑名单中时,就不会去执行病毒逻辑:


检测虚拟机逻辑如下:


检测ComputerName:


发送计算机信息:


下载并加载驱动:


NtProtect.sys

NtProtect.sys是双枪的核心模块,该模块会感染系统引导区,注入系统进程实现流量劫持,阻断安全软件联网等。驱动属性,如下图所示:

1, 感染引导区

引导区的感染主要分为三步,其中如果有任何环节出现问题,感染就会终止。感染主逻辑,如下图所示:

先将NtBoot.sys加密写入到磁盘末尾:

然后感染BootMgr+0x7A之后的数据:

被感染后的BootMgr分布如下图所示:

以上两个步骤都完成之后再感染MBR:

之后挂钩磁盘底层函数,保护引导区数据。过滤条件如下图所示:

2,注入系统进程

NtProtect.sys通过注册映像加载回调,将病毒动态库AppManage.dll注入到services.exe进程当中:

注入函数:

3, 阻断安全软件联网

通过注册fwp网络回调,阻断安全软件联网。代码逻辑,如下图所示:

其中FwpFilter主要过滤逻辑如下:

为避免明文字符串被杀毒软件查杀,病毒采用计算字符串hash的方式进行免杀,我们暴力破解了其中部分hash值,如下图所示:

除网络过滤之外,该驱动还会通过进程回调,映像加载回调patch部分安全软件模块入口点,阻止其正常加载,详细分析可以参考我们之前的报告《双枪2木马驱动分析》。

Bootkit分析

双枪bootkit部分代码随着系统启动顺序一路挂钩系统函数,以此获得执行机会,整体启动流程,如下图所示:

下面列出部分关键挂钩位置:

挂钩int 15中断:

挂钩BootMgràStartup.com中0x20873位置,挂钩函数0x9EDE8。

设置硬件断点,替换系统中断,硬件断点触发后执行0x9E09C位置的挂钩函数。

挂钩BootMgr!Archx86TransferTo32BitApplicationAsm函数。

Archx86TransferTo32BitApplicationAsm位置的挂钩函数被触发后病毒会进一步挂钩Winload.exe模块的OslArchTransferToKernel函数和OslpLoadAllModules函数。

挂钩Winload!OslArchTransferToKernel:

挂钩WinLoad!OslpLoadAllModules:

当系统执行到WinLoad时,OslpLoadAllModules位置的挂钩先被触发,解密NtBoot驱动:

之后WinLoad!OslArchTransferToKernel挂钩被触发,加载病毒驱动:

NtBoot.sys驱动功能与TexDriver.sys相同,加载后会联网下载NtProtect.sys,驱动与引导区如有一方被安全软件查杀,另一方会及时将其修复,使得双枪木马的查杀难度更高。


AppManage.dll

AppManage.dll被注入到services.exe进程中执行流量劫持的功能。据我们统计,被劫持的网站包括淘宝,天猫,京东,唯品会,汽车之家,去哪儿,聚划算等230多个电商网站。部分劫持列表,如下图所示:


被劫持的浏览器列表,如下图所示:

病毒携带的SSL证书,如下图所示:

通过同源性分析,我们发现该病毒模块在2018年3月份被友商披露,命名为“贪狼”,动态库调试信息比较,如下图所示:

与多个版本双枪进行比较,发现贪狼与双枪应该是同一木马作者编写:


查杀建议

1,近几年,游戏外{过}{滤}挂已经成为病毒传播主要途径之一,网络上传播的外{过}{滤}挂程序安全性也无法保证,我们建议广大用户不要使用此类程序。

2,“双枪”木马隐蔽性强,查杀难度高,还会感染系统MBR和VBR,目前很多杀毒软件还不支持引导区的查杀,因此会出现频繁查出,但无法彻底清除的情况



不知道这是剑
发表于 2018-11-6 08:31:52 | 显示全部楼层
图片太小了
360主动防御
 楼主| 发表于 2018-11-6 10:18:26 | 显示全部楼层

部分图片确实有点小,稍后我重新更换一下,感谢反馈
wowocock
发表于 2018-11-6 10:27:25 | 显示全部楼层
动作太明显,很容易被检测,看看人家老外的,全程只有内存SHELLCODE,没文件。不过,最好还是在WIN10 64下启用内核隔离,基本封杀了很多BOOTKIT必须使用的关键技术。
wowocock
发表于 2018-11-6 10:34:41 | 显示全部楼层
不过双枪作者也知道自己的弱点,基本在EXPLORER登录几分钟之内会禁止所有驱动加载。
不知道这是剑
发表于 2018-11-6 17:05:52 | 显示全部楼层
wowocock 发表于 2018-11-6 10:27
动作太明显,很容易被检测,看看人家老外的,全程只有内存SHELLCODE,没文件。不过,最好还是在WIN10 64下 ...

有没有什么内核隔离的分析文章
www-tekeze
发表于 2018-11-6 19:33:50 | 显示全部楼层
本帖最后由 www-tekeze 于 2018-11-6 23:38 编辑

进来顶一下! 哪里能找到这个log.dll? 下载站? 那我去瞅瞅。。

https://bbs.kafan.cn/forum.php?mod=viewthread&tid=2136087&page=1#pid42911284

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

本版积分规则

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

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2024-4-27 10:54 , Processed in 0.152056 second(s), 16 queries .

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

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