TSCookie恶意软件分析

 

一、前言

2018年1月17日左右,社交媒体出现了关于恶意邮件攻击的一些报道,涉及日本各行各业,比如教育、文化、体育、科学以及技术部门。邮件中包含指向“TSCookie”恶意软件的URL地址(趋势科技将这个恶意软件标记为“PLEAD”。由于PLEAD也是某个攻击组织的名称,因此我们在本文中将这款恶意软件标记为TSCookie)。TSCookie最早的活跃期可以追溯到2015年,研究人员怀疑“BlackTech”这个攻击组织与此次攻击活动有关。JPCERT/CC证实,使用这款恶意软件的攻击组织之前已经发起过针对日本各种组织的攻击活动。本文介绍了我们对TSCookie的分析结果。

 

二、TSCookie概述

TSCookie的执行流程如图1所示。

图1. TSCookie概述

TSCookie本身只充当了下载器(downloader)功能,从C&C服务器上下载其他模块后,恶意软件就能拓展自己的功能。我们所分析的这个样本会下载一个DLL文件,这个DLL文件具备各种功能,其中就包括渗透功能(下文简称为“TSCookieRAT”)。恶意软件只会在内存中执行已下载的模块。

下文中我们会详细介绍TSCookie以及TSCookieRAT的具体行为。

 

三、TSCookie行为分析

TSCookie使用HTTP协议与C&C服务器进行通信,也会下载一个“模块”以及用来加载模块的一个“加载器”。恶意软件在资源区中嵌入了一个加密的DLL文件。当恶意软件执行时,就会将该DLL文件加载到内存中并加以执行。DLL文件会执行一些主要函数,比如与C&C服务器通信(某些情况下,主要函数并没有经过加密处理,会直接存放在恶意软件中。此外,还有一些样本会启动另一个进程,注入加密过的DLL文件)。恶意软件中包含一些配置信息(比如C&C服务器信息),这些信息经过RC4算法加密处理。大家可以参考附录A了解这些配置的详细信息。

TSCookie刚开始时会发送一个HTTP GET请求,如下所示。发出去的消息经过编码处理,嵌入在头部中的Cookie字段。

GET /Default.aspx HTTP/1.1
Cache-Control: no-cache
Connection: Keep-Alive
Date: Thu, 18 Jan 2018 10:20:55 GMT
Pragma: no-cache
Accept: */*
Cookie: 1405D7CD01C6978E54E86DA9525E1395C4DD2F276DD28EABCC3F6201ADAA66F55C15352D29D0FFE51BC9D431EB23E8E58959653D9366E372B5CFCC49BB
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Win32)
Host:[host name]:443

Cookie字段中包含的信息也经过RC4加密处理过(加密密钥为头部中的Date字段值)。大家可以参考附录B表B-1了解数据格式。

HTTP GET请求所获取的数据经过RC4加密处理,加密密钥为一个8字节值,由配置信息中的固定值(参考附录A表A-1)以及发送数据中的某个值(根据系统信息生成的4字节值,参考附录B表B-1)所组成。这段数据中包括用于模块加载的加载器。

随后TSCookie会下载一个模块。下载模块的HTTP POST请求如下所示。

POST /Default.aspx HTTP/1.1
Connection: Keep-Alive
Date: Thu, 18 Jan 2018 10:30:55 GMT
Content-Type: application/x-www-form-urlencoded
Accept: */*
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Win32)
Content-Length: 34
Host: [host name]:443

[data]

发送的数据也经过RC4加密处理(加密密钥为头部中的Date字段值)。大家可以参考附录B表B-2了解数据格式。HTTP POST请求所收到的数据同样经过RC4加密处理,所使用的密钥值与HTTP GET请求中的密钥值一样。恶意软件会将下载的模块加载到内存中,然后调用HTTP GET请求所获取的加载器来执行这个模块。

 

四、TSCookieRAT行为分析

TSCookie在加载TSCookieRAT时会附带一些参数,比如C&C服务器信息等。在执行时,TSCookieRAT会通过HTTP POST请求将被感染主机的信息发送给外部服务器(HTTP头部格式与TSCookie的一样)。

这些数据从最开头到0x14处都经过RC4加密处理(加密密钥为头部中的Date字段值),后面跟的是被感染主机的信息(主机名、用户名、操作系统版本等)。大家可以参考附录C表C-1了解数据格式。

发送的数据如图2所示。

图2. 发送的部分数据(已解码)。在被感染的主机上发送信息。

随后,TSCookieRAT会发送一个HTTP GET请求(HTTP头部载荷格式与TSCookie一样)。通过这个请求,TSCookieRAT可以从C&C服务器那接收命令,所执行的功能如下所示(参考附录C表C-2了解接收到的数据,参考附录D表D-1了解服务器返回的命令列表)。

1、执行任意shell命令

2、发送磁盘驱动器信息

3、发送系统信息

4、文件操作

5、收集IE、Edge、Firefox、Chrome以及Outlook的密码

