SophosLabs 公开了 Windows ActiveX Data Objects (ADO) UAF 漏洞(CVE-2019-0888)的 PoC(内附视...

栏目: ASP.NET · 发布时间: 4年前

几个月前,我们发现在Check Point端点安全VPN客户端中有一个 DACL权限覆盖漏洞 。此漏洞允许Windows系统上的任何用户将任何文件的权限设置为Authenticated Users安全组的完全控制,唯一的限制是系统用户需要访问编辑文件的权限,所以一些系统文件属于TrustedInstaller不能覆盖。TrustedInstaller是从Windows Vista开始出现的一个内置安全主体,在Windows中拥有修改系统文件权限,本身是一个服务,以一个账户组的形式出现。它的全名是:NT SERVICE\TrustedInstaller。

VPN客户端有两个对应的对象,一个作为SYSTEM运行的Windows服务和一个作为当前用户运行的用户域客户端。对于这个漏洞,除了重新启动它之外,我们实际上不需要与该服务交互。但是,通过研究用户客户端和服务之间的通信,这是一种有趣的自定义RPC协议类型。

虽然我们确实是独立发现了此漏洞,但并不是第一个向Check Point报告此漏洞的人, 修复版本 已经于2019年4月16日发布。

漏洞描述

启动“Check Point端点安全VPN”服务后,它会对C:\Windows\Internet日志下的所有文件的权限执行重置。它设置的权限是对经过身份验证的用户的完全控制,这意味着系统上的任何用户都有权写入、读取和修改这些文件。另外,它还可以完全控制Internet日志文件夹本身。不管Internet日志的内容如何,也不管文件夹中的所有文件的来源如何,都将执行此权限重置。

SophosLabs 公开了 Windows ActiveX Data Objects (ADO) UAF 漏洞(CVE-2019-0888)的 PoC(内附视...

Windows可以创建硬链接,简单地说硬链接(hard link, 也称链接)就是一个文件的一个或多个文件名。再说白点,所谓链接无非是把文件名和计算机文件系统使用的节点号链接起来。总之,硬链接就是让多个不在或者同在一个目录下的文件名,同时能够修改同一个文件,其中一个修改后,所有与其有硬链接的文件都一起修改了。因此我们可以用多个文件名与同一个文件进行链接,这些文件名可以在同一目录或不同目录。这意味着如果我们有一个指向文件的硬链接,并且我们在硬链接上设置了权限,那么这些权限在原始权限上也是相同的。但是,mklink的内置命令行 工具 要求创建硬链接的用户具有对“原始”文件的写入访问权。 Google的Project Zero的 James Forshaw 实际上发现这并不是一个多么复杂的要求,mklink使用Windows中的CreateHardlinkW API强制执行写入检查,如果用户具有写入访问权限,则调用NtSetInformationFile。但是如果我们直接使用NtSetInformationFile,则可以绕过这个写入访问过程。James Forshaw在他的文章中详细介绍了这个绕过过程,除非正在运行的应用程序是沙箱化的,否则它将在Windows中实现预期的功能。

这意味着从C:\Windows\Internet日志创建到SYSTEM具有编辑权限的任何文件的硬链接,会将这些权限重置为系统中的任何用户都可以覆盖它的状态,这可以导致攻击者提升正常用户帐户的权限。

PoC

首先,我们需要一个覆盖的文件,它可能会赋予我们更高的权限,查看任务调度程序的目的是查看作为SYSTEM运行的任务。

SophosLabs 公开了 Windows ActiveX Data Objects (ADO) UAF 漏洞(CVE-2019-0888)的 PoC(内附视...

Google Update计划任务是一个很好的目标,它以SYSTEM身份运行,在可预测的时间(在任何用户登录时)运行,可执行文件可由SYSTEM修改和写入。

SophosLabs 公开了 Windows ActiveX Data Objects (ADO) UAF 漏洞(CVE-2019-0888)的 PoC(内附视...

接下来,我们需要创建一个从C:\Windows\Internet日志到Google Update可执行文件的硬链接。FuzzySecurity的PowerShell-Suite有一个方便的PowerShell脚本,可以直接使用NtSetInformationFile创建硬链接和 Native-HardLink 。我们导入该脚本并创建指向Google Update可执行文件的硬链接。

SophosLabs 公开了 Windows ActiveX Data Objects (ADO) UAF 漏洞(CVE-2019-0888)的 PoC(内附视...

现在我们将看到可执行文件在这两个目录中镜像:

SophosLabs 公开了 Windows ActiveX Data Objects (ADO) UAF 漏洞(CVE-2019-0888)的 PoC(内附视...

接下来,由于标准用户帐户无法重新启动Check Point服务,因此我们需要重新启动计算机以重新启动服务。启动后,我们将看到GoogleUpdate.exe的文件权限已经更新,现在我们可以以正常用户的身份覆盖其内容。

SophosLabs 公开了 Windows ActiveX Data Objects (ADO) UAF 漏洞(CVE-2019-0888)的 PoC(内附视...

选择用一个反向 shell 替换可执行文件,注销然后再次登录,此时,我们将得到一个具有系统访问权限的shell。

SophosLabs 公开了 Windows ActiveX Data Objects (ADO) UAF 漏洞(CVE-2019-0888)的 PoC(内附视...

SophosLabs 公开了 Windows ActiveX Data Objects (ADO) UAF 漏洞(CVE-2019-0888)的 PoC(内附视...

如果你还不是很清楚,请点此观看。


以上所述就是小编给大家介绍的《SophosLabs 公开了 Windows ActiveX Data Objects (ADO) UAF 漏洞(CVE-2019-0888)的 PoC(内附视...》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

微信小程序入门指南

微信小程序入门指南

知晓程序 / 电子工业出版社 / 2017-6-1 / 49

《知晓程序:微信小程序入门指南》是一本分析小程序生态、解读小程序产品设计与开发的入门图书。全书共 9 章,全面讲解了小程序的基本知识、大家如何看待小程序、小程序对行业的影响、小程序对开发者的影响、小程序对用户的影响、开发小程序需要的准备工作等内容,并深入解读了小程序的官方文档。 读者在阅读《知晓程序:微信小程序入门指南》之后可以清楚小程序与订阅号、服务号的区别,了解小程序适用的场景,认识小程......一起来看看 《微信小程序入门指南》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

MD5 加密
MD5 加密

MD5 加密工具