COMpfun继任者Reductor可以修改TLS流量

来源:岁月联盟 编辑:猪蛋儿 时间:2020-01-29

2019年4月,研究人员发现一款入侵加密web通信流量的恶意软件。通过分析该恶意软件,研究人员发现恶意软件的运营者可以对目标的网络信道有一定的控制,并可以用受感染的安装器来替换合法的安装器。
因为一些样本中有残留的.pdb路径,因此研究人员将这些模块命名为Reductor。除了典型的RAT功能如上传、下载和执行文件, Reductor的作者还再Reductor中加入了操作数字证书的功能,并可以用唯一的与host相关的id来标记出TLS流量。
Kaspersky研究人员发现该恶意软件样本与COMPfun木马代码有很高相似性。进一步研究后,研究人员认为该恶意软件也是COMPfun作者开发的。
如何在不接触流量的情况下标记TLS握手
恶意软件在data section到目标主机之间添加了数字证书,允许运营者通过命名的管道来远程添加额外的证书。恶意软件开发者所用的方法非常巧妙,开发者分析了Firefox的源码和chrome的二进制代码来修复进程内存的伪随机数生成函数。
浏览器用伪随机数生成器PRNG在TLS握手的开始为网络包生成client random序列。然后为受害者在client random域添加加密的唯一的基于软件和硬件的id。为了修复系统的PRNG函数,开发者使用了有个潜入的Intel指令长度反汇编程序。


Reductor开发者分析Firefox和Chrome代码
感染
为了区分所有TLS流量的握手,攻击者首先有解密client hello域。也就是说攻击者需要访问目标的流量。Reductor恶意软件本世没有进行中间人攻击。研究人员发现受感染的下载器是来从HTTPS warez站点下载的,但文件是通过未加密的HTTP下载的。这就使在下载过程替换文件成为可能。研究人员发现一些样本的配置数据中含有非常流行的合法网站。研究人员并不认为这些网站已经被黑成为控制服务器了。
由于安装器的下载站点目前已经无法下载了,因此研究人员怀疑下载器是在下载的网站上被感染的。但最近的样本确认了原始的安装器并没有被感染,因此研究人员确信Reductor运营者对目标网络信道有一定的控制,可以在传输过程中用受感染的恶意安装器来替换原始安装器。
Reductor特征
下面是研究人员总结的一些攻击活动的特征:

攻击者一共使用了2种方法来传播Reductor。
在第一个攻击场景中,攻击者使用了含有 32位和64位Reductor的受感染的软件安装器。这些安装器可能是下载管理器、office激活器等应用。
在第二个攻击场景中,目标已经感染了COMpfun木马,该木马使用COM CLSID来实现驻留。在进入浏览器的地址空间后,木马可以从C2接受命令来下载额外的模块。因此,目标的浏览器就下载了Reductor定制的释放器解密器。
TLS client random中的系统指纹哈希
Reductor在TLS包中加入了victim id(受害者id)。前4个字节的哈希值是用Reductor的数字证书构建的。每个哈希的初始值都是X509的版本号。然后是序列号与前4个字节异或的结果。运营者知道每个受害者的值,因为是用他们的数字证书来构建的。
第二个4字节的哈希值(hwid_hash)是根据目标硬件特性生成的,包括SMBIOS日期和版本、Video BIOS日期和版本,以及硬件驱动ID。运营者也知道每个受害者的值,因为该值将用于C2通信。生成的定制的16字节结构是用来欺骗原始的PRNG生成的值的,如下所示:

后3个域是用第一个4个字节(初始PRN XOR key来加密的)。在每一轮中,XOR key会随着MUL 0x48C27395 MOD 0x7FFFFFFF算法来变化。因此,生成的字节是伪随机的,但是其中有加密的唯一host ID。
更多技术细节参见:https://securelist.com/compfun-successor-reductor/93633/
安装的数字证书
Reductor样本的.data section中有DER编码的root X509V3证书来加入到目标主机中。恶意软件还可以通过命名通道来获取其他证书。


Reductor恶意软件中解码的X 509v3证书
C2通信
所有的C2通信都是在单独的恶意软件线程中处理的。Reductor会发送HTTP POST青岛到配置文件中C2列表中的 /query.php脚本中。POST请求中含有目标的AES128加密的唯一硬件ID。C2会返回以下加密的命令:

结论
研究人员怀疑 Turla是该恶意软件攻击背后的运营者。Reductor以一种不用分析网络包的方式标记了主机中加密的TLS流量,这是之前的恶意软件中没有遇到过的。该攻击活动的受害者分布与之前的Turla组织攻击活动的受害者分布是一致的。
研究人员在分析的样本中并没有发现中间人攻击的功能。但Reductor可以安装数字证书,并标记目标的TLS流量。使用受感染的安装器来进行初始感染。但下载安装器的原始网站并没有被感染,因此研究人员认为攻击者是对流量进行了操作和修改。