Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2020-0753-and-CVE-2020-0754 — CVE-2020-0753、CVE-2020-0754 以及六个未修复的 Window DOS 漏洞的 Writeup 和 POC。 | Kitploit
工具/GitHubGitHub/vikasvarshney/cve-2020-0753-and-cve-2020-0754
权限提升漏洞分析漏洞利用论文与研究学习与教育二进制利用
GitHubvikasvarshney/cve-2020-0753-and-cve-2020-0754

CVE-2020-0753-and-CVE-2020-0754

CVE-2020-0753、CVE-2020-0754 以及六个未修复的 Window DOS 漏洞的 Writeup 和 POC。

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
查看仓库
61026年前尚未审核

CVE-2020-0753、CVE-2020-0754 的 Writeup 和 PoC,以及六个未修复的 Windows DOS 漏洞

利用文件系统竞争条件漏洞——CVE-2020-0753 和 CVE-2020-0754 分析

Windows 错误报告服务在最近的安全更新中修复了两个权限提升漏洞,分别标记为 CVE-2020-0753 和 CVE-2020-0754。这两个漏洞都利用了该服务文件系统操作中的竞争条件。但由于竞争窗口较小且文件落点不确定,这两个漏洞并不容易利用。我们在这里分享利用它们的技巧。

我们报告中给出了这两个竞争缺陷的根本原因,实际原因可以概括为 可预测即意味着脆弱。当 WER 服务处理临时文件时,它操作的文件位置是 C:\ProgramData\Microsoft\Windows\WER\Temp,这是一个对经过身份验证的用户具有读写权限的目录。这意味着中等完整性级别的普通用户可以覆盖 WER 服务创建的文件,甚至将其转换为文件系统链接,从而损坏或删除原本无法触及的文件。

为了保证文件操作安全,WER 服务依赖于一个名为 GetTempFileNameW 的标准 API,并通过 wersvc.dll->UtilGetTempFile 对其进行了封装。该 API 帮助 WerSvc 以 "WER****.tmp" 的形式生成不重复的随机文件名。

文件名的随机部分由一个 4 字节的十六进制数生成,范围从 0000 到 FFFF。如果某个数字已被用于创建文件,API 会选取另一个随机文件名。

这种策略显然存在缺陷:如果用户创建了 65535 个从 WER0000.tmp 到 WERFFFE.tmp 的文件,API 会选取一个随机数并测试该文件名是否存在(例如 WERA560.tmp)。当发现文件已存在时,它会继续从 WERA560.tmp 测试到 WERFFFF.tmp。在测试过程中,出现了一个可被利用的窗口,因为我们找到了一种方法,使 WerSvc 在 GetTempFileNameW 调用上卡住 4-5 秒,这提供了相当大的时间间隔。与此同时,我们强制服务使用固定的文件名 WERFFFF.tmp 创建临时文件。

服务创建名为 WERFFFF.tmp 的临时文件后,API 会自动关闭它持有的文件句柄,并将文件名返回给服务以便进一步操作,这正是引入漏洞的地方。此时满足三个条件:

  1. 服务创建的文件位于普通用户可控制的位置。
  2. 服务关闭了该文件的所有句柄。
  3. 服务稍后会对该文件进行操作(写入或删除)。

在此,服务会 向文件中写入内容并删除它。利用文件系统链接和特定的利用技术,写入和删除操作都可能导致权限提升。

为了将这个漏洞转化为任意文件删除,我们创造性地利用多重目录交汇点来完成利用。我们的利用包含以下步骤:

  • 将所有 WER***.tmp 文件放入 $pwd\1\,并建立交汇点 $pwd\2\ -> $pwd\1\;
  • 创建一个进程持续使用路径 $pwd\2\ 触发该函数,并创建另一个进程持续执行命令 SetOplock $pwd\1\WERFFFF.tmp;
  • 一旦 OpLock 被触发,我们将 $pwd\2\ 重新定向到 \RPC CONTROL\,然后创建对象符号链接 \RPC CONTROL\WERFFFF.tmp -> $target 和 \RPC CONTROL\WERFFFF.tmp.etl -> $target;
  • 释放 OpLock,目标文件将以系统权限被删除。

详细的利用和 PoC 在 WERReport-CVE-2020-0753 中提供。

通过利用 GetTempFileNameW 中的缺陷,我们获得了服务将操作的、可预测的位置;通过利用多层文件系统交汇点,我们使得竞争条件变得可靠地可利用。

同时,我们注意到这种竞争错误也可能导致可能的文件覆盖问题,从而在某些情况下可能导致权限提升漏洞。

从部分控制的任意文件破坏到权限提升

