管理员、托管服务提供商和法国计算机紧急响应小组 (CERT-FR) 警告说,攻击者积极针对 VMware ESXi 服务器针对一个已有两年之久的远程代码执行漏洞未打补丁,以部署新的 ESXiArgs 勒索软件。
该安全漏洞编号为 CVE-2021-21974,由 OpenSLP 服务中的堆溢出问题引起,未经身份验证的威胁参与者可以利用该问题进行低复杂度攻击。
根据目前的调查,这些攻击活动似乎正在利用 CVE-2021-21974 漏洞,自 2021 年 2 月 23 日以来已经提供了补丁。
当前针对的系统将是 6.x 版和 6.7 之前的 ESXi 管理程序。
为了阻止传入的攻击,管理员必须在尚未更新的 ESXi 管理程序上禁用易受攻击的服务定位协议 (SLP) 服务。
CERT-FR 强烈建议尽快应用补丁,但补充说,还应扫描未打补丁的系统以寻找受损迹象。
CVE-2021-21974 影响以下系统:
ESXi70U1c-17325551 之前的 ESXi 版本 7.x
ESXi670-202102401-SG 之前的 ESXi 版本 6.7.x
ESXi650-202102101-SG 之前的 ESXi 版本 6.5.x
法国云提供商 OVHcloud 今天也发布了一份报告,将这一针对 VMware ESXi 服务器的大规模攻击浪潮与内华达勒索软件行动联系起来。
根据生态系统专家和当局的说法,它们可能与 Nevada 勒索软件有关,并使用 CVE-2021-21974 作为危害媒介。仍在进行调查以确认这些假设。”
攻击主要针对 7.0 U3i 之前版本的 ESXi 服务器,显然是通过 OpenSLP 端口 (427)。
根据Shodan 搜索,全球至少有 120 台 VMware ESXi 服务器已在此勒索软件活动中遭到破坏。
然而,从这次攻击中看到的赎金记录来看,它们似乎与 Nevada 勒索软件无关,似乎来自一个新的勒索软件家族。
勒索软件在受感染的 ESXi 服务器上使用 .vmxf、.vmx、.vmdk、.vmsd 和 .nvram 扩展名加密文件,并为每个包含元数据(可能需要解密)的加密文档创建一个.args文件。
虽然这次攻击背后的威胁行为者声称窃取了数据,但一名受害者报告说,他们的事件并非如此。
管理员称:我们的调查确定数据没有被渗透。在我们的案例中,被攻击的机器有超过 500 GB 的数据,但典型的每日使用量仅为 2 Mbps。我们审查了过去 90 天的流量统计数据,没有发现出站数据的证据转移。
受害者还在锁定的系统上发现了名为“ransom.html”和“How to Restore Your Files.html”的赎金票据。其他人说他们的笔记是明文文件。
ESXiArgs 赎金票据
ID Ransomware 的 Michael Gillespie 目前正在追踪名为“ ESXiArgs ”的勒索软件,在找到样本之前,无法确定它是否存在任何加密弱点。
ESXiArgs 技术细节
昨晚,管理员检索了 ESXiArgs 加密器和相关 shell 脚本的副本,并分享了它。
分析脚本和加密器使我们能够更好地理解这些攻击是如何进行的。
当服务器被破坏时,以下文件存储在 /tmp 文件夹中:
encrypt - 加密器 ELF 可执行文件。
encrypt.sh - 作为攻击逻辑的 shell 脚本,在执行加密器之前执行各种任务,如下所述。
public.pem - 用于加密加密文件的密钥的公共 RSA 密钥。
motd - 文本形式的赎金票据,将被复制到 /etc/motd,以便在登录时显示。服务器的原始文件将被复制到 /etc/motd1。
index.html - HTML 格式的赎金票据,将取代 VMware ESXi 的主页。服务器的原始文件将被复制到同一文件夹中的 index1.html。
ID Ransomware 的 Michael Gillespie 分析了加密器并告诉我们不幸的是,加密是安全的,这意味着没有密码学漏洞允许解密。
它期望的 public.pem 是一个公共 RSA 密钥;我的猜测是基于查看加密文件的 RSA-2048,但代码在技术上接受任何有效的 PEM。
对于要加密的文件,它使用OpenSSL的安全CPRNG RAND_pseudo_bytes生成 32 个字节,然后使用此密钥使用安全流密码 Sosemanuk 加密文件。
文件密钥使用RSA(OpenSSL 的 RSA_public_encrypt)加密,并附加到文件的结尾。
Sosemanuk 算法的使用相当独特,通常只用于从 Babuk(ESXi 变体)源代码派生的勒索软件。情况可能是这样,但他们修改它以使用 RSA 而不是 Babuk 的 Curve25519 实现。
该分析表明 ESXiArgs 可能基于泄露的 Babuk 源代码,该源代码之前已被其他 ESXi 勒索软件活动使用,例如 CheersCrypt 和 Quantum/Dagon 组的 PrideLocker 加密器。
虽然 ESXiArgs 和 Cheerscrypt 的赎金票据非常相似,但加密方法不同,因此不清楚这是新变种还是共享 Babuk 代码库。
此外,这似乎与 OVHcloud 先前提到的 Nevada 勒索软件无关。
加密器由一个 shell 脚本文件执行,该脚本文件使用各种命令行参数启动它,包括公共 RSA 密钥文件、要加密的文件、不会加密的数据块、加密块的大小和文件尺寸。
该加密器是使用 encrypt.sh shell 脚本启动的,该脚本充当攻击背后的逻辑,我们将在下面对其进行简要描述。
启动时,脚本将执行以下命令来修改 ESXi 虚拟机的配置文件 (.vmx),以便将字符串“ .vmdk” 和“ .vswp” 更改为“ 1.vmdk” 和“ 1.vswp ”。
修改VMX文件
然后,该脚本以类似于此VMware 支持文章的方式强制终止 (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 文件。
然后,该脚本将使用“加密”可执行文件根据计算出的参数加密文件,如下面的屏幕截图所示。
创建.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.sh
清理各种 Linux 配置文件和潜在后门
这种清理和对 /store/packages/vmtools.py 的提及与瞻博网络 在 2022 年 12 月看到的 ESXi 服务器的自定义 Python 后门非常相似 。
所有管理员都应该检查此 vmtools.py 文件是否存在,以确保它已被删除。如果找到,应立即删除该文件。
最后,脚本执行 /sbin/auto-backup.sh 更新保存在 /bootbank/state.tgz 文件中的配置并启动 SSH。