2017-04-01 16:46:50
来源:安全客 作者:360白名单分析组
阅读:296次
点赞(0)
收藏
前言
早在去年7月份,360白名单分析组就披露了数字签名冒用的案例,木马作者通过伪造知名网络公司的资料,在某些国外颁发机构申请了对应的数字证书,并用于签发远控木马。而近期我们发现大量的传奇私服登陆器在冒用国内知名网络棋牌游戏“JJ比赛”的签名,并利用Catalog签名来保护网络劫持组件,对抗安全软件的查杀。
签名冒用
以下两个文件都带有“竞技世界(北京)网络技术有限公司” (下文简称“竞技世界”)的有效签名,左边是带有冒用签名的恶意私服组件,其证书颁发机构是“Go Daddy”,而右边是从“JJ比赛”官网下载的安装程序,证书颁发机构是“Symantec”。
私服作者通过这个假冒的签名证书,不仅对PE文件进行签名,还对CAT格式的非PE文件进行签名。CAT文件即安全目录,常用于微软对驱动程序的数字签名校验,与安全目录里的HASH一致的文件会被系统识别为带有某个有效签名。如下所示,文件列表里的其中一项“td_x86.dll”,对应的文件SHA-1是 “d7851d***”,只要将该CAT文件通过微软官方的一个工具“SignTool.exe”导入到目标系统的安全目录池,无论“td_x86.dll”文件本身有没有带数字签名,都会被系统识别为具有有效的“竞技世界”数字签名。换句话说,只要在目标系统安装该类CAT文件,就可以对任意文件列表实施“数字签名保护”,使其具有“竞技世界”的“通行证”。
样本分析
下面以一个传播样本为例,分析私服登陆器如何在玩家电脑上进行网络劫持活动。样本的整个运行过程如下所示,部分程序在玩家电脑上采用随机文件名,图中的备注名(如[msstool.dll])是其对应在私服服务器上的模块名称。整个流程涉及的4个不同的数字签名,有3个是冒用的,其中“竞技世界”的签名除了签发PE程序外还签发了CAT文件,用于对后面下载的无签名文件进行Catalog签名保护。Catalog签名保护过程主要用到“msstool.dll“和“msscat.dll“两个文件, ”msstool.dll“实际是WDK自带的签名工具“SignTool.exe”,“msscat.dll“文件则是带有“竞技世界”签名的安全目录文件。在玩家电脑中“splog.exe“将根据系统当前时间、进程和线程ID信息对两个文件随机命名,然后创建进程安装Catalog签名:
导入CAT文件后,“splog.exe“下载并释放多个模块,用于安装驱动进行劫持。整个流程会多次检测用户电脑的环境,比如“古惑仔传奇”主程序只有检测到用户系统上的传奇游戏目录时才会释放并加载后面的程序。经过多次的判断和加载后,最终调用两个驱动程序“cbfltfs3.sys”和“mstd32.sys”用于网络劫持。下面主要分析一下这两部分劫持。
驱动程序“cbfltfs3.sys”是由注入到IE浏览器的.NET模块“donetset4.dll”释放并加载的,注入方式是上游模块”dnetsup.dll”通过.NET工具“RegAsm.exe”注册通用类型库来实现的。“donetset4.dll”会通过“dHelperKit86.dll”启动驱动程序,并下载一个域名列表文件“hstsaddr.dll”来对网络进行屏蔽:
屏蔽的域名列表如下,格式与hosts文件一致,主要用于劫持安全软件和竞争对手的DNS请求:
驱动程序“cbfltfs3.sys”具有文件系统过滤功能,根据应用层传入的文件路径进行文件重定向操作从而实现屏蔽功能。如下是“dHelperKit86.dll”启动驱动的函数,向驱动层传递了系统hosts文件路径及重定向的文件(“dida.mid”)路径:
驱动程序正常工作后,安全软件或竞品私服在联网时将会先通过重定向后的hosts文件(“dida.mid”文件)查询DNS,导致后续的域名解析被重定向,从而实现屏蔽网络的作用。此时检查系统的hosts文件将看不到任何异常,然而通过ping命令便能验证出DNS已被劫持:
驱动程序“mstd32.sys”的主要功能是tdi过滤,首先获取云端过滤规则:
以下为规则文件的内容,包含大量私服竞争对手的服务器域名:
然后根据规则执行过滤,过滤主机头与规则内域名一致的网络请求:
满足过滤规则的所有网络请求会被标记,待网络请求响应后对接收到的数据进行修改,最后再将修改后的内容返回给应用层处理从而实现劫持:
当受害用户访问私服竞争对手的网站时,http请求响应的数据在驱动层被修改后返回给浏览器,从而劫持到另外一个地址(“14.***.38”,指向百度的首页):
通过抓包工具可以看到被修改的http响应内容,返回给浏览器的html被替换成一个指向百度首页的框架,实现了私服网站劫持到百度的效果:
传播情况
根据360大数据监测统计,冒用“竞技世界(北京)网络技术有限公司”签名的私服模块首次出现于2017年3月18日,并于2017年3月21日开始大量传播。下图所示是从2017年3月22日到2017年3月28日一周时间里传播情况的地域统计图,其中沿海一带以浙江、辽宁和广东传播最多,内陆则以四川和湖南居多:
根据这一周的统计数据,发现该模块每天活跃量近万(8500~9500),每天新增受害用户约7000个,一周活跃量为5万左右。该模块借助冒用的签名,在全国范围内广泛传播,并且传播速度惊人。该模块之所以能够迅速传播,与它的上游传播源有关。经统计,仅一周时间里传播该模块的私服网站就多达1300多个,相当于每周有上千款私服在传播该模块。例如以下是其中一款,看起来具有一定的诱惑性,能够吸引玩家下载:
除了以上“古惑仔传奇”还有上千款传播相关样本的私服网站,共同形成了一条庞大的灰色产业链,这里列出部分:
查杀
自从针对数字签名的对抗出现以来,我们持续监测其发展的动态,并率先进行查杀。本次带有冒用签名的恶意模块通过私服大量传播,受害用户群主要为游戏玩家,希望广大的用户提高安全意识,尽量通过正规的渠道下载游戏,避免损失。同时,希望相关的数字证书签发机构严格审查企业资质,避免此类情况再次发生。本文由 安全客 原创发布,如需转载请注明来源及本文地址。
本文地址:http://bobao.360.cn/learning/detail/3687.html