据BleepingComputer 2月3日消息,法国计算机紧急响应小组(CERT-FR) 近日发出警告,攻击者正通过一个远程代码执行漏洞,对全球多地未打补丁的 VMware ESXi 服务器部署新型ESXiArgs 勒索软件。
据悉,该漏洞编号为CVE-2021-21974,由 OpenSLP 服务中的堆溢出问题引起,未经身份验证的攻击者可以此进行低复杂度攻击。该漏洞主要影响6.x 版和 6.7 版本之前的 ESXi 管理程序,2021年2月23日 ,VMware曾发布补丁修复了该漏洞。对于还未打补丁的服务器,须在管理程序上禁用易受攻击的服务定位协议 (SLP) 服务。
新型ESXiArgs 勒索软件
对此轮攻击的研究,重点并不在于围绕这个已揭露两年的漏洞,而在于新型勒索软件ESXiArgs的出现。根据Shodan 搜索,全球至少有 120 台 VMware ESXi 服务器已在此勒索软件活动中遭到破坏。
BleepingComputer 发现,勒索软件在受感染的 ESXi 服务器上使用 .vmxf、.vmx、.vmdk、.vmsd 和 .nvram 扩展名加密文件,并为每个包含元数据(可能需要解密)的加密文档创建了一个.args文件。虽然攻击者声称窃取了数据,但有受害者反馈,通过对有超过500GB数据的服务器的流量分析,被攻击期间使用量仅为 2 Mbps。在审查了过去 90 天的流量统计数据后,没有发现出站数据的证据转移,因而认为数据没有被渗透。
有受害者还在锁定的系统上发现了名为“ransom.html”和“How to Restore Your Files.html”的赎金票据。其他受害者则反馈他们的票据是明文文件。
ESXiArgs 赎金票据
技术细节
研究人员在BleepingComputer论坛分享了在检索 ESXiArgs 加密器和相关 shell 脚本副本后的发现,当服务器被破坏时,会在 /tmp 文件夹中存储如下文件:
- encrypt- 加密器 ELF 可执行文件。
- encrypt.sh- 作为攻击逻辑的 shell 脚本,在执行加密器之前执行各种任务。
- public.pem- 用来加密文件的RSA公钥。
- motd- 文本形式的赎金票据,将被复制到 /etc/motd,以便在登录时显示。服务器的原始文件将被复制到 /etc/motd1。
- index.html- HTML 格式的赎金票据,将取代 VMware ESXi 的主页。服务器的原始文件将被复制到同一文件夹中的 index1.html。
在分析了加密器后,研究人员没能从中发现可破解的密码学漏洞。加密器使用OpenSSL的安全CPRNG RAND_pseudo_bytes生成32个字节的密钥,并使用安全流密码Sosemanuk加密文件。文件密钥用RSA(OpenSSL的RSA_public_encrypt)进行加密,并附加到文件的末尾。Sosemanuk 算法的使用相当独特,通常只用于从 Babuk(ESXi 变体)源代码派生的勒索软件。
此分析表明 ESXiArgs 可能采用了泄露的Babuk 源代码,该源代码之前已被其他 ESXi 勒索软件活动使用,例如 CheersCrypt 和 Quantum/Dagon 的 PrideLocker 加密器。
加密器由一个 Shell 脚本文件执行,该脚本文件使用各种命令行参数启动,包括公共 RSA 密钥文件、要加密的文件、不会加密的数据块、加密块的大小和文件尺寸。加密器使用 encrypt.sh shell 脚本启动,该脚本充当攻击背后的逻辑。启动时,脚本将执行以下命令来修改 ESXi 虚拟机的配置文件 (.vmx),以便将字符串“ .vmdk” 和“ .vswp” 更改为“ 1.vmdk” 和“ 1.vswp ”。
修改VMX文件
接下来,该脚本将强制结束 (kill -9) 所有包含字符串“ vmx ”的进程,从而终止所有正在运行的虚拟机。随后将使用“esxcli storage filesystem list | grep "/vmfs/volumes/" | awk -F' ' '{print $2}”命令获取 ESXi卷列表,搜索与.vmdk、.vmx、.vmxf、.vmsd、.vmsn、.vswp、.vmss、.nvram、.vmem扩展名匹配的文件。每找到一个文件,脚本将在同一文件夹中创建一个 [file_name].args 文件,其中包含计算出的大小步长、“1”和文件大小,例如,server.vmx 将有一个关联的 server.vmx.args 文件。之后,脚本将使用'encrypt'可执行文件,根据计算出的参数对文件进行加密。
创建.args文件和加密文件的例程
加密后,脚本将用赎金票据替换 ESXi index.html 文件和服务器的 motd 文件。最后,该脚本将删除似乎安装到/store/packages/vmtools.py[ VirusTotal ] 的后门,并从以下文件中删除多行:
清理各种 Linux 配置文件和潜在后门
这种清理和对 /store/packages/vmtools.py的应用与瞻博网络(juniper)在 2022 年 12 月观察到的 ESXi 服务器的自定义 Python 后门非常相似 。为此所有服务器管理员都应该检查此 vmtools.py 文件是否存在,以确保它已被删除。