Change 嘶吼专业版 

挖矿WatchBog新变种来袭,利用多款工具新漏洞_Python

挖矿WatchBog新变种来袭,利用多款工具新漏洞_Python_02本文要点

· Intezer安全团队于近日发现了一个新版本的WatchBog挖矿***,据推测从今年6月以来已累计破坏超过4,500台Linux机器。

· 此版WatchBog利用了数个新披露的漏洞,还添加了BlueKeep RDP协议漏洞扫描器模块,表明背后的***者正在收集易受***的系统列表,以便将来利用或出售给第三方牟利。

· 目前,所有安全供应商都未检测到此恶意软件。

· 在这篇文章中,我们为Windows和Linux用户提供了预防和响应建议,此外还提供了一个YARA签名,用于检测类似的威胁。

挖矿WatchBog新变种来袭,利用多款工具新漏洞_Python_02介绍

WatchBog于2018年11月出现在公众视野中,它利用已知的漏洞来破坏Linux服务器。阿里云对此曾做过记录。

WatchBog的上一份研究报告还停留在数月前,这段时间内,它又通过新的传播模块来升级注入程序,增加了对服务器的覆盖范围。而我们发现的此版WatchBog,还利用了数个近期公开的漏洞——包括Jira的CVE-2019-11581(就在漏洞公布后12天),Exim的CVE-2019-10149和Solr的CVE-2019-0192 ,同时还添加了一个BlueKeep扫描器。

BlueKeep,也称为CVE-2019-0708,是一个Windows内核漏洞,能让***者在脆弱的系统上获取RCE。从Windows 2000到Windows Server 2008,再到Windows 7,未补丁的Windows版本中均存在此漏洞。

目前还没有已知公开的PoC可用此漏洞来取得RCE,也没有在野外发现任何此类***。这个扫描器模块的出现表明***者正在收集系统列表,好用于未来的***之中,

Jira、Solr和BlueKeep的漏洞扫描模块都是在13天内添加的,说明WatchBog最近可能在加速新功能的整合,再次印证了“漏洞从曝光到被黑产的时间越来越短”。

挖矿WatchBog新变种来袭,利用多款工具新漏洞_Python_04

图1.VirusTotal检测结果

把样本上传到Intezer的分析系统后,可以看出,在对文件进行逆向工程之前就已经显示出与WatchBog大量代码重叠了。

挖矿WatchBog新变种来袭,利用多款工具新漏洞_Python_05图2.Intezer分析系统显示结果

在研究样本中的新增加的模块时,我们发现了它设计上的一个缺陷,允许我们进行“中间人”***、分析二进制文件。下面对该模块进行分析。

挖矿WatchBog新变种来袭,利用多款工具新漏洞_Python_06技术分析

感染过程与阿里云之前记录的类似:***者在接触目标后运行初始部署脚本,脚本通过crontab设置持久性,并从Pastebin下载加密货币挖矿机。

值得注意的是脚本的末尾部分:挖矿WatchBog新变种来袭,利用多款工具新漏洞_Python_07


以WatchBog的经典套路,脚本会先从Pastebin下载一个base64编码的payload,以此下载组件并执行:挖矿WatchBog新变种来袭,利用多款工具新漏洞_Python_08


但此版中下载的不是另一个挖矿机,而是新的spreader模块。

乍看之下,下载的是一个简单的动态链接ELF可执行文件,但开始分析后就会发现发现它实际上是一个Cython编译的可执行文件。挖矿WatchBog新变种来袭,利用多款工具新漏洞_Python_09


图3.Cython编译的二进制文件

关于Cython,有文章曾描述说:



挖矿WatchBog新变种来袭,利用多款工具新漏洞_Python_10Cython是一个优化的静态编译器,它能将.py模块转换成高性能的C文件。生成的C文件可以毫不费力地编译到本机二进制库中,且编译完成后,没有办法将编译库反转回可读的Python源代码!挖矿WatchBog新变种来袭,利用多款工具新漏洞_Python_11

但是,此编译后的二进制文件还是透露了原始Python模块的一些线索:挖矿WatchBog新变种来袭,利用多款工具新漏洞_Python_12


初始化过程

此二进制文件一开始会在/tmp/.gooobb处创建一个文件,在该文件中将其进程标识符(pid)写为恶意软件执行的足迹。当此文件存在时,后续启动spreader将失败。

然后从Pastebin中检索其C2服务器:挖矿WatchBog新变种来袭,利用多款工具新漏洞_Python_13


此二进制文件中,还硬编码了洋葱(.onion)C2服务器地址作备用。

我们可以根据对Pastebin链接的访问次数来估计受感染的受害者数量:挖矿WatchBog新变种来袭,利用多款工具新漏洞_Python_14挖矿WatchBog新变种来袭,利用多款工具新漏洞_Python_15

挖矿WatchBog新变种来袭,利用多款工具新漏洞_Python_16



如上所示,我们推算大约有4,500个端点受到感染。由于WatchBog在6月5日(这些链接在Pastebin的上传日期)之前也一直处于活动状态,实际感染数可能比这要多。

二进制文件将首先尝试连接到其中一个可用的静态C2服务器。

同时我们观察到,C2服务器的证书已过期。

通常,HTTPS客户端会检查与之交互的SSL证书,然而WatchBog并非如此。我们假设WatchBog客户端在使用HTTPS时没有验证证书,否则它将拒绝与C2通信。

这个漏洞允许我们用我们自己的证书设置一个透明的HTTPS代理,并发起一个“中间人”***来分析WatchBog SSL/TLS流量:

挖矿WatchBog新变种来袭,利用多款工具新漏洞_Python_17

