通常,勒索软件会攻击运行在Windows上的物理计算机和虚拟机,较少地会攻击macOS和Linux。不幸的是,网络犯罪分子继续开发新版本的勒索软件,可以通过新发现的漏洞感染其他操作系统。最近的一个例子是ESXi勒索软件攻击,利用ESXi漏洞攻击VMware虚拟化主机,导致全球各地组织遭受严重的停机时间。导致全球各地组织遭受严重的停机时间。
本博文解释了勒索软件攻击的危险性,勒索软件如何感染ESXi主机,以及如何防范勒索软件,包括ESXi Args 勒索软件。
ESXi 勒索软件攻击活动的开始
ESXi 勒索软件攻击的第一起案例发生在2022年10月,当时VMware终止了对ESXi 6.5和6.7的一般支持。法国、德国、美国、加拿大、英国和其他国家的ESXi主机遭到感染。到2023年2月,已有超过3,000台感染的ESXi主机上的数据被加密,无法恢复。攻击ESXi主机的勒索软件包括ESXiArgs、Royal和Cl0p。此外,还出现了新的ESXi勒索软件家族,如RansomEXX、Lockbit、BlackBasta、Cheerscrypt、Hive、RedAlert/N13V等。
ESXi 主机对攻击者具有吸引力,因为服务器虚拟化变得越来越流行,而且许多组织在其生产环境中使用虚拟机。因此,勒索软件创建者一直专注于发起 VMware ESXi 勒索软件攻击,希望从中获利颇丰。感染一台 ESXi 主机后,攻击者就可以加密/销毁驻留在该主机上的多台虚拟机的数据。这种方法可能比感染运行不同操作系统的虚拟机更有效。ESXi Args 勒索软件攻击是非 Windows 服务器遭受的最大勒索软件攻击之一。
哪些 ESXi 版本容易受到 ESXi 勒索软件的攻击?
ESXi 勒索软件利用不同的漏洞,包括 CVE-2022-31699、CVE-2021-21995、CVE-2021-21974、CVE-2020-3992 和 CVE-2019-5544。
ESXi Args 勒索软件使用 CVE-2021-21974 感染 ESXi 主机。此漏洞是 2021 年发现的,可能发生在尚未修补/未更新的 ESXi 主机上。这是在 ESXi 上运行的 OpenSLP 服务中的堆栈溢出漏洞。CVE-2021-21974 的补丁已于 2021 年 2 月 21 日发布。
以下 ESXi 版本容易受到 CVE-2021-21974 的攻击:
- ESXi 7.x 早于 ESXi70U1c-17325551
- ESXi 6.7.x 早于 ESXi670-202102401-SG
- ESXi 6.5.x 早于 ESXi650-202102101-SG
为什么有这么多未打补丁的服务器,为什么它们可以从互联网访问?打补丁需要ESXi服务器停机,而且有大量主机,一些管理员可能没有资源或时间及时打补丁。此外,在ESXi Args勒索软件攻击之前,ESXi的漏洞并未被广泛利用。这造成了未打补丁的ESXi服务器不构成威胁的错觉,服务器被缓慢打补丁。
托管提供商公司运行的ESXi服务器也受到ESXi Args勒索软件的感染。托管提供商为客户提供基础设施,客户安装ESXi hypervisors来运行虚拟机。这些ESXi服务器被客户暴露在互联网上,允许攻击者访问。攻击者希望受害者支付大约23,000美元的比特币。
ESXi勒索软件是如何工作的?
网络犯罪分子找到易受攻击的ESXi主机,特别是那些暴露在互联网上的主机。已经验证了利用OpenSLP漏洞的入侵方法,可能是CVE-2021-21974。端口427(TCP/UDP)用于OpenSLP。日志显示了在这个入侵过程中涉及到的dcui用户。这个ESXi勒索软件漏洞允许攻击者远程利用任意代码。
加密过程利用了恶意软件部署的公钥,位于/tmp/public.pem。具体来说,这个加密过程针对虚拟机文件,包括文件类型如“.vmdk”,“.vmx”,“.vmxf”,“.vmsd”,“.vmsn”,“.vswp”,“.vmss”,“.nvram”,以及扩展名为“.vmem”的文件。请注意,“.vmdk”文件是一个虚拟磁盘描述符文件,“-flat.vmdk”是一个包含虚拟机数据的虚拟磁盘文件。ESXi Args勒索软件为每个加密文件创建一个“. args”文件,其中包含元数据(可能,勒索软件的创建者认为“. args”文件可能需要用于解密)。
以下是详细的顺序:
- 当服务器被入侵时,以下文件被放置在/tmp目录中:
- encrypt代表ELF格式的可执行加密器。
- encrypt.sh作为攻击的操作逻辑。这是一个shell脚本,在运行加密器之前执行各种操作,如下所述。
- public.pem是用于加密负责文件加密的密钥的公共RSA密钥。
- motd是一个文本形式的勒索通知,复制到/etc/motd,确保登录时显示。服务器上的原始文件将被保留为/etc/motd1。
- index.html是勒索通知的HTML版本,旨在替换VMware ESXi的主页。初始服务器文件应备份为“index1.html”在同一目录中。
- 加密器通过一个shell脚本启动,该脚本使用一系列命令行参数调用它。这些参数包括公共RSA密钥文件、用于加密的目标文件、要保持不变的数据部分、加密块大小和整个文件大小。
用法:encrypt
[ ] [ ] [ ] 其中:
- enc_step是加密文件时要跳过的MB数
- enc_size是加密块中的MB数
- file_size是文件大小(对于稀疏文件)的字节数
- 通过 encrypt.sh shell 脚本启动该加密程序,该脚本作为攻击的基本逻辑。启动后,脚本执行以下操作,简要解释如下。
- ESXi 勒索软件脚本执行命令以修改 ESXi 虚拟机(.vmx)的配置文件,将“.vmdk”和“.vswp”的出现分别替换为“1.vmdk”和“1.vswp”。
- 随后,勒索软件脚本通过发出“kill -9”命令强制终止所有当前活动的虚拟机,以停止包含单词“vmx”的进程。
- 勒索软件尝试通过终止 VMX 进程关闭虚拟机以释放被锁定的文件并修改它们。然而,该功能并不总是按预期执行,导致一些文件仍然被锁定。在修改 VM 文件后,VM 变得无法使用。
- 脚本继续使用以下命令检索 ESXi 卷的列表:
esxcli storage filesystem list | grep "/vmfs/volumes/" | awk -F' ' '{print $2}
使用此命令,勒索软件扫描这些卷以查找具有特定文件扩展名的文件。
- 对于每个发现的文件,脚本会在同一目录中生成一个相应的[file_name].args文件。这个.args文件包含计算的参数,包括一个步骤(通常为’1’)和文件大小。例如,如果文件是“VM01.vmx”,则会创建一个关联的“VM01.vmx.args”文件。恶意软件生成一个“argsfile”来存储传递给加密二进制文件的参数,其中包括要跳过的兆字节数、加密块的大小和文件大小。
- 然后,脚本使用“encrypt”可执行文件根据计算的参数加密文件。
- 加密后,脚本会用前述勒索说明替换ESXi的“index.html”文件和服务器的“motd”文件。
没有证据表明数据被外部传输(数据外泄)。在某些情况下,文件的加密可能仅部分成功,使受害者有可能恢复一些数据。
当感染和数据修改/加密成功完成时,类似以下内容的勒索软件提示会显示在一个HTML页面上:
“安全警报!我们成功入侵了您的公司。
…
3天内汇款,否则我们将公开一些数据并提高价格。”
- 随后,脚本执行清理任务,包括日志删除以及位于/store/packages/vmtools.py的Python后门的移除。它还从某些文件中删除特定行:
- /bin/hostd-probe.sh
- /var/spool/cron/crontabs/root
- /etc/rc.local.d/local.sh
- /etc/vmware/rhttpproxy/endpoints.conf
发出了一个重要通知,敦促管理员检查ESXi主机上是否存在“vmtools.py”文件。如果找到,建议立即移除。
- 最后,脚本执行“/sbin/auto-backup.sh”以更新“/bootbank/state.tgz”文件中保存的配置,并激活SSH。
此外,已经明确了除了ESXiArgs之外,此漏洞以及ESXi中的其他漏洞被勒索软件组织积极利用。
注意: VMware ESXi勒索软件的行为可能会随着勒索软件的更新版本和新的勒索软件发布而改变。
如何在ESXi Args勒索软件后恢复数据
在加密机制中没有漏洞可以让您解密加密的文件。然而,美国网络安全和基础设施安全局(CISA)创建了一个脚本,可以帮助恢复虚拟机。好消息是虚拟机文件,包括虚拟磁盘描述符(.vmdk),都是加密的,但是-flat.vmdk文件(存储虚拟机数据的地方)不是。这使得虚拟机恢复成为可能。
CISA推出了一个恢复脚本,旨在帮助受ESXi Args勒索软件影响的组织。这种勒索软件专门针对ESXi服务器,加密其配置文件,可能使虚拟机(VMs)无法运行。尽管该工具是与VMware合作开发的,但VMware并不直接支持它。如果客户在使用此工具时遇到任何问题,请鼓励他们在GitHub上报告问题,网址为:https://github.com/cisagov/ESXiArgs-Recover/issues。
CISA致力于及时解决和解决问题。有关使用该脚本的更多详细信息,请参阅此链接。
您还可以下载带有说明的PDF文档。
如果您发现ESXi主机可能感染了ESXi勒索软件,请考虑采取以下措施:
- 将受感染的ESXi主机从网络中断开。
- 不要支付赎金。支付赎金会奖励网络犯罪分子,并激励他们制造更多勒索软件以获取更多金钱。如果您支付赎金,无法保证被VMware ESXi勒索软件破坏的文件能够恢复。
- 报告勒索软件攻击。报告勒索软件非常重要,因为它能够实现快速响应、法律合规、数据保护、信任、威胁缓解以及集体防御网络攻击。报告勒索软件攻击是网络安全事件管理的基本组成部分。它不仅帮助个别组织从攻击中恢复,还为整个数字生态系统的安全和韧性做出贡献。
- 检查是否有适用于当前版本勒索软件的恢复或解密工具。
- 如果没有解密工具,从备份中恢复数据(您必须在勒索软件攻击之前创建备份才能使用此方法)。有时,从备份中恢复虚拟机可能更有效。考虑进行ESXi的全新安装,并将恢复的虚拟机复制到该全新的ESXi主机上,以确保放置恢复虚拟机的宿主机上没有勒索软件感染的痕迹。
如何保护ESXi免受勒索软件攻击
遵循以下建议以保护ESXi免受勒索软件攻击:
- 修补您的ESXi主机,这些主机存在如CVE-2021-21974、CVE-2022-31699、CVE-2021-21995、CVE-2020-3992和CVE-2019-5544等漏洞。如果您的ESXi版本不再受支持,请考虑升级到受支持的主要版本。如果您无法更新ESXi,禁用OpenSLP(服务定位协议)服务在ESXi上。禁用受影响的ESXi版本中存在漏洞的服务也有帮助。
- 定期安装安全补丁(更新)在ESXi主机上,以保护其免受最新威胁。
- 不要将ESXi主机暴露在互联网上。如果工作流程需要工作人员和合作伙伴能够从互联网访问ESXi主机,请配置VPN服务器和防火墙。配置防火墙,只允许来自受信任IP地址的访问。在这种情况下,通过VPN连接到网络以访问ESXi主机是安全的。
- 如果不需要SSH访问,请禁用SSH访问或设置超时。
- 禁用SMB v1.0和其他旧版本的协议,尤其是如果没有使用它们。
- 对网络进行网络分段,包括ESXi管理网络。
- 使用至少8个字符的强密码,包括小写、大写、数字和特殊字符。
- 安装并配置基础设施监控以监控网络流量和服务器负载。监控允许您及时检测到可疑或恶意活动。
- 教育用户关于勒索软件防护,并确保用户知道如果他们怀疑发生了勒索软件攻击或攻击尝试该怎么做。
- 配置反恶意软件电子邮件保护,因为通过电子邮件发送恶意链接或文件是感染计算机勒索软件的一种流行方法。禁用电子邮件消息中的活动超链接。
- 在用户的计算机和服务器上安装防病毒软件。定期更新防病毒软件的病毒库。
- 定期备份虚拟机,并使用3-2-1备份策略。不要忘记拥有一个不可变备份或空气间隙备份,以确保在勒索软件攻击的情况下备份不受影响。拥有ESXi备份和vCenter备份可以在恢复数据和负载时节省时间。
- 准备一个事件响应计划,让每个人都知道在ESXi勒索软件攻击的情况下该做什么。
- 创建一个灾难恢复计划,以确保您可以在不同场景中恢复数据和恢复负载。备份测试和灾难恢复测试很重要。
结论
ESXi 勒索软件可能会造成严重破坏,因为即使只有一个 ESXi 主机被感染,您也可能丢失许多虚拟机。数据备份是避免勒索软件攻击导致数据丢失的最有效策略。遵循本博客文章中提到的如何保护 ESXi 免受勒索软件侵害的建议。使用 NAKIVO Backup & Replication 来备份位于 VMware ESXi 主机上的虚拟机到不可变存储库中。这样,您可以使用这些抗勒索软件的备份来快速恢复完整的虚拟机或应用程序数据。