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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2023-32353-PoC — CVE-2023-32353的利用概念验证代码:通过iTunes在Windows中本地权限提升 | Kitploit
工具/GitHubGitHub/86x/cve-2023-32353-poc
权限提升漏洞分析漏洞利用学习与教育二进制利用
GitHub86x/cve-2023-32353-poc

CVE-2023-32353-PoC

CVE-2023-32353的利用概念验证代码:通过iTunes在Windows中本地权限提升

查看仓库
35323年前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2023-32353 概念验证

免责声明

  • 此概念验证代码仅用于教育目的。
  • 它应鼓励其他人发现类似漏洞,负责任地报告并修复它们。
  • 2023年5月23日,Apple 已发布该漏洞的修复程序。
  • 建议您将 iTunes 更新到最新版本(至少 12.12.9)。
  • 我没有发现此 CVE,我只是做了这个 PoC。请阅读“致谢”部分。
  • 本人及此仓库均与 Apple 无关。
  • 此 PoC(概念验证)的适用性有限。您可以在问答部分了解更多信息。

概要

音乐播放器 Apple iTunes 的 MSI 安装程序存在一个漏洞,允许 Microsoft Windows 计算机上的普通低权限用户以 NT AUTHORITY/SYSTEM 上下文获取提升的权限。此仓库包含一个概念验证(PoC),展示如何利用此漏洞,并为安全研究人员和希望了解更多此类漏洞的开发者提供更多信息。然而,其适用性有限,您可以在问答部分了解原因。

致谢

  • Synopsys 的 Zeeshan Shaikh 发现了 CVE-2023-32353 并发布了一篇相关文章。此仓库仅包含一个详细的概念验证,超越了仅表明该漏洞存在的信息。
  • 此仓库的“CommonUtils”文件夹根据许可使用,您可以在该文件夹中的 LICENSE.txt 中阅读许可内容。
  • 查找最新“amd64_microsoft.windows.common-controls...”文件夹的代码改编自 binderlabs/DirCreate2System 中的原始代码。

如何运行 PoC

  • 安装版本低于 12.12.9 的 iTunes(例如 12.12.4.1)
  • 在 Visual Studio 2019 中打开 .sln 文件。
  • 使用“Release x64”配置生成项目。
  • 打开 ./x64/Release/ 目录
  • 将您选择的 DLL 放在该目录中,并命名为“comctl32.dll”。(您可以使用类似 binderlabs/DirCreate2System 中使用的那个,只需将“spawn.dll”重命名为“comctl32.dll”即可——我对该仓库的内容不负责任。一如既往,请谨慎操作,自己构建 DLL!)
  • 从该目录运行 Privilege-Escalation-using-Music-Player.exe
  • 当 MSI 安装程序询问您是否要立即重启时,选择“否”
  • 现在您应该会获得一个 SYSTEM shell(如果没有,请阅读问答部分)

问答

我没有获得 SYSTEM shell。我哪里做错了?

由于这是一个概念验证,并未过多考虑不被检测的问题。要使用此 PoC,您应该运行 Windows 10 家庭版,版本低于 'Version 10.0.19041.572',因为在该版本中此漏洞已被修补。我使用 Windows 10 1909 进行了测试。此外,您应该导航到“Windows 安全中心”并禁用所有与 Microsoft Defender/Windows Defender 相关的功能,因为它们似乎会使用实时保护阻止到 \RPC Control 的符号链接创建(实时保护会在每次重启后自动重新打开,请记住这一点!)

我现在应该害怕使用 iTunes 吗?

不,只需更新到最新版本的 iTunes,您就安全了。

我可以在不自行构建的情况下运行 PoC 吗?

虽然我强烈建议不要运行来自互联网的任何 .exe 文件,但从 ./x64/Release/ 目录在虚拟机中运行 Privilege-Escalation-using-Music-Player.exe 应该是可以的。如果不行,您应该尝试从 Microsoft 提供的链接 安装最新的 VC++ 可再发行组件。

实际漏洞是什么?