要解释为何任意文件破坏(如果能够控制文件内容中非常小的部分:少于 63 字节)可以转化为 EoP,我们需要关注 Windows Defender 的工作机制。

Windows Defender 拥有恶意软件签名数据库。如果某个文件包含某些恶意软件签名,Defender 会将其视为恶意软件并删除。然而,此功能会导致额外的攻击面。例如,在 WCTF2019 中,来自 tokyowesterns 的 @icchy 设计了一个名为 "Gyotaku The Flag" 的 Windows CTF 挑战,它利用此功能作为 Oracle 来泄露信息。

在这里,我们利用 Windows Defender 的这一特性,在拥有受部分控制的任意文件破坏能力时实现任意文件删除。我们只需向文件中写入一个恶意软件签名,并触发 Windows Defender 的默认扫描,该文件就会被放入 Defender 的隔离区,普通用户(即中等完整性级别的非管理员用户)只需触发两次扫描操作即可删除它。

因此,只要能够利用漏洞将恶意软件签名字符串放入目标文件中,任意文件破坏漏洞就可以转化为任意文件删除。

  • 步骤1:

利用漏洞破坏目标文件,并向其中插入一个 Windows Defender 可识别的特征字符串。

  • 步骤2:

触发 Windows Defender 扫描目标文件,使其隔离。

  • 步骤3:

再次触发扫描,目标文件被删除。

通过这种技术,我们在 Defender 的帮助下实现了任意文件删除。

任意文件删除可以更容易地被利用来获得进一步的权限。

Microsoft OneDrive 中的六个未修复的文件系统 DOS 漏洞

Microsoft OneDrive 是一个提供个人云存储服务的应用程序包。自 Windows 8 以来,该应用程序作为默认安装选项集成到 Windows 中。在我们的研究过程中,发现了 OneDrive 的维护计划任务中的 6 个漏洞,并已提交给 MSRC。


以下是我们将要披露的 Microsoft OneDrive 相关计划任务中的漏洞表:

所有这 6 个漏洞都是由服务在普通用户可控制的位置上操作时,不正确地处理硬链接和符号链接导致的。在利用这些漏洞时,一个困难在于文件名通常包含当前进程的 PID 或文件操作的时间戳。两者都可以通过在触发服务运行时,对服务将尝试加载的独特 dll 文件设置 OpLock 来解决,这样我们就能获得预测服务稍后将操作的文件名所需的所有信息。在 FileSyncConfigTemp_hardlink 目录中提供了一个 PoC 示例。

漏洞影响

上述所有 6 个漏洞均提供了完整的报告和 PoC 程序。尽管大多数漏洞最初仅导致任意文件破坏,但这种漏洞仍然可能导致系统崩溃(通过覆盖关键系统配置文件),并且所有情况都需要重新安装 Windows。因此符合 Windows 系统拒绝服务漏洞类型标准。

此外,这种漏洞在特定上下文中实际上可能导致权限提升。我们已经讨论了利用技术,该技术可以将任意文件覆盖问题转化为任意文件删除原语,从而可以实现权限提升。

漏洞致谢

方明固

彭志宁,奇虎360核心安全

时间线

2020年02月02日: 提交漏洞报告

2020年02月08日: MSRC 调查并回复了我们提交的 OneDrive 6 个漏洞,结论是由于 需要过多的用户交互/难以构建可靠的利用 而不修复。

2020年02月08日: 我们回复:不需要用户交互。只需等待计划任务运行即可。因此,这种情况是典型的。

2020年02月11日: MSRC 回复:你如何获取用户机器上的特定文件?你是否将该文件的每种排列都放在该文件夹中?它必须精确匹配日期/小时/PID 吗?由于这些原因,这似乎需要过多的用户努力。

2020年02月11日: 我们回复:我们的 PoC 是一个简化版本。为了减少预测文件名的努力。实际上,你只需要设置一个 OpLock。然后你就可以获取所有 {pid}、{hour}、{date}。因此,不需要用户交互。

2020年02月12日: 询问是否可以发布这 6 个漏洞的 writeup。

2020年02月13日: MSRC 回复:你可以发表 writeup。

2020年02月22日: 细节公开。

尽管硬链接问题在 Windows Insider Preview 版本中已经修复,但在最新的 Windows 发行版中仍未修复,而且似乎没有计划向后移植到所有受支持的系统中 :( 。拒绝修复这些漏洞看起来并不像是一个负责任的行动。

下载工具
漏洞程序类型提供 PoC
FileSyncConfig.exeHardLink是
FileSyncHelper.exeHardLink是
OneDriveFileSyncConfig.exeSymLink是
OneDriveSetup.exeHardLink是
OneDriveSetup.exeHardLink是
OneDriveStandaloneUpdater.exeHardLink是