新的虚拟机漏洞面世,利用这个漏洞,可以让你分分钟突破虚拟机限制而获取到同一服务器中其他服务器的访问权限!然后利用其他服务器的信息,进而就可以继续深入渗透,直到最终的数据中心!
所有使用 KVM 还有 Xen 虚拟平台的用户以及 QEMU 用户都受到这个漏洞的影响,由于这个漏洞位于 QEMU 软驱控制器上,也就是说不论是 Linux、osx还是 Windows,只要是运行在同一个服务器上,都会中招!
CrowdStrike 是国外的一家安全机构,他们最早发现了这个漏洞。
根据他们的介绍页面(见页尾)说暂时还没有在互联网上看到有人利用了这个漏洞——但我在国内的一个 vps 所在机房就遇到了诡异的整个机房被用来 DDOS 的情况,现在看起来八成就是这个漏洞。
原理
这个漏洞来自 QEMU 的虚拟软盘控制器,而这个代码又被很多知名虚拟平台引用……所以你懂的,使用了 QEMU 的都跑不掉,比如 Xen,比如 KVM,当然,还有 QEMU 自己。总之,这软盘东西虽然说现在的年轻人可能都不一定见过它了,而且电脑上也不再提供这个东西——但你在创建一个虚拟机的时候这东西还是会被默认的加载到系统中。而且,对于Xen 和 QEMU,就算你手动禁用了软驱,但有漏洞的代码还是能被攻击者利用。
虚拟机中的操作系统通过发送查询、读取、写入、格式化等命令来访问软盘控制器(FDC)。对于FDC的输入输出端口,QEMU的虚拟 FDC 使用一个固定大小的缓冲来储存这些命令以及相关数据参数。FDC 来持续监控每一个命令预计多少数据,在所有命令预计需要的数据都被虚拟机收到之后,FDC 执行命令并且清空缓存等待下一条指令。
缓存在 FDC 执行完所有命令之后就会被立即重置,除了两条被定义的命令。攻击者可以从虚拟机上发送这些命令以及经过精心修改的数据参数给 FDC,让它溢出数据缓存并且在服务器环境的进程当中执行任意代码。
范围
除了使用 QEMU 的虚拟机和平台之外,比如说 VMware, Microsoft Hyper-V等这一类没有使用 QEMU 的平台并不会受到这个漏洞的影响。
功能
由于有漏洞的代码位于虚拟硬件控制器上,所以只要是支持软驱的操作系统都跑不掉:Windows、Linux、osx 全都会被提权,记住,是直接获取 root/administrator 权限!
补丁
目前比较知名的服务商都已经放出补丁或者文档:
这和其他虚拟机穿透漏洞有什么区别吗?
有区别,这里 CrowdStrike 列举出了一些其他虚拟机穿透漏洞:
- CVE-2007-1744 – Directory traversal vulnerability in shared folders feature
- CVE-2008-0923 – Path traversal vulnerability in VMware’s shared folders implementation
- CVE-2009-1244 – Cloudburst (VMware virtual video adapter vulnerability)
- CVE-2011-1751 – Missing hotplug check during device removal
- CVE-2012-0217 – 64-bit PV guest privilege escalation vulnerability
- CVE-2014-0983 – Oracle VirtualBox 3D acceleration multiple memory corruption vulnerabilities