研究人员说,最近发现了Golang加密蠕虫的一个新变种在受害者机器上投放Monero挖掘恶意软件,在此次攻击的方式中,有效载荷文件能够将挖掘的效率提升15%。
根据Uptycs的研究,该蠕虫病毒扫描并利用了流行的基于Unix和Linux的网络服务器的各种已知漏洞,包括Oracle WebLogic服务器的CVE-2020-14882,以及一个被称为CVE-2017-11610的影响XML-RPC服务器的远程代码执行(RCE)漏洞。XML-RPC是WordPress提供的一个接口。
CVE-2020-14882是一个典型的路径遍历漏洞,该漏洞可以用于攻击网络逻辑服务器,而且攻击者试图通过改变URL和在/console/images上使用双重编码来绕过授权机制进行路径遍历。
研究人员补充说,CVE-2017-11610的漏洞同时在其中一个参数中包含了一个编码的有效载荷。
Golang加密攻击的杀伤链
研究人员指出,在初始漏洞利用之后,攻击者会先使用一个curl工具来下载蠕虫的shell脚本,并补充说该脚本使用了一些防御规避技术,如改变防火墙和禁用监控代理。
报告指出,该初始脚本随后会下载了第一阶段的蠕虫样本,该样本是用Golang(因此而得名)编译的,并进行了UPX打包。该蠕虫病毒使用go-bindata软件包,将现成的XMRig加密器嵌入到软件中。
一旦安装,该蠕虫就会下载另一个shell脚本,该脚本会下载同一个Golang蠕虫的副本。它会继续将自己的多个副本写入到各种敏感目录中,如/boot、/efi、/grub。
之后,它最终会将XMRig安装到/tmp位置,并使用一个base64编码的命令,从C2下载任何其他远程服务器上的shell脚本。
提高效率的挖矿技术
XMRig是一个著名的Monero加密货币的加密器,该蠕虫作为有效载荷已经使用了一段时间。然而,根据Uptycs周四发布的报告,在最新的攻击活动中,病毒文件已经被优化,提高了感染效率。
具体来说,各种恶意软件的变种会使用特定型号的寄存器(MSR)驱动程序来禁用硬件预取器。Unix和Linux服务器中的MSR具有调试、记录信息等功能。
Uptycs研究人员解释说:"硬件预取器是一种新的技术,处理器会根据内核过去的访问行为来预取数据,处理器(CPU)通过使用硬件预取器,将指令从主内存存储到二级缓存中。然而,在多核处理器上,使用硬件预取会造成功能受损,并导致系统性能整体下降"。
这种性能的下降对XMRig来说是个很大的问题,因为它需要利用机器的处理能力来进行赚取Monero币。
为了防止这种情况,Uptycs发现的加密二进制文件使用了MSR寄存器来切换某些CPU功能和计算机性能监控功能。研究人员解释说,通过操纵MSR寄存器,硬件预取器可以被禁用。
研究人员说:"根据XMRig的文档,禁用硬件预取器可将速度提高到15%"。
然而,研究人员警告说,这一功能会给企业带来更大的风险。根据分析,在挖矿的过程中,对MSR寄存器的修改可能会导致企业资源的性能出现下降。
从6月开始,Uptycs团队总共发现了七个类似的Golang蠕虫加密器的样本。
研究人员总结说:"随着比特币和其他几种加密货币的兴起和越来越高的估值,基于加密货币的攻击会继续在攻击威胁领域占据主导地位,蠕虫式的加密货币攻击具有很高的门槛,因为它们会写入多个副本,而且也会在企业网络的端点上进行传播。"
为了避免计算机被攻击,我们需要保持系统的更新和打补丁来预防这种特殊的攻击。