一、背景近期,火绒团队截获一个由商业软件携带的病毒,并以其载体命名为“净广大师”病毒。在目前广为流行的“流量劫持”类病毒中,该病毒策略高明、技术暴力,并攻破HTTPS的“金钟罩”,让百度等互联网厂商普遍使用的反劫持技术面临严峻挑战。且该病毒驱动在”净广大师“卸载后仍然会持续加载并劫持百度搜索流量,行为及其恶劣。
二、样本分析在“净广大师”安装过程中,我们注意到“AdAnti.exe”进程在系统驱动目录下释放了一个隐藏的文件名为“rtdxftex.sys”的驱动。如下图所示:
该驱动是“AdAnti.exe”从“净广大师”安装目录下复制到系统驱动目录的,该驱动有32位和64位两个版本,文中主要依据32位版本的病毒驱动(TdxFlt_i386.sys)进行分析。如下图所示:
在病毒驱动加载后,通过提取内存字符串,我们获得到了更多与病毒相关的特征信息,而且这些特征在静态状态下是无法在病毒驱动文件中提取到的。如下图所示:
通过我们对该病毒驱动的分析,我们发现该驱动运行会先执行两次解密操作,第一个解密后获得驱动运行时所需的数据,第二个解密操作可以得到一个病毒动态库。解密代码如下图所示:
图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”。如下图所示:
通过分析得知,该病毒是通过代{过}{滤}理的方式,以中间人攻击的形式来劫持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: | | | e06f337bd7512d5f278c8d064356f480b943bd19 | TdxFlt_i386.sys | 25670f556ee4fd376164dcb43cf06ae1bad26dd5 | | ebe3aa18a2b62bfab7fb09b078f6f00c3f8525b1 |
“净广大师”病毒同源样本SHA1:
| | | 03386c58c4d80522246a4e39e10f99fd31ec8a77 | Rootkit/NetSec.a | 03ac723bcf44a8315390a02cc2793b15e698d4aa | | 03f0bedd48d7a6b4f0c13753148042f0b651e828 | Rootkit/NetSec.a | 047a841a77a21adc21d36050d6f6ef6113f3c824 | | 09fbef91d17b722a1fa5abcd26e5e8fe7d783cdc | Rootkit/NetSec.a | 0a350ca15112db2aae421c38579485f478e6b13a | | 0aa4a878867a572c9ef4944a55f6e1bada1dddf5 | Rootkit/NetSec.a | 0c8c66abc446ad15cdd2a9ac24f5d5fae74072cf | | 11b0047f26a4f54e5e0268a6d8bd2fa386b3b482 | Rootkit/NetSec.a | 12a2b07c1a2588fc0faf42c70cdc0d8b1d21ce51 | | 143e5e6c00d511b1178ddbc08877c531c296e0f2 | Rootkit/NetSec.a | 1573ccdd3784691f0c17eda6027da5ce123841b2 | | 1868141e109d391fc34d8f586ae02b916cae4644 | Rootkit/NetSec.a | 1de1300423b05c206b5062a9003e56951479e198 | | 1def02236c71777d1fefcf6cdfcde1e322b763d0 | Rootkit/NetSec.a | 243494bbac4b50587cc7d227b9f6a03c0343893a | | 248884105ea5291972ad6c6e8a75941b59c3334a | Rootkit/NetSec.a | 26319f416b0416ba48c828115d369f1efa64b8f9 | | 27b459c686b0a40bd12ba8ed1316e3126eb9e9d2 | Rootkit/NetSec.a | 27d8512fd7da189f649eff2cd0274a406405620b | | 289ad9787b6b06ab46007e46e4b7954e0d8a476c | Rootkit/NetSec.a | 2e1c56b39b6db506a53a05c4ee8270ec48257e33 | | 2f5a9fc32567140253bf49153b22cf5c868ed06e | Rootkit/NetSec.a | 3470f3b06f387bb7bb55459c0786f6ed512e926d | | 0a1655d06ed5a6550b495df627cd76bd0ab046ff | Rogue/NetSec.gen | 0c9226676127709d032cff8c695c14abba49c3cf | | 177f5703f4ba8c146e955b5bdfe6860d4cb4f7f1 | Rogue/NetSec.gen | 1fb098637af04af4b7f7cd4bf3521d8d0d1f716c | | 25670f556ee4fd376164dcb43cf06ae1bad26dd5 | Rogue/NetSec.gen | 25822c34eabe5c1a0d1051a1836f5b50196c7f08 | | 297b687805f31cde2be0d55e7ec25acfdbd9a02c
|
|