黑客怎么挣钱:2019年Pwn2Own上用于攻破 VMware 的虚拟机逃逸缝隙剖析

访客5年前黑客资讯1071

黑客怎么挣钱:2019年Pwn2Own上用于攻破 VMware 的虚拟机逃逸缝隙剖析

在本年的温哥华Pwn2Own竞赛期间,Fluoroacetate团队展现了他们经过运用VMware Workstation从客户机虚拟机逃逸到物理机。他们运用虚拟USB 1.1 UHCI(通用主机操控器接口)中的越界读/写缝隙来到达此意图。
Fluoroacetate 经过此缝隙赢得了Pwn2Own温哥华的Pwn Smrter大奖,总奖金为340,000美元,还得到了一个全新的Tesla Model 3。他们为VMware编写了两个缝隙运用程序,都是针对通用主机操控器接口(UHCI)的。之一个是根据堆的溢出,另一个是一个条件竞赛缝隙。这两个缝隙都需求guest虚拟机操作系统上的Admin权限才干运用成功。
在这篇剖析中,我将介绍根据堆的缓冲区溢出缝隙,这是我最喜欢的Pwn2Own缝隙之一。
缝隙描述
在处理发送到批量端点的特定UHCI央求时存在一个堆溢出缝隙,这些端点首要用于传输很多数据,这个缝隙也可用于触发一个越界写。
首要,当端点接纳到用于处理的帧时,它会从相 应的帧中提取传输描述符(TD),查看是否存在URB政策。假设不存在政策,则经过名为“NewUrb”的函数分配新的URB政策。
URB政策简述:英特尔UHCI标准说到的URB政策是USB中的一个央求块,研讨发现,从NewUrb函数回来的政策是一个环绕有用标准USB央求块(URB)的包装器结构。查看TD的类型以及缓冲区巨细后,假设TD类型是0xE1(USB_PID_O批改hosts后用浏览器拜访,可是没有回显,发现用curl能够UT),那么TD缓冲区被仿制到从中回来的政策内的缓冲区NewUrb函数。假设TD政策的类型不是0xE1,则它会传递缓冲区指针(在代码中引用purb_data_cursor)。

触发缝隙并不难,只需创立一个TD政策,在token特点中设置正确的长度以及0x1E/USB_PID_OUT类型就能够触发。
能够参看下面的PoC代码:

WinDbg附加的溃散成果显现,现已操控了程序流程:

上面的溃散现场是一个根据堆的缓冲区溢出缝隙。可是cx LK 2019-03-15 0 99999 7 -1 (更改其时运用的认证方案。),假设想要到达越界写,那么有必要创立更多不同类型的TD,这关于运用此缝隙至关重要。之后再创立另一个类型为USB_PID_OUT的TD政策来触发写入。
缝隙剖析
为了答应VMware客户计算机拜访USB设备,VMware会装置guest虚拟机中指定的内核设备驱动程序uhci_hcd,“hcd”代表“主机操控器驱动程序”。此驱动程序答应guest虚拟机与主机端的主机操控器接口(HCI)进行通讯,主机端是主机用于与物理USB端口通讯的硬件接口。经过向USB设备界说的各种端点发送或接纳USB央求块(URB)分组来完结通讯。USB设备的每个端点用于接纳来自主机(OUT)的数据包,或许将数据包发送到主机(IN)。经过将特制的OUT数据包发送到称为批量端点的特定端点来触发此缝隙。
由uhci_hcd驱动程序处理的数据包由uhci_td(传输描述符)结构在内存中表明如下:

该token字段包括不行见的某些位对齐子字段,更低的8位表明“分组ID”,它界说了分组的类型。前10位是一个名为MaxLen的长度字段。
要触发此缝隙,guest虚拟机有必要发送精心结构的TD结构,将Packet ID设置为OUT(0xE1)。此外,由MaxLen子字段指示的TD的缓冲区长度有必要大于0x40字节才干溢出堆上的政策。经过将windbg附加到vmware-vmx.exe并触发缝隙,会收到以下缝隙溃散场景:

回溯调用仓库显现了一系列处理

相关文章

苹果手机弹窗bug是怎么回事 苹果手机弹窗bug如何解决

10月9日信息,昨天夜间多名iPhone移动用户表明,在其应用手机上期内,数次出現了弹出窗口“bug”,造成 应用的情况下一直不断弹出来,十分心烦。那麼实际是什么原因呢?下边我产生详细介绍。 iPh...

iPhone黑客高手(黑客入侵iphone)

iPhone黑客高手(黑客入侵iphone)

本文导读目录: 1、高手请进,,急急iphone手机有没有一个软件可以看到别人iphone手机里的所以东西啊? 2、iphone4国行第一次越狱,按照提示操作,然后提示“please wait w...

黑客谈黑产(黑客赚钱的黑色产业)

黑客谈黑产(黑客赚钱的黑色产业)

本文导读目录: 1、你觉得什么是真正的黑客? 2、什么是黑客 3、揭秘黑客如何通过虚拟世界生财 4、什么是黑客,黑客的起源 5、黑产价值是什么意思? 你觉得什么是真正的黑客? 黑客是...

QQ黑客交流群在哪找,黑客手册官方网站

一、QQ交流群在哪怎么找黑客 1、接单黑客通过知识或猜测来修改和改变程序的人往往是好的。QQ交流群在哪贷款大全黑客永远不应该被愚蠢的重复工作所困扰,因为当这种情况发生时,这意味着他们并不是唯一能做的事...

木马编程代码大全(简单的木马程序代码)

木马编程代码大全(简单的木马程序代码)

本文目录一览: 1、最简单的木马 源代码以及解释 2、网页木马代码大全 3、c语言木马源代码 4、用JAVA编写的木马程序源代码 最简单的木马 源代码以及解释 一个完整的木马系统由硬件部...

特朗普入住医院外现“泰民孙娜恩可疑背包” 附近地区被封

  中新网10月4日电 综合外媒4日报道,美国总统特朗普正在位于美国马里兰州的沃尔特·里德军事医院接受新冠治疗。军事医院外,特朗普的支持者举行集会期间,人们在街上发现了一个“可疑背包”。目前,附近地区...