零补丁的Windows零日获取新的公开利用代码

早在6月,Microsoft就针对Windows操作系统中的漏洞发布了修复程序,使攻击者能够将其权限增加到受感染计算机上的内核级别。补丁没有粘住。

该漏洞在5月份被零日黑客利用,但是仍然可以利用,但是可以通过另一种方法加以利用,因为安全研究人员通过公开可用的概念验证代码进行了演示。

旧的新漏洞

Google Project零安全研究员Maddie Stone发现,微软在6月份发布的补丁无法修复原始漏洞(CVE-2020-0986),并且仍可以通过一些调整加以利用。

在2020年5,问题是在野外利用权限提升在Internet Explorer中允许远程执行代码中的bug一起。卡巴斯基(Kaspersky)发现攻击时,这两个漏洞都是零日漏洞。

Stone说,攻击者仍可以通过发送偏移量而不是指针来触发CVE-2020-0986来提高其对内核级别的权限。

在Twitter上,研究人员阐明出来说,原来的错误是任意的指针引用,允许攻击者控制“源”和“目标”指向一个memcpy函数。

Microsoft的补丁程序是不正确的,因为它将指针更改为偏移量,因此仍可以控制该函数的参数。

在今天的简短技术报告中,她解释了如何触发漏洞(现已标识为CVE-2020-17008):

A low integrity process can send LPC messages to splwow64.exe (Medium integrity) and gain a write-what-where primitive in splwow64’s memory space. The attacker controls the destination, the contents that are copied, and the number of bytes copied through a memcpy call. The offset for the destination pointer calculation is only constrained to be:

Offset <= 0x7FFFFFFF
Offset + perceived size of structure <= 0x7FFFFFFF

Splwow64 passes the LPC message to GdiPrinterThunk. The vulnerable memcpy is in message 0x6D.

为了证明在微软补丁之后仍然可以利用,Stone发布了概念验证(PoC)代码,该代码改编自卡巴斯基的原始代码,以及有关如何正确运行它的说明。

研究人员补充说,PoC所做的操作两次触发了漏洞:“首先泄漏存储消息的堆地址,并添加偏移量以生成指针,然后在哪里进行写操作。”

Microsoft在9月24日收到报告,并在一天后确认此问题,并为其分配了跟踪号CVE-2020-17008。该公司计划在2020年11月发布一个补丁,但在测试阶段发现的问题将该版本推迟到2021年1月12日(星期二)发布。

Google Project Zero的漏洞披露政策为90天,如果需要更多时间进行修复,则延长14天。正如Microsoft通知的那样,补丁程序在1月6日之前将不可用,两个截止日期都无法满足。

此外,正如Stone所说,攻击者过去已经利用过该漏洞,对此很熟悉,可以在获得不正确的修复程序时再次利用它。

*编译:Domino

*来自:bleepingcomputer