二进制文件之后会为受害者生成唯一密钥,并在此密钥下向C2发送初始消息。下面的图像是一个SSL / TLS解密流量中请求和响应的payload示例:

挖矿WatchBog新变种来袭,利用多款工具新漏洞_Python_18

这些数据包被编码混淆过。在分析过程中,我们确定了使用的编码算法,并编写以下脚本解码payload:

final = ""

arr = input()

 

for a in arr:

  stri = "begin 666 \n{0}\n \nend\n".format(a) \

            .decode("uu").strip('\x00') \

            .decode("hex") \

            .decode("base64")

final += chr(int(stri))

print(final[::-1])

向C2发送的初始消息里,包含了受感染端的系统信息:挖矿WatchBog新变种来袭,利用多款工具新漏洞_Python_19


信息将被合并和散列,以构建CNC中托管的WatchBog API的路径。服务器回复“task”,让僵尸网络在目标列表上执行:

挖矿WatchBog新变种来袭,利用多款工具新漏洞_Python_20

BlueKeep扫描器

此版WatchBog似乎已经集成了一个RDP扫描程序,能找到含有BlueKeep漏洞的Windows机器。此扫描程序是来自Github zithosum0x0的扫描程序的Python端口,我们是根据函数名称的相似性进行评估的:挖矿WatchBog新变种来袭,利用多款工具新漏洞_Python_21


然后扫描器将从CNC提供的IP列表中查找RDP服务器:挖矿WatchBog新变种来袭,利用多款工具新漏洞_Python_22


图4.WatchBog扫描RDP端口

RDP的默认Windows服务端口是TCP 3389,可以根据“Cookie: mstshash=”在数据包中轻松识别。挖矿WatchBog新变种来袭,利用多款工具新漏洞_Python_23


我们可以观察到字符串'watchbog'作为了RDP mstshash字段的用户名。

在RDP扫描的IP列表中,我们发现一些IP地址属于澳大利亚沃达丰(一家跨国性的移动电话营办商)和腾讯的基础设施。

扫描结束之后,WatchBog客户端会返回一个易受***的IP地址列表,列表经过RC4加密,以十六进制字符串编码:挖矿WatchBog新变种来袭,利用多款工具新漏洞_Python_24


图5.加密的IP地址

说明WatchBog背后的参与者可能正在收集含有此BlueKeep漏洞的Windows端点列表,要么供将来使用,要么出售给第三方牟利。

传播

此版WatchBog利用了以下五个CVE漏洞:

· CVE-2019-11581 (Jira)

· CVE-2019-10149 (Exim)

· CVE-2019-0192 (Solr)

· CVE-2018-1000861 (Jenkins)

· CVE-2019-7238 (Nexus Repository Manager 3)

挖矿WatchBog新变种来袭,利用多款工具新漏洞_Python_25图6.可用的“pwn”模块

此外,还有两个用于bruteforce CouchDB和Redis实例的模块,以及实现RCE的代码。

所有“pwn”模块都允许***者实现远程代码执行。

一旦发现相应漏洞,二进制文件就会调用正确的漏洞利用,并安装托管在Pastebin上的恶意bash脚本来进一步传播。

我们能够找到上传到HybridAnalysis的spreader模块的早期测试版本,包含了Solr CVE-2019-0192,以及ActiveMQ CVE-2016-3088的利用代码,以及一个在破解的Redis实例上获得代码执行的模块。挖矿WatchBog新变种来袭,利用多款工具新漏洞_Python_26


图7.Solr漏洞利用代码

挖矿WatchBog新变种来袭,利用多款工具新漏洞_Python_27结论

研究最近的WatchBog我们发现,它仍在高速发展中,现阶段WatchBog是通过整合新公布漏洞和改进感染过程来保持先进性。

需要强调的是,如果Python恶意软件是与Cython等引擎一起部署本地的,那么对它的分析就会变得更加困难,这点与其他Python原生框架(如pyinstaller)有所差别。

另外,Linux僵尸网络与BlueKeep扫描器的整合也可能表明WatchBog正在不同的平台上探索勒索的机会。

挖矿WatchBog新变种来袭,利用多款工具新漏洞_Python_28预防和反应

建议您将相关软件更新到最新版本:

· Windows用户参考Microsoft的客户指南,以缓解BlueKeep漏洞。

· 使用Exim、Jira、Solr、Jenkins或Nexus Repository Manager 3的Linux用户更新到最新版本。

· 使用Redis或CouchDB的Linux用户确保没有在受信任网络之外公开的开放端口。

· 疑似感染了WatchBog的Linux用户检查是否存在“/tmp/.tmplassstgggzzzqpppppp12233333”文件或“/tmp/.gooobb”文件。

我们还根据WatchBog的恶意代码创建了一个自定义YARA规则。

挖矿WatchBog新变种来袭,利用多款工具新漏洞_Python_29IOCs

b17829d758e8689143456240ebd79b420f963722707246f5dc9b085a411f7b5e

26ebeac4492616baf977903bb8deb7803bd5a22d8a005f02398c188b0375dfa4

cdf11a1fa7e551fe6be1f170ba9dedee80401396adf7e39ccde5df635c1117a9

https://9d842cb6.ngrok[.]io

https://7dc5fb4e.ngrok[.]io

https://z5r6anrjbcasuikp.onion[.]to

https://pastebin[.]com/raw/Dj3JTtnj

https://pastebin[.]com/raw/p3mGdbpq

https://pastebin[.]com/raw/UeynzXEr

https://pastebin[.]com/raw/MMCFQMH9

3.14.212[.]173

3.14.202[.]129

3.17.202[.]129

3.19.3[.]150

18.188.14[.]65

挖矿WatchBog新变种来袭,利用多款工具新漏洞_Python_30