据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 ] 的后门,并从以下文件中删除多行 :
复制/var/spool/cron/crontabs/root/bin/hostd-probe.sh/etc/vmware/rhttpproxy/endpoints.conf/etc/rc.local.d/local.sh1.2.3.4.
清理各种 Linux 配置文件和潜在后门
这种清理和对 /store/packages/vmtools.py的应用与瞻博网络(juniper)在 2022 年 12 月观察到的 ESXi 服务器的自定义 Python 后门非常相似 。为此所有服务器管理员都应该检查此 vmtools.py 文件是否存在,以确保它已被删除。