报告编号:B6-2020-052701
报告来源:360-Netlab
报告作者:jinye, JiaYu,suqitian,核心安全部研究员THL
更新日期:2020-05-27
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。
恶意程序通过内存映射的方式加载上述 cs.dll,然后调用导出函数
阶段2 --- 上报主机信息,释放并加载恶意驱动
cs.dll 会进行一些简单的虚拟机和杀软对抗,利用百度统计服务上报 Bot 信息,释放第 3 阶段 VMP 加壳的驱动程序(包含x86/x64两个版本)。
DES 解密算法
样本中的 DES 解密算法为恶意软件作者自定义实现,加密模式为
CBC,无填充。DES
加密算法的转换表与旧版("双枪"木马的基础设施更新及相应传播方式的分析)相同
。本次恶意活动涉及的 DES 解密,都涉及 2 层解密,第一层解密,先以
Base64 算法解码字符串 dBvvIEmQW2s=
得到一份二进制数据,再以空密钥 \x00\x00\x00\x00\x00\x00\x00\x00
对上述二进制数据解密,得出字串
helloya\x00
,再以此字串作为密钥,用自研 DES
算法解密其他大量密文数据。完整的解密过程如下:
检查虚拟主机环境 VM 和 WM
通过检查注测表项判断是否是 VMWare 主机,如果是 VM 主机代码则直接返回。
检查系统服务 WayOSFw 是否存在,如果服务存在则直接返回。
创建 Bot ID
使用系统 API 创建主机的 Bot ID,写入注册表 SOFTWARE\\PCID
,
利用百度统计服务管理 Bot
恶意软件的开发者借用了百度统计接口的一些标准字段来上报主机敏感信息,利用百度统计这种常见的网络行为来管理感染主机的活跃情况。因为百度统计服务被大量网站使用,从流量上看是一套合规的浏览器网络行为,所以很难将其区分出来,加大了安全厂商打击的难度。
恶意程序首先使用一个名为 DataWork() 的函数伪造浏览器请求,下载
保存返回信息中的用户 Cookie 信息 HMACCOUNT 到注册表。
通过 http://hm.baidu.com/hm.gif?
接口,恶意程序将提取到的统计脚本的版本信息this.b.v
、用户 Cookie信息、bot_id
和伪造的其它统计信息组包上报,恶意软件开发者使用百度统计的后台可以方便的管理和评估感染用户。
从 Dat 资源解密,创建,安装驱动
检查是否安装了 XxGamesFilter
等私服客户端驱动。
根据安装情况和操作系统版本选择不同的资源 ID,每一个资源对应不同版本的驱动(32 位系统使用 ID 为 111 或 109 资源,64 位系统使用 ID 为 110 或 112 的资源)。
资源是简单加密过的,以解密 32 位驱动为例,首先倒转数据顺序,然后逐字节和系统版本数值 32 异或,得到一个 VMP 加壳的驱动文件。
检测是否存在 TeSafe
驱动,如果存在刚中断感染流程。计算
TeSafe+{Computer Name}
的 MD5 值,检测是否存在名为该 MD5
字串的驱动,如果存在说明系统已经被感染过,也会中断感染流程。
//拼接字串
+00 54 65 53 61 66 65 2B 57 49 4E 2D 52 48 39 34 50 TeSafe+WIN-RH94P
+10 42 46 43 37 34 41 00 00 00 00 00 00 00 00 00 00 BFC74A..........
//拼接字串的MD5值
+00 46 34 36 45 41 30 37 45 37 39 30 33 33 36 32 30 F46EA07E79033620
+10 43 45 31 33 44 33 35 44 45 31 39 41 41 43 34 32 CE13D35DE19AAC42
如果系统 EnableCertPaddingCheck
注册表项关闭,则替换文件末尾 16
字节为随机数据。这样每个感染主机上的样本 HASH
值完全不一样,可以对抗基于 HASH 查杀的方案。
将驱动程序释放到 TEMP 目录下,文件名为长度为 7
的随机字符串。例如:"C:\Users\{User Name}\AppData\Local\Temp\iiitubl"
注册驱动文件启动服务并检测安装是否成功。
阶段3 --- 劫持系统进程,下载后续恶意程序
驱动运行后会拷贝自己到 Windows/system32/driver/{7个随机字符}.sys
,伪造驱动设备信息为常见的合法驱动,如 fltMgr.sys
,向系统进程
Lassas.exe
和 svchost.exe
注入 DLL
模块。完成整个初始化过程后,就形成了一个驱动和 DLL 模块通过
DeviceIoControl()
通信合作来完成作务的工作模式,这是一个驱动级别的下载器。所有敏感的配置信息都保存在驱动内部,DLL
通过调用驱动来获得配置服务器相关信息,根据下载的配置信息去百度贴吧下载其它恶意代码,进行下一阶段的恶意活动。
驱动运行后用APC注入法向系统进程 Lassas.exe 注入 DLL 模块。
DLL 配合驱动的执行过程。
DLL 首先尝试创建互斥对象 {12F7BB4C-9886-4EC2-B831-FE762D4745DC}
,防止系统创建多个实例。
接着会检查宿住进程是否是 Lsass.exe 或 svchost.exe,确保不是运行在沙箱之类的分析环境中。
尝试创建设备 "\\.\F46EA07E79033620CE13D35DE19AAC42"
句柄,建立和驱动模块的通信。
向驱动发送 0x222084 设备控制码,获得连接服务器的配置信息。和配置服务器的通信使用 HTTPS+DES 的双重加密方式,配置信息包含三个重要的部分:
- 主机信息上报服务
https://cs.wconf5.com:12709/report.ashx
,供 DLL 上报主机基本信息。
bot id,安装时间等基本信息。
是否安装 360 杀毒,是否是虚拟机环境。
是否是无盘工作站。
上报主机信息使用DES加密,密钥为 HQDCKEY1
。
访问
https://cs.wconf5.com:12710/123.html
下载配置信息:配置信息依然是变形 DES 加密,解密密钥为
HQDCKEY1
。解密后可以看到配置信息使用自定义的格式,两个百度图片为一组,截取有效数据拼接为一个有效文件:
- 配置信息
https://share.weiyun.com/5dSpU6a
功能未知:
所有驱动样本返回的配置信息都包含一个腾讯微云地址,直接访问该地址可以看到若干字符和数字组成的无意义字串。我们在收集到的配置信息中发现,每组数据中的配置信息服务器和微云保存的数据存在特定的模式。以上图为例,访问腾讯微云,获取字符串cs127
,其同组数据中的配置文件服务器的子域为 cs.xxxx.com
,端口为127xx
。这看起来像是一种动态生成配置文件服务器地址的策略,推测可能是还在开发阶段的功能,所以样本中并未包含对应代码。
完成上述初始化过程后,驱动开始根据配置文件进入真正的功能操作。根据解析的配置文件,dll和驱动模块配合可以完成非常复杂的功能,下面罗列其中一部分功能。
更新驱动文件
程序会使用另一套算法得到DES解密密钥 HelloKey
,最后用 DES
算法解出最终数据:
劫持进程ip地址。
向系统中添加证书
下载文件到 TEMP 目录并创建进程。
篡改 DNS配置
PAC 代理劫持
0x03 附录
DES 加解密算法中的自定义转换表: {#des}
以下转换表不同于大部分 DES 加解密的公开实现,左移位数表与 SBox 表都同于常见 DES 算法实现。
# Permutation and translation tables for DES
__pc1 = [
56, 48, 40, 32, 24, 16, 8,
0, 57, 49, 41, 33, 25, 17,
9, 1, 58, 50, 42, 34, 26,
18, 10, 2, 59, 51, 43, 35,
62, 54, 46, 38, 30, 22, 14,
6, 61, 53, 45, 37, 29, 21,
13, 5, 60, 52, 44, 36, 28,
20, 12, 4, 27, 19, 11, 3
]
# permuted choice key (table 2)
__pc2 = [
13, 16, 10, 23, 0, 4,
2, 27, 14, 5, 20, 9,
22, 18, 11, 3, 25, 7,
15, 6, 26, 19, 12, 1,
40, 51, 30, 36, 46, 54,
29, 39, 50, 44, 32, 46,
43, 48, 38, 55, 33, 52,
45, 41, 49, 35, 28, 31
]
# initial permutation IP
__ip = [
57, 49, 41, 33, 25, 17, 9, 1,
59, 51, 43, 35, 27, 19, 11, 3,
61, 53, 45, 37, 29, 21, 13, 5,
63, 55, 47, 39, 31, 23, 15, 7,
56, 48, 40, 32, 24, 16, 8, 0,
58, 50, 42, 34, 26, 18, 10, 2,
60, 52, 44, 36, 28, 20, 12, 4,
62, 54, 46, 38, 30, 22, 14, 6
]
# Expansion table for turning 32 bit blocks into 48 bits
__expansion_table = [
31, 0, 1, 2, 3, 4,
3, 4, 5, 6, 7, 8,
7, 8, 9, 10, 11, 12,
11, 12, 13, 14, 15, 16,
15, 16, 17, 18, 19, 20,
19, 20, 21, 22, 23, 24,
23, 24, 25, 26, 27, 28,
27, 28, 29, 30, 31, 0
]
# 32-bit permutation function P used on the output of the S-boxes
__p = [
15, 6, 19, 20, 28, 11,
27, 16, 0, 14, 22, 25,
4, 17, 30, 9, 1, 7,
23, 13, 31, 26, 2, 8,
18, 12, 29, 5, 21, 10,
3, 24
]
# final permutation IP^-1
__fp = [
39, 7, 47, 15, 55, 23, 63, 31,
38, 6, 46, 14, 54, 22, 62, 30,
37, 5, 45, 13, 53, 21, 61, 29,
36, 4, 44, 12, 52, 20, 60, 28,
35, 3, 43, 11, 51, 19, 59, 27,
34, 2, 42, 10, 50, 18, 58, 26,
33, 1, 41, 9, 49, 17, 57, 25,
32, 0, 40, 8, 48, 16, 56, 24
]
0x04 联系我们
感兴趣的读者,可以在 twitter 或者通过邮件 netlab[at]360.cn 联系我们。
0x05 部分IOC:
C&Cs
pro.csocools.com
www.w15773.com
cs.wconf5.com
cs.ledfaguang.com
white.fei46413.com
MD5
aa497dfb5a92c28f7fa5b8e049155da0
081e586a6010b3b72ba4934f8cbdb368
04db0b062c7491a124bf7388d783c17e
0c0f43ed8317869918a23a7e7bfeb0e8
1785ef2d8bd40d8af32cca0f536cb6e8
3fb5e2c05b73168c3f259d64b8978a64
URLs
https://share.weiyun.com/5XqTYW6
https://www.w15773.com:12310/123.html
https://www.w15773.com:12309/report.ashx
http://www.w15773.com:12313/config.html
http://www.w15773.com:8889/stat1.ashx
https://pro.csocools.com:12310/123.html
https://pro.csocools.com:12309/report.ashx
http://pro.csocools.com:8889/stat1.ashx
https://share.weiyun.com/5dSpU6a
https://cs.wconf5.com:12709/report.ashx
https://cs.wconf5.com:12710/123.html
https://cs.wconf5.com:12713/config.html
https://cs.wconf5.com:12715/GetTag.ashx
http://cs.wconf5.com:8889/stat1.ashx
https://cs.ledfaguang.com:12710/123.html
https://cs.ledfaguang.com:12709/report.ashx
http://cs.ledfaguang.com:12713/config.html
http://cs.ledfaguang.com:8889/stat1.ashx
http://white.fei46413.com:12313/config.html
http://white.fei46413.com:8889/stat1.ashx
https://ap.echoit1.com:12310/123.html
https://ap.echoit1.com:12309/report.ashx
https://ap.echoit1.com:12710/123.html
https://ap.echoit1.com:12709/report.ashx
http://tiebapic.baidu.com/tieba/pic/item/72f082025aafa40fcbf1a1b9bc64034f78f0199a.jpg
http://tiebapic.baidu.com/tieba/pic/item/bf096b63f6246b600e2fa810fcf81a4c510fa2b4.jpg
http://tiebapic.baidu.com/tieba/pic/item/c83d70cf3bc79f3da8c48b54ada1cd11728b29a8.jpg
http://tiebapic.baidu.com/tieba/pic/item/8326cffc1e178a82281910c4e103738da977e8a9.jpg
http://tiebapic.baidu.com/tieba/pic/item/0823dd54564e9258e210e98a8b82d158ccbf4ea9.jpg
http://tiebapic.baidu.com/tieba/pic/item/a2cc7cd98d1001e9331b7b6baf0e7bec54e797aa.jpg
http://tiebapic.baidu.com/tieba/pic/item/241f95cad1c8a786800c256a7009c93d70cf50ab.jpg
http://tiebapic.baidu.com/tieba/pic/item/63d0f703918fa0ecb6e10b69319759ee3d6ddbb4.jpg
http://tiebapic.baidu.com/tieba/pic/item/574e9258d109b3de3570370edbbf6c81810a4c8d.jpg
http://tiebapic.baidu.com/tieba/pic/item/71cf3bc79f3df8dc14f25cf7da11728b4610288d.jpg
http://tiebapic.baidu.com/tieba/pic/item/8694a4c27d1ed21bd806fd83ba6eddc450da3f8d.jpg
http://tiebapic.baidu.com/tieba/pic/item/5bafa40f4bfbfbed5d96e5196ff0f736aec31f8d.jpg
http://tiebapic.baidu.com/tieba/pic/item/2f738bd4b31c8701b7786180307f9e2f0608ff8e.jpg
http://tiebapic.baidu.com/tieba/pic/item/503d269759ee3d6d620854ad54166d224e4ade8e.jpg
http://tiebapic.baidu.com/tieba/pic/item/f7246b600c338744a60bfc1a460fd9f9d62aa08e.jpg
http://tiebapic.baidu.com/tieba/pic/item/b7003af33a87e95054d9200a07385343faf2b48e.jpg
http://tiebapic.baidu.com/tieba/pic/item/b17eca8065380cd7fdd0718bb644ad345882818e.jpg
http://tiebapic.baidu.com/tieba/pic/item/30adcbef76094b36d45cc88bb4cc7cd98c109d8e.jpg
http://tiebapic.baidu.com/tieba/pic/item/2fdda3cc7cd98d107c1adf57363fb80e7aec908e.jpg
http://tiebapic.baidu.com/tieba/pic/item/5d6034a85edf8db16ae0af021e23dd54574e748e.jpg
http://tiebapic.baidu.com/tieba/pic/item/314e251f95cad1c81b752f41683e6709c83d518e.jpg
http://tiebapic.baidu.com/tieba/pic/item/b812c8fcc3cec3fd32f07413c188d43f8694278e.jpg
http://tiebapic.baidu.com/tieba/pic/item/50da81cb39dbb6fd8c9536401e24ab18962b378e.jpg
http://tiebapic.baidu.com/tieba/pic/item/574e9258d109b3de3570370edbbf6c81810a4c8d.jpg
http://tiebapic.baidu.com/tieba/pic/item/71cf3bc79f3df8dc14f25cf7da11728b4610288d.jpg
http://tiebapic.baidu.com/tieba/pic/item/8694a4c27d1ed21bd806fd83ba6eddc450da3f8d.jpg
http://tiebapic.baidu.com/tieba/pic/item/5bafa40f4bfbfbed5d96e5196ff0f736aec31f8d.jpg
http://tiebapic.baidu.com/tieba/pic/item/2f738bd4b31c8701b7786180307f9e2f0608ff8e.jpg
http://tiebapic.baidu.com/tieba/pic/item/503d269759ee3d6d620854ad54166d224e4ade8e.jpg
http://tiebapic.baidu.com/tieba/pic/item/f7246b600c338744a60bfc1a460fd9f9d62aa08e.jpg
http://tiebapic.baidu.com/tieba/pic/item/b7003af33a87e95054d9200a07385343faf2b48e.jpg
http://tiebapic.baidu.com/tieba/pic/item/b17eca8065380cd7fdd0718bb644ad345882818e.jpg
http://tiebapic.baidu.com/tieba/pic/item/30adcbef76094b36d45cc88bb4cc7cd98c109d8e.jpg
http://tiebapic.baidu.com/tieba/pic/item/5d6034a85edf8db16ae0af021e23dd54574e748e.jpg
http://tiebapic.baidu.com/tieba/pic/item/314e251f95cad1c81b752f41683e6709c83d518e.jpg
http://tiebapic.baidu.com/tieba/pic/item/b812c8fcc3cec3fd32f07413c188d43f8694278e.jpg
http://tiebapic.baidu.com/tieba/pic/item/50da81cb39dbb6fd8c9536401e24ab18962b378e.jpg
http://tiebapic.baidu.com/tieba/pic/item/b7003af33a87e95054d9200a07385343faf2b48e.jpg
http://tiebapic.baidu.com/tieba/pic/item/b17eca8065380cd7fdd0718bb644ad345882818e.jpg
http://tiebapic.baidu.com/tieba/pic/item/30adcbef76094b36d45cc88bb4cc7cd98c109d8e.jpg
http://tiebapic.baidu.com/tieba/pic/item/574e9258d109b3de3570370edbbf6c81810a4c8d.jpg
http://tiebapic.baidu.com/tieba/pic/item/71cf3bc79f3df8dc14f25cf7da11728b4610288d.jpg
http://tiebapic.baidu.com/tieba/pic/item/8694a4c27d1ed21bd806fd83ba6eddc450da3f8d.jpg
http://tiebapic.baidu.com/tieba/pic/item/5bafa40f4bfbfbed5d96e5196ff0f736aec31f8d.jpg
http://tiebapic.baidu.com/tieba/pic/item/2f738bd4b31c8701b7786180307f9e2f0608ff8e.jpg
http://tiebapic.baidu.com/tieba/pic/item/503d269759ee3d6d620854ad54166d224e4ade8e.jpg
http://tiebapic.baidu.com/tieba/pic/item/f7246b600c338744a60bfc1a460fd9f9d62aa08e.jpg
http://tiebapic.baidu.com/tieba/pic/item/b7003af33a87e95054d9200a07385343faf2b48e.jpg
http://tiebapic.baidu.com/tieba/pic/item/b17eca8065380cd7fdd0718bb644ad345882818e.jpg
http://tiebapic.baidu.com/tieba/pic/item/30adcbef76094b36d45cc88bb4cc7cd98c109d8e.jpg
http://tiebapic.baidu.com/tieba/pic/item/2fdda3cc7cd98d107c1adf57363fb80e7aec908e.jpg
http://tiebapic.baidu.com/tieba/pic/item/5d6034a85edf8db16ae0af021e23dd54574e748e.jpg
http://tiebapic.baidu.com/tieba/pic/item/314e251f95cad1c81b752f41683e6709c83d518e.jpg
http://tiebapic.baidu.com/tieba/pic/item/b812c8fcc3cec3fd32f07413c188d43f8694278e.jpg
http://tiebapic.baidu.com/tieba/pic/item/50da81cb39dbb6fd8c9536401e24ab18962b378e.jpg