0x01 概述
近日,我们的域名异常监测系统 DNSMon 捕捉到域名 pro.csocools.com 的异常活动。根据数据覆盖度估算,感染规模超过100k。我们通过告警域名关联到一批样本和 C2,分析样本后发现是与双枪恶意程序相关的团伙开始新的大规模活动。近年来双枪团伙屡次被安全厂商曝光和打击,但每次都能死灰复燃高调复出,可见其下发渠道非常庞大。本次依然是因为受感染主机数量巨大,导致互联网监测数据异常,触发了netlab的预警系统。本报告中我们通过梳理和这些URL相关的C2发现了一些模式,做了一些推测。
我们观察到恶意软件除了使用百度贴吧图片来分发配置文件和恶意软件,还使用了阿里云存储来托管配置文件。为了提高灵活性和稳定性,加大阻拦难度,开发者还利用百度统计这种常见的网络服务来管理感染主机的活跃情况。同时我们在样本中多次发现了腾讯微云的URL地址,有意思的是我们在代码中并没有找到引用这些地址的代码。至此,双枪团伙第一次将BAT三大厂商的服务集成到了自己的程序中,可以预见使用开放服务来管理僵尸网络或将成为流行趋势。有必要澄清的是,这些公开服务本身均为技术中立,此恶意代码中滥用这些公开服务完全是其作者的蓄意行为,各主要互联网公司均在用户许可中明确反对并采取措施抵御这些恶意滥用行为。
5月14日起,我们联系到了百度安全团队,采取了联合行动,对该恶意代码的传播范围做了度量,并采取了抵御措施。截止本文发稿,相关的恶意代码下载链接已经被阻断。百度安全团队对该事件的声明见文末。
0x02 IOC关联分析
从告警域名入手,通过DNS解析记录和样本流量分析建立IOC关联,过滤掉孤立和噪音节点,我们找到了一组与此次传播活动有关的关键C2。从下面截取的部分IOC关联图可以看出,几乎所有的域名都和两个关键的ip 地址 125.124.255.20 和 125.124.255.79 有关,围绕这两个ip地址,双枪团伙从19年下半年开始依次启用了一批域名来控制和下发恶意程序。事实上这个团伙长期且稳定的控制了大量 125.124.255.0/24 网段的ip地址,可以看出他们拥有非常丰富的网络资源。
通过样本溯源可以看到,这次大规模感染主要是通过诱导用户安装包含恶意代码的网游私服客户端,具体感染方式大体分为两种,下面进行深入分析。
感染方式1 --- 启动器内包含恶意代码
阶段1 --- 下载并加载cs.dll恶意文件
各类私服入口
点击下载链接跳到私服主页
登录器下载 "蟠龙军衔.zip"
含恶意代码的私服客户端启动器被用户下载并执行,恶意代码访问配置信息服务器,然后根据配置信息从百度贴吧下载并动态加载名为 加密方法,这种加密算法和我们之前捕捉到的双枪样本高度相似。我们从样本主体 exe 文件入手,逐步分析上述恶意行为。
文件结构
"蟠龙军衔.exe" PE Resource 中包含 7 个文件,Widget.dll 是客户端组件,资源文件中的cs.dll 是旧版的恶意程序。4 个 .sys 文件是私服客户端的驱动程序,虽然命名为Game Protect,但我们在代码中发现了劫持流量插入广告的代码。
下载配置信息
启动器创建线程访问加密配置文件 http://mtdlq.oss-cn-beijing.aliyuncs.com/cscsmt.txt
页面包含 8 行 16 进制字串,与密钥 B2 09 BB 55 93 6D 44 47 循环异或即可解密。
解密后是 8 个百度贴吧图片的地址。
下载图片文件切割并重组 cs.dll 文件
直接访问图片地址,图片文内容看起来像是随机生成的。
恶意程序会下载图片文件,每张图片使用 ><>>>< 为标记来分隔图像数据和恶意代码数据。
把所有恶意代码拼接起来我们得到了阶段 2 的恶意程序 cs.dll。