360 Vulcan Team再现经典虚拟机逃逸漏洞
2020-08-15
日前,第八届互联网安全大会ISC 2020线上拉开帷幕,作为全球首场网络安全万人云峰会,在“数字孪生时代下的新安全”主题下,8月13日上线的漏洞管理与研究论坛,成为技术日最火爆的论坛之一。
众所周知,素有网络“军火”之称的漏洞,一直是网络安全圈的焦点。此次论坛上,360 Vulcan Team漏洞挖掘与利用高级专家虚拟化安全研究员肖伟就通过一篇题为《Qemu-kvm和ESXi虚拟机逃逸实例分享》的演讲,向与会嘉宾及一众技术爱好者分享了东半球白帽团队的独家挖“洞”锦囊。
分享Qemu-kvm漏洞实例时,肖伟介绍称,首先Qemu作为一款开源的虚拟化软件,是通过代码模拟网卡、显卡、声卡等硬件设备的常用软件,而qemu-kvm指的是虚拟机服务。该漏洞,是360 VulcanTeam于2019天府杯中,用时13秒即刻破解的经典0day漏洞。
肖伟强调,该漏洞一旦被成功利用,可以实现越界读、越界写、相对偏移越界写等操作,最终在宿主机中执行任意代码,造成较为严重的信息泄露。早在2019年天府杯中,360 VulcanTeam就是利用该0day漏洞完成破解,用时13秒实现虚拟机逃逸,率先锁定天府杯冠军宝座。
现场分享Qemu-kvm漏洞实例时后,肖伟在演讲中继续介绍了ESXi虚拟机逃逸实例。众所周知,ESXi是Vmware Vsphere产品的hypervisor组件。相比于前文提到的Qemu,ESXi是一个直接安装在裸机上,类似linux的系统,。通常情况下,ESXi里面默认运行着web、slpd等多个服务。
肖伟表示,Slpd服务是Open SLP(Service Location Protocol)协议的具体实现,默认在427端口监听,在虚拟机里可以访问到。而要分享的这个漏洞cve-2019-5544就在Slpd服务里面。该漏洞一旦被成功利用,即可实现任意地址写任意数据的情况发生。
具体来看,通过发起多个tcp连接,并且保持连接不关闭可以实现堆喷。随后利用堆风水溢出一个SLPBuffer结构体,改写它的 start和curpos字段,下一次使用该结构体的时候可以实现任意地址写入任意数据,并最终泄露栈地址和控制rip。
网络安全进入新常态的大背景下,网络漏洞不仅是避不开的“新型军火”,更酝酿着“高危漏洞+网络武器”成为未来攻击的新标配的潜在趋势。ISC作为网络安全风向标级的行业盛会,创办至今一直高度聚焦漏洞研究,而漏洞管理与研究论坛的创立,就是立足技术高度为行业专家学者打造的交流空间。