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

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

几个月前,我们发现在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(内附视...》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

Lighttpd

Lighttpd

Andre Bogus / Packt Publishing / 2008-10 / 39.99

This is your fast guide to getting started and getting inside the Lighttpd web server. Written from a developer's perspective, this book helps you understand Lighttpd, and get it set up as securely an......一起来看看 《Lighttpd》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

SHA 加密
SHA 加密

SHA 加密工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换