找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

3721

积分

0

好友

519

主题
发表于 6 天前 | 查看: 23| 回复: 0

近日,一起针对VMware ESXi虚拟化平台的复杂攻击事件曝光。攻击者通过精心串联多个漏洞,以六个关键步骤成功实现虚拟机逃逸,并最终完全控制了宿主ESXi服务器。此次攻击再次凸显了虚拟化环境安全隔离面临的严峻挑战。

整个攻击链利用了三个已被分配的CVE漏洞,详情如下:

CVE编号 CVSS评分 漏洞描述
CVE-2025-22226 7.1 HGFS越界读取导致VMX内存泄露
CVE-2025-22224 9.3 任意写入漏洞导致从VMX沙箱逃逸至内核
CVE-2025-22225 8.2 任意写入漏洞导致从VMX沙箱逃逸至内核

以下是攻击者实施虚拟机逃逸,最终获取ESXi主机完全控制权的六个详细步骤。

第一步:禁用VMware原生驱动

攻击始于攻击者上传并执行一个名为 exploit.exe 的主控程序。其核心目的是通过禁用VMware的特定驱动程序,获取与虚拟机硬件的直接、无干扰的通信通道。

攻击流程始于执行上传的exploit.exe(主程序),接着运行devcon.exe工具,最终成功禁用关键的vmci.sys驱动。结果是攻击者获得了与VMware硬件直接通信的能力,不再受到原有驱动的干扰。

第二步:加载漏洞驱动(BYOVD)

在清除了原生驱动的障碍后,攻击者利用“自带易受攻击驱动程序”技术,将一个名为 MyDriver.sys 的未签名恶意驱动程序加载到Windows虚拟机内核中运行。

具体步骤是,使用BYOVD工具kdu.exe,将未签名的漏洞驱动MyDriver.sys加载到Windows内核。这为攻击者提供了在虚拟机内部的内核级权限,是后续攻击得以深入的关键跳板。

第三步:泄露VMX内存地址

此时,攻击者已在内核中立足。接下来,他们利用CVE-2025-22226(HGFS越界读取漏洞)来精确探测宿主机上VMX进程的内存布局。

攻击者从虚拟机内部发起一个HGFS拖放请求,其中嵌入了精心构造的约50KB的有效载荷。当宿主机侧的VMX进程处理此请求时,触发了越界读取漏洞,意外泄露了一个内存指针(例如0x7ff...)。攻击者控制的MyDriver.sys驱动程序成功捕获了这一地址。至此,攻击者已精确掌握了VMX进程在宿主机内存中的位置。

第四步:向VMX内存写入Shellcode

在掌握了VMX的内存地址后,攻击者利用CVE-2025-22224/22225等任意写入漏洞,将恶意代码植入VMX进程空间。

攻击者通过MyDriver.sys向已定位的VMX内存区域写入包含Shellcode和ELF后门的恶意载荷,完成Shellcode注入。同时,他们还覆盖了VMX内存中的关键函数指针,使其指向刚刚写入的Shellcode起始地址。结果是,VMX内存中不仅包含了攻击者的恶意代码,其执行流也已被篡改,为接下来的逃逸做好了准备。

第五步:实现虚拟机逃逸

当VMX进程后续执行到被篡改的函数指针时,就会跳转并执行攻击者植入的Shellcode。这意味着,原本局限在Windows虚拟机内部的代码,现在在更高权限的宿主机VMX进程上下文中运行。

关键突破点在于,代码执行成功从Windows虚拟机内部转移到了ESXi主机上的VMX进程中。这标志着虚拟机隔离边界已被正式突破,实现了“逃逸”。

第六步:安装VSOCkPuppet持久化后门

逃逸并非终点。攻击者利用获得的代码执行能力,在ESXi主机内核中部署一个名为“VSOCkPuppet”的高级后门,以建立持久、隐蔽的控制通道。VSOCK是一种专为虚拟机和宿主机之间设计的高速通信机制。

整个安装流程极为复杂,环环相扣:

  1. 触发执行:MyDriver.sys发送VMCI请求,触发VMX中的回调函数,由于指针已被篡改,最终执行了之前植入的Shellcode 1。
  2. 逃离沙箱:Shellcode 1通过系统调用查询内核对象,获取vmkernel的基地址,从而帮助后续代码完全脱离VMX的沙箱限制。
  3. 内核级操作:更强大的Shellcode 2在拥有完整ESXi控制权的内核上下文中运行。
  4. 部署后门:Shellcode 2将VSOCkPuppet后门文件写入宿主机文件系统(如 /var/run/a)。
  5. 劫持服务:Shellcode 2修改 inetd.conf 配置文件,劫持端口21(FTP),然后向inetd服务发送SIGHUP信号使其重新加载配置。
  6. 建立通道:攻击者从虚拟机侧连接到ESXi宿主机的端口21,这将启动VSOCkPuppet。
  7. 隐蔽通信:VSOCkPuppet启动后,通过VSOCK通道(例如地址2:10000)与攻击者控制的客户端(如client.exe插件)建立通信。

最终结果,攻击者获得了对ESXi主机的完全控制权,并能通过隐秘的VSOCK通道进行远程访问,传统网络监控手段难以察觉。

据分析,此次攻击所使用的工具包具有广泛的适配性,可适配涵盖ESXi 5.1至8.0版本的155个系统版本,威胁范围极大。

参考资料

[1] 六步实施虚拟机逃逸,拿下VMware ESXi虚拟化管理程序完全控制权,微信公众号:mp.weixin.qq.com/s/gF6ZNMxeO4_e1vC83PVMIA

版权声明:本文由 云栈社区 整理发布,版权归原作者所有。




上一篇:OpenAI收购OpenClaw创始人,加速布局下一代多智能体时代
下一篇:Linux内核2025年十大技术深度解析:内存、调度与零拷贝革新
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-2-23 10:27 , Processed in 0.527704 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表