命令执行的结果会发送给服务器,所使用的格式与第一个HTTP POST请求一样(即发送被感染主机信息时所使用的请求)。C&C服务器所发送的命令并没有经过编码处理。恶意软件可以执行命令列出进程以及模块信息,发送的数据如下所示:

图3. 发送的部分数据(已解码):0x930命令的执行结果

 

五、TSCookie解码工具

JPCERT/CC提供了一款工具,可以解码并提取TSCookie的配置信息。大家可以访问Github获取这款工具。

图4. 运行tscookie_decode.py时的输出信息

 

六、总结

使用TSCookie的攻击组织一直在针对日本组织发起攻击,也用到了各种类型的恶意软件。由于这个攻击组织很有可能会继续活跃一段时间,JPCERT/CC会继续谨慎观察相关攻击趋势。

附录E列出了本文所分析样本的哈希值,附录F中也列出了与TSCookie相关的一些目标主机信息。请仔细检查确保您的设备没有与这些主机通信。

如有任何疑问,请联系global-cc@jpcert.or.jp

 

七、附录

附录A:TSCookie配置信息

表A:配置信息表


附录B:TSCookie发送及接收的数据

表B-1:Cookie头部中包含的数据格式

(*)与固定值(0x925A765D)组成RC4加密密钥

表B-2:HTTP POST数据包中包含的数据格式

附录C:TSCookieRAT发送及接收的数据

表C-1:HTTP POST数据中包含的数据格式
注:使用Date字段为密钥进行RC4加密的数据范围为0至0x14处

表C-2:收到的数据格式

附录D:TSCookieRAT所使用的命令

表D-1:命令列表

附录E:样本的SHA-256值

TSCookie

6d2f5675630d0dae65a796ac624fb90f42f35fbe5dec2ec8f4adce5ebfaabf75
cdf0e4c415eb55bccb43a650e330348b63bc3cbb53f71a215c44ede939b4b830
17f1996ad7e602bd2a7e9524d7d70ee8588dac51469b08017df9aaaca09d8dd9
1fa7cbe57eedea0ebc8eb37b91e7536c07be7da7775a6c01e5b14489387b9ca8
e451a1e05c0cc363a185a98819cd2af421ac87154702bf72007ecc0134c7f417
1da9b4a84041b8c72dad9626db822486ce47b9a3ab6b36c41b0637cd1f6444d6
35f966187098ac42684361b2a93b0cee5e2762a0d1e13b8d366a18bccf4f5a91
0683437aebd980c395a83e837a6056df1a21e137e875f234d1ed9f9a91dfdc7f
0debbcc297cb8f9b81c8c217e748122243562357297b63749c3847af3b7fd646
96306202b0c4495cf93e805e9185ea6f2626650d6132a98a8f097f8c6a424a33
6b66c6d8859dfe06c0415be4df2bd836561d5a6eabce98ddd2ee54e89e37fd44
06a9c71342eeb14b7e8871f77524e8acc7b86670411b854fa7f6f57c918ffd2b
20f7f367f9cb8beca7ce1ba980fafa870863245f27fea48b971859a8cb47eb09
f16befd79b7f8ffdaf934ef337a91a5f1dc6da54c4b2bee5fe7a0eb38e8af39e
12b0f1337bda78f8a7963d2744668854d81e1f1b64790b74d486281bc54e6647
201bf3cd2a723d6c728d18a9e41ff038549eac8406f453c5197a1a7b45998673
5443ee54a532846da3182630e2bb031f54825025700bcd5f0e34802e7345c7b2
39d7d764405b9c613dff6da4909d9bc46620beee7a7913c4666acf9e76a171e4
afe780ba2af6c86babf2d0270156da61f556c493259d4ca54c67665c17b02023
4a8237f9ecdad3b51ffd00d769e23f61f1e791f998d1959ad9b61d53ea306c09
203c924cd274d052e8e95246d31bd168f3d8a0700a774c98eff882c8b8399a2f

TSCookieRAT

2bd13d63797864a70b775bd1994016f5052dc8fd1fd83ce1c13234b5d304330d

附录F:与TSCookie有关的目标主机

220.130.216.76
60.244.52.29
45.76.102.145
jpcerts.jpcertinfo.com
jpcert.ignorelist.com
twnicsi.ignorelist.com
twcertcc.jumpingcrab.com
okinawas.ssl443.org
apk36501.flnet.org
appinfo.fairuse.org
carcolors.effers.com
edu.microsoftmse.com
eoffice.etowns.org
epayplus.flnet.org
fatgirls.fatdiary.org
gethappy.effers.com
iawntsilk.dnset.com
inewdays.csproject.org
ktyguxs.dnset.com
lang.suroot.com
langlang.dnset.com
longdays.csproject.org
lookatinfo.dnset.com
newtowns.flnet.org
ntp.ukrootns1.com
office.dns04.com
savecars.dnset.com
splashed.effers.com
sslmaker.ssl443.org
(完)