VirtualBox 0 day漏洞详情和利用公布

栏目: 服务器 · 发布时间: 6年前

内容简介:俄罗斯安全研究人员公布了VirtualBox 0 day漏洞的详情,并解释了如何一步步的利用该bug。该漏洞位于虚拟化软件的共享代码基中,在所有支持的操作系统中都存在。攻击者利用该漏洞可以从guest机器的虚拟环境中逃逸出来,到达最小权限的Ring 3权限层,该层用于大多数的用户程序运行代码。研究人员Sergey Zelenyuk发现该漏洞可以在Intel PRO/1000 MT Desktop (82540EM)网络适配器上配置了NAT模式的虚拟机上被利用,默认设置允许guest系统访问外部网络。

俄罗斯安全研究人员公布了VirtualBox 0 day漏洞的详情,并解释了如何一步步的利用该bug。

该漏洞位于虚拟化软件的共享代码基中,在所有支持的操作系统中都存在。攻击者利用该漏洞可以从guest机器的虚拟环境中逃逸出来,到达最小权限的Ring 3权限层,该层用于大多数的用户程序运行代码。

将一个溢出变成另一个

研究人员Sergey Zelenyuk发现该漏洞可以在Intel PRO/1000 MT Desktop (82540EM)网络适配器上配置了NAT模式的虚拟机上被利用,默认设置允许guest系统访问外部网络。

VirtualBox 0 day漏洞详情和利用公布

Intel PRO/1000 MT Desktop (82540EM)存在漏洞,攻击者可以在guset中以root/administrator权限逃逸到host ring3。然后攻击者可以用已有的技术通过/dev/vborxdrv提升权限到ring 0, 具体见技术writeup

想要了解漏洞工作原理最重要的就是理解上下文描述器在数据描述器前是如何被处理的。下面是漏洞的详细情况,即如何触发必要的条件来获取缓冲区溢出,以此跳出虚拟操作系统的限制:

·首先,用packet descriptors来触发整数下溢条件,数据分段允许网络适配器记录系统内存中的包数据。

· 然后,该状态被用于从guest操作系统读取数据到堆缓冲区中,引发溢出条件导致覆写函数指针,或引发栈溢出条件。

100%可靠的利用

漏洞利用依赖两个溢出条件。因为提供到Ring 3级的访问权限,因此如果要控制整个主机操作系统必须进行权限提升。

虽然这是不可能的,但攻击者同时利用了另一个漏洞,可以达到权限提升的目的。

缓冲区溢出一般来说并不稳定,大多数情况下会导致目标系统奔溃。但Zelenyuk称他的漏洞利用是100%可靠的。他在Ubuntu 16.04和18.04,32位和64位操作系统上以默认配置进行了测试,测试结果表明漏洞利用可以运行在guest操作系统上,并在主机操作系统上执行shell, demo视频

研究人员Zelnyuk称在通知开发者之前就选择公布0 day漏洞的原因是Oracle过去修复漏洞的速度非常慢。

技术writeup参见: https://github.com/MorteNoir1/virtualbox_e1000_0day


以上所述就是小编给大家介绍的《VirtualBox 0 day漏洞详情和利用公布》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

驯服烂代码

驯服烂代码

伍斌 / 机械工业出版社 / 2014-11 / 69.00

Kent Beck、Martin Fowler、Michael C. Feathers、Robert C. Martin、Joshua Kerievsky、Gerard Meszaros等大师们的传世著作为如何提升编程技艺和代码质量提供了思想和原则上的指导,本书则为实践和融合这些思想、原则提供了过程和方法上指导。本书通过编程操练的方式讲述了如何用TDD(测试驱动开发)的方法来驯服烂代码,通过结对编......一起来看看 《驯服烂代码》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

随机密码生成器
随机密码生成器

多种字符组合密码