火绒安全软件

标题: 【分析报告】“净广大师”病毒HTTPS劫持技术深度分析 [打印本页]

作者: huoronganquan    时间: 2016-12-20 18:48
标题: 【分析报告】“净广大师”病毒HTTPS劫持技术深度分析
分析报告下载地址:http://pan.baidu.com/s/1gfOai0V

一、背景
近期,火绒团队截获一个由商业软件携带的病毒,并以其载体命名为“净广大师”病毒。在目前广为流行的“流量劫持”类病毒中,该病毒策略高明、技术暴力,并攻破HTTPS的“金钟罩”,让百度等互联网厂商普遍使用的反劫持技术面临严峻挑战。且该病毒驱动在”净广大师“卸载后仍然会持续加载并劫持百度搜索流量,行为及其恶劣。
我们曾在此前报告(https://bbs.huorong.cn/thread-18766-1-1.html)中进行过病毒简述,本文中我们将对“净广大师”病毒进行详细分析。

二、样本分析
在“净广大师”安装过程中,我们注意到“AdAnti.exe”进程在系统驱动目录下释放了一个隐藏的文件名为“rtdxftex.sys”的驱动。如下图所示:

2-1、“净广大师”安装过程

该驱动是“AdAnti.exe”从“净广大师”安装目录下复制到系统驱动目录的,该驱动有32位和64位两个版本,文中主要依据32位版本的病毒驱动(TdxFlt_i386.sys)进行分析。如下图所示:


图2-2、病毒驱动文件

在病毒驱动加载后,通过提取内存字符串,我们获得到了更多与病毒相关的特征信息,而且这些特征在静态状态下是无法在病毒驱动文件中提取到的。如下图所示:

2-3、病毒驱动加载后的内存数据

通过我们对该病毒驱动的分析,我们发现该驱动运行会先执行两次解密操作,第一个解密后获得驱动运行时所需的数据,第二个解密操作可以得到一个病毒动态库。解密代码如下图所示:

图2-4、病毒解密代码

根据其代码中的解密算法还原,我们可以解密出该驱动使用的一个病毒动态库和在其内部使用的一些关键的数据,如下图所示:
图2-5、病毒动态库解密


图2-6、病毒数据解密

通过对病毒驱动的分析,我们发现病毒会将其解密后的动态库通过APC注入的方式注入到“explorer.exe”进程中。如下图所示:

图2-7、病毒注入“explorer.exe”代码

图2-8、APC注入代码(1)

图2-9、APC注入代码(2)

在病毒注入“explorer.exe”之后,百度的搜索链接便会被劫持带上病毒制造者的计费ID。在我们重现的环境中,该病毒劫持到的计费ID为“93718154_hao_pg”。如下图所示:

图2-10、百度被病毒劫持

通过分析得知,该病毒是通过代理的方式,以中间人攻击的形式来劫持HTTPS流量。如下图所示,病毒驱动注入到explorer.exe进程的代码会监听10100端口。

图2-11、注入后explorer的病毒代码劫持IE的联网请求

当浏览器访问百度时,病毒驱动会将连向百度(61.135.169.125)443端口(HTTPS)的链接重定向到本地的10100监听端口,explorer中的病毒代码再代替浏览器发起与远端Web服务器的链接进行通讯。该病毒同时通过自己携带的证书分别与浏览器和远端Web服务器完成SSL握手,进而以中间人攻击的形式完全控制HTTPS链路通信。

图2-12、中间人攻击示意图

通过对该病毒注入explorer的动态库进行分析,发现在该动态库资源中,我们可以看到病毒”劫持”所用到的SSL证书。如下图所示:

图2-13、病毒发起劫持所用到的SSL证书

在病毒将该动态库注入explorer后,我们在explorer.exe进程的内存块中也同样可以提取到与上图相同的证书数据。

图2-14、explorer.exe进程内存字符串

在将上述内存中的证书数据保存为证书文件后,将其与病毒劫持证书进行对比,两者的根证书与子证书完全一致。如下图所示:


图2-15、静态解码的劫持证书(左为根证书、右为子证书)


图2-16、被劫持现场中显示的劫持证书(中为根证书、右为子证书)





三、同源性分析
通过在火绒样本管理平台中搜索“净广大师”病毒使用的百度计费ID“93718154_hao_pg”,我们得到了少量关联样本。如图所示:


图3-1、部分样本sha1

图3-2、带有推广号“93718154_hao_pg”的病毒样本


通过分析,我们发现这些样本与之前截获的“净广大师“病毒样本具有极高的同源性,且火绒已全部检出。同时,我们也从VirusTotal上查到友商对该病毒的检出结果。如图所示:

图3-3、友商对“净广大师”病毒同源样本检出结果

随后,我们有提取了这些病毒代码中的部分关键数据,在火绒样本管理平台中通过关联查询得到了更多的同源性样本。我们随即将这些病毒样本按捕获的时间进行了排序对比,如下图所示:

图3-4、该病毒家族以往样本数据

通过上图我们可以看出,无论是病毒的数据特征,还是病毒工程的编译路径都显示该家族的所有病毒样本与“净广大师“病毒一样,都出自同一个人。根据我们收集到样本时间来看,近段时间以来该病毒正在不断地进行迭代更新。从最早期样本运行时会产生日志,再到后来使用多个推广计费号劫持百度搜索,到最后现在版本将病毒数据和病毒动态库以加密方式存放在驱动镜像中。随着病毒的不断迭代,病毒的复杂程度正在不断提升。

四、附录
文中涉及样本SHA1:
文件名
SHA1
AdAnti.exe
e06f337bd7512d5f278c8d064356f480b943bd19
  
TdxFlt_i386.sys
  
  
25670f556ee4fd376164dcb43cf06ae1bad26dd5
  
TdxFlt_amd64.sys
ebe3aa18a2b62bfab7fb09b078f6f00c3f8525b1

“净广大师”病毒同源样本SHA1:

病毒名
SHA1
Rootkit/NetSec.a
03386c58c4d80522246a4e39e10f99fd31ec8a77
  
Rootkit/NetSec.a
  
  
03ac723bcf44a8315390a02cc2793b15e698d4aa
  
Rootkit/NetSec.a
03f0bedd48d7a6b4f0c13753148042f0b651e828
  
Rootkit/NetSec.a
  
  
047a841a77a21adc21d36050d6f6ef6113f3c824
  
Rootkit/NetSec.a
09fbef91d17b722a1fa5abcd26e5e8fe7d783cdc
  
Rootkit/NetSec.a
  
  
0a350ca15112db2aae421c38579485f478e6b13a
  
Rootkit/NetSec.a
0aa4a878867a572c9ef4944a55f6e1bada1dddf5
  
Rootkit/NetSec.a
  
  
0c8c66abc446ad15cdd2a9ac24f5d5fae74072cf
  
Rootkit/NetSec.a
11b0047f26a4f54e5e0268a6d8bd2fa386b3b482
  
Rootkit/NetSec.a
  
  
12a2b07c1a2588fc0faf42c70cdc0d8b1d21ce51
  
Rootkit/NetSec.a
143e5e6c00d511b1178ddbc08877c531c296e0f2
  
Rootkit/NetSec.a
  
  
1573ccdd3784691f0c17eda6027da5ce123841b2
  
Rootkit/NetSec.a
1868141e109d391fc34d8f586ae02b916cae4644
  
Rootkit/NetSec.a
  
  
1de1300423b05c206b5062a9003e56951479e198
  
Rootkit/NetSec.a
1def02236c71777d1fefcf6cdfcde1e322b763d0
  
Rootkit/NetSec.a
  
  
243494bbac4b50587cc7d227b9f6a03c0343893a
  
Rootkit/NetSec.a
248884105ea5291972ad6c6e8a75941b59c3334a
  
Rootkit/NetSec.a
  
  
26319f416b0416ba48c828115d369f1efa64b8f9
  
Rootkit/NetSec.a
27b459c686b0a40bd12ba8ed1316e3126eb9e9d2
  
Rootkit/NetSec.a
  
  
27d8512fd7da189f649eff2cd0274a406405620b
  
Rootkit/NetSec.a
289ad9787b6b06ab46007e46e4b7954e0d8a476c
  
Rootkit/NetSec.a
  
  
2e1c56b39b6db506a53a05c4ee8270ec48257e33
  
Rootkit/NetSec.a
2f5a9fc32567140253bf49153b22cf5c868ed06e
  
Rootkit/NetSec.a
  
  
3470f3b06f387bb7bb55459c0786f6ed512e926d
  
Rogue/NetSec.gen
0a1655d06ed5a6550b495df627cd76bd0ab046ff
  
Rogue/NetSec.gen
  
  
0c9226676127709d032cff8c695c14abba49c3cf
  
Rogue/NetSec.gen
177f5703f4ba8c146e955b5bdfe6860d4cb4f7f1
  
Rogue/NetSec.gen
  
  
1fb098637af04af4b7f7cd4bf3521d8d0d1f716c
  
Rogue/NetSec.gen
25670f556ee4fd376164dcb43cf06ae1bad26dd5
  
Rogue/NetSec.gen
  
  
25822c34eabe5c1a0d1051a1836f5b50196c7f08
  
Rogue/NetSec.gen
297b687805f31cde2be0d55e7ec25acfdbd9a02c


作者: tuxiaomo    时间: 2016-12-20 19:33
“AdAnti净网大师”和“ADSafe净网大师”不是同一个厂商的OK??
为什么不在标题上写上“AdAnti净网大师”而是直接写“净网大师”?
这样很容易混淆视听,请改正谢谢!!!
作者: 1070841883    时间: 2016-12-20 19:49
本帖最后由 1070841883 于 2016-12-20 19:52 编辑
tuxiaomo 发表于 2016-12-20 19:33
“AdAnti净网大师”和“ADSafe净网大师”不是同一个厂商的OK??
为什么不在标题上写上“AdAnti净网大师”而 ...

一个是净大师,一个是净广大师,名字不一样的

心疼火绒官方


作者: pewu5    时间: 2016-12-20 23:12
tuxiaomo 发表于 2016-12-20 19:33
“AdAnti净网大师”和“ADSafe净网大师”不是同一个厂商的OK??
为什么不在标题上写上“AdAnti净网大师”而 ...

一不留神就开喷。
作者: yanhuanzhi    时间: 2016-12-21 07:42
不明觉厉
作者: xgh530    时间: 2016-12-21 09:08
实力眼瞎的沙发。
作者: wapjw    时间: 2016-12-21 11:42
这个可以的
作者: tnti    时间: 2016-12-21 17:21
tuxiaomo 发表于 2016-12-20 19:33
“AdAnti净网大师”和“ADSafe净网大师”不是同一个厂商的OK??
为什么不在标题上写上“AdAnti净网大师”而 ...

去眼科看看吧...
作者: tanws    时间: 2016-12-21 21:41
言论自由,失误莫究。
作者: 迷途丶小书童    时间: 2016-12-22 01:23
心疼火绒
作者: 北极光    时间: 2016-12-23 17:45
内容超赞。
作者: gogogoleng    时间: 2016-12-24 13:42
说了半天,没看懂什么意思,就是最后搜索网址上加了个 TN=xxxxxx_hao_pg吧 我这电脑上没装这软件 也有这种TN 啊,而且很多浏览器他上面都会有 比如搜狗 2345 浏览器 ,我还是默默的不上网了,看电视比较安全
作者: y40124    时间: 2016-12-24 13:53
支持火绒!!!!!!!!!!!!!!!!!
作者: lumaoxin    时间: 2016-12-24 20:39
软件工程在读,真希望有一天可以像楼主一样牛叉
作者: rangersxiaoyan    时间: 2016-12-27 17:32
我想问一下我用导航如hao123提供的百度入口搜索资料。经常转到百度的推广计费上面。
假设我要搜索“水电费”点击百度一下,有事直接转到百度主页上(带推广id)。
想问一下是不是被劫持了。
@admin

作者: cyers    时间: 2016-12-27 22:07
金币为什么这么少,下载不了规则
作者: 火花    时间: 2016-12-30 18:57
支持火绒
作者: laobaobao    时间: 2020-10-4 16:03
这个一直存在啊,他的作者QQ;52001021




欢迎光临 火绒安全软件 (https://bbs.huorong.cn/) Powered by Discuz! X3.4