内容简介:俄罗斯安全研究人员公布了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系统访问外部网络。
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漏洞详情和利用公布》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- Java RMI漏洞利用
- Firefox漏洞利用研究(一)
- phpcms网站漏洞修复之远程代码写入缓存漏洞利用
- 2018最新PHP漏洞利用技巧
- LearnX控件漏洞挖掘与利用
- Nday 漏洞从挖掘到利用
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
JS 压缩/解压工具
在线压缩/解压 JS 代码
随机密码生成器
多种字符组合密码