在 MSI 修复过程中,安装程序会在 C:\ProgramData\Apple Computer\iTunes\ 内创建一个低权限文件夹“SC Info”。准确地说,目录 C:\ProgramData\Apple Computer\iTunes 不允许所有人完全控制。但名为“SC Info”的子文件夹授予 Everyone(包括低权限/标准用户)完全控制权。如果您手动删除 C:\ProgramData\Apple Computer\iTunes\ 文件夹的所有内容(取决于您是否曾运行过 iTunes,可能除了“SC Info”外还有其他文件夹),则低权限用户能够创建从 C:\ProgramData\Apple Computer\iTunes\ 到任何可由 NT AUTHORITY/SYSTEM 写入的目录的挂载点。在此概念验证中,使用了“wermgr.exe.local”技术,该技术在当前的 Windows 10 版本中已得到缓解,并且据我所知仅适用于 Windows 10 家庭版。因此,如果您创建从 C:\ProgramData\Apple Computer\iTunes\ 到 \RPC Control 的挂载点,然后创建从 \RPC Control\SC Info(请记住,SC Info 是安装程序在 iTunes 文件夹内创建的文件夹名称)到 ??\c:\windows\system32\wermgr.exe.local 的符号链接,然后使用 iTunes 安装程序的 MSI 修复选项,您实际上会在 C:\Windows\System32 内创建一个名为 wermgr.exe.local 的目录,该目录授予 Everyone 完全控制权。这会将 SC Info 文件夹的创建重定向到 \RPC Control,而 RPC Control 本身又将文件夹创建重定向到 System32 目录。从此开始(再次说明,这不是实际漏洞的一部分,仅用于完成权限提升漏洞链),您可以创建一个具有特定名称的子文件夹,其中包含一个精心制作的 DLL,当作为 NT AUTHORITY/SYSTEM 运行的服务(即使由低权限用户通过计划任务调用)加载并执行其中的命令时,该 DLL 将被加载执行(例如,以 NT AUTHORITY/SYSTEM 身份运行的 cmd)。有关更多详细信息,请参阅实际代码或下面的“手动复现步骤”部分。

了解更多关于此 PoC 中使用的技术

  • "An introduction to privileged file operation abuse on Windows" by Almond
  • "bugzzzhunter/Folder-Deletion-to-System-Shell"
  • "binderlabs/DirCreate2System"

手动复现步骤:

  • 由于这是一个概念验证,请关闭 Windows Defender/Microsoft Defender(另请阅读问答部分)

  • 安装版本低于 12.12.9 的 iTunes(例如 12.12.4.1)

  • 删除 C:\ProgramData\Apple Computer\iTunes 中的所有内容,但保留 iTunes 文件夹本身

  • 创建从“C:\ProgramData\Apple Computer\iTunes”到“\RPC Control”的挂载点,例如使用 James Forshaw 的 symboliclink-testing-tools:

    CreateMountPoint.exe "C:\ProgramData\Apple Computer\iTunes" "\RPC Control"

  • 创建从“\RPC Control\SC Info”到“??\c:\windows\system32\wermgr.exe.local”的符号链接

    CreateDosDeviceSymlink.exe "\RPC Control\SC Info" "??\c:\windows\system32\wermgr.exe.local"

  • 使用 iTunes MSI/iTunes 安装程序 EXE,“修复”您的 iTunes 安装(如果您没有安装程序,可以在以下文件夹中找到“iTunes64.msi”:C:\ProgramData\Apple Computer\Installer Cache\iTunes <版本>\)

  • 导航到 c:\windows\system32\wermgr.exe.local\

  • 创建一个名为“amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.18362.418_none_e6c6b287130d565d”的子文件夹(这在您的系统上可能不同,请使用 C:\Windows\WinSxS\ 目录中以“amd64_microsoft.windows.common-controls_”开头的最新文件夹名称)

  • 将名为“comctl32.dll”的 DLL 文件放入 amd64_microsoft.windows.common-controls_* 文件夹中

  • 运行以下命令:

    schtasks.exe /Run /TN "\Microsoft\Windows\Windows Error Reporting\QueueReporting"

  • 您指定的 comctl32.dll 文件中的操作现在将在 NT AUTHORITY/SYSTEM 上下文中执行,例如,打开一个 cmd 窗口

下载工具