Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

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

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

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2024-44193 — 通过iTunes入侵Windows  - 本地权限提升零日漏洞 | Kitploit
工具/GitHubGitHub/mbog14/cve-2024-44193
权限提升漏洞分析漏洞利用论文与研究学习与教育二进制利用
GitHubmbog14/cve-2024-44193

CVE-2024-44193

通过iTunes入侵Windows  - 本地权限提升零日漏洞

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

通过 iTunes 攻击 Windows——本地权限提升 0day

介绍 CVE-2024–44193

本文是 CVE-2024–44193 的分析报告,该漏洞是 iTunes 12.13.2.3 版本中的一个本地权限提升漏洞。

该漏洞于 2024 年 9 月 12 日由 Apple 修复。 Apple 安全公告链接:Apple 安全公告

iTunes 12.13.2.3 版本会安装 Apple 设备发现服务: C:\Program Files\Common Files\Apple\Mobile Device Support\AppleMobileDeviceService.exe,该服务存在本地权限提升漏洞。

TL;DR

对于那些不关心另一篇写得不好且可能太长的分析报告的人,这里给出简短版本:

该漏洞源于 C:\ProgramData\Apple\* 路径中用户权限管理不善。这使得本地组“Users”的成员可以在该路径内写入任意文件。当 AppleMobileDeviceService.exe 服务重启时(可由非特权用户触发),可以武装一个任意文件夹/文件删除原语,从而以 SYSTEM 权限在系统上获得任意代码执行。

工具:

警告! 即将出现平庸的工具解释。

如果你已经熟悉这些工具,请跳过此部分。

  • Oplock

SetOpLock

Oplock 工具用于在 Windows 中使用“机会锁”。该工具允许我们通过锁定一个文件来“暂停”进程,直到某些条件满足;但它也可以用于恶意目的,例如为我们的漏洞利用载荷赢得足够的运行时间。

  • FolderContentsDeleteToFolderDelete

FilesystemEoPs

FolderContentsDeleteToFolderDelete 工具的工作原理是自动创建一个包含文件的文件夹。然后在文件上设置一个 oplock 以暂停进程。当进程暂停时,文件被移出文件夹。然后文件夹被删除,并重新创建为一个指向目标位置的 NTFS 交接点。 当 oplock 被取消,进程继续时,文件/文件夹删除操作会跟随新创建的 NTFS 交接点到目标位置,并在继续执行之前删除该文件。

  • FolderOrFileDeleteToSystem

FilesystemEoPs

这个工具最好由 Zero Day Initiative 来解释,所以这里直接提供他们的解释链接:

滥用任意文件删除以提升权限及其他妙招

实际分析报告

易受攻击的服务 AppleMobileDeviceService.exe 简介

安装 iTunes 后,还会安装一个服务:AppleMobileDeviceService.exe,该服务以 SYSTEM 权限运行。 当我使用 Windows Sysinternals Process Monitor (Procmon) 调查该服务时,立即发现了一些令人担忧的行为。

该服务会递归遍历 C:\ProgramData\Apple\Lockdown\* 路径下的所有文件,并删除所有不属于该位置的文件夹和文件。

在本地测试中,我使用 ProcessHacker2 强制重启该服务,以检查程序行为。 观察到的行为是:以 SYSTEM 权限运行的服务会查询该目录及其所有子目录,然后执行 CreateFile 操作,并启用 Delete On Close 选项,这意味着 SYSTEM 服务会查询 C:\ProgramData\Apple\Lockdown\* 路径,递归查询该目录下的子文件夹和文件,并将其删除。

Alt text

路径 C:\ProgramData\Apple\* 中存在问题的用户权限

可以使用 Windows Sysinternals https://learn.microsoft.com/en-us/sysinternals/ 的 accesschk64.exe 来检查特定文件夹的访问权限。 本地组“Users”的成员在 C:\ProgramData\Apple\Lockdown\ 文件夹中拥有写入权限,这使得低权限用户可以在该文件夹中写入任意文件。

Alt text

任意文件/文件夹删除原语

由于我们可以在 Lockdown 路径内写入任意文件,并且在服务重启时 SYSTEM 进程会删除这些文件,因此可以创建一个任意文件/文件夹删除原语。 为了说明这一点,我在 Lockdown 文件夹中创建了两个子文件夹。 子文件夹 a,以及子文件夹 a 中的子文件夹 b。 看起来像这样:C:\ProgramData\Apple\Lockdown\a\b

在子文件夹 a 中有一个名为 aa.txt 的文本文件,在子文件夹 b 中有一个名为 bb.txt 的文本文件。

C:\ProgramData\Apple\Lockdown\a\aa.txt

C:\ProgramData\Apple\Lockdown\a\b\bb.txt

Alt text

如上截图所示,“CreateFile”操作以“Delete On Close”选项对 aa.txt 运行,将其删除。

当 SYSTEM 进程以 Delete On Close 选项对 aa.txt 和 bb.txt 执行 CreateFile 操作时,SYSTEM 进程 AppleMobileDeviceService.exe 会删除这些文件。 现在我们可以创建任意文件并在 Lockdown 文件夹中删除它们,这引出了下一个巧妙的技巧。

NTFS 交接点

在 Windows 中,可以使用 NTFS 交接点将文件夹指向其他地方。从某种程度上来说,这与 Linux 中的符号链接类似。 为了说明这一点,可以在 C:\ProgramData\Apple\Lockdown 文件夹中创建一个指向桌面上某个文件夹的 NTFS 交接点(符号链接)。 你可以使用 PowerShell New-Item -Type Junction -Path whatever -Target "C:\Users\user\Desktop\AAyes" 来实现,或者直接使用 ZDI 提供的工具集:

FilesystemEoPs

运行以下命令,将 Lockdown 文件夹内的 NTFS 交接点指向桌面上的“Target”。

.\FolderContentsDeleteToFolderDelete.exe /target "C:\Users\user\Desktop\AAyes" /initial "C:\ProgramData\Apple\Lockdown"

当服务重启时,新创建的 NTFS 交接点会指向桌面上的 AAyes。 由于该服务以 SYSTEM 权限运行 CreateFile 操作并带有 Delete On Close 选项,该文件将被删除。 由于该操作以 SYSTEM 权限运行,我们拥有任意文件夹或文件删除原语,这意味着我们可以以 SYSTEM 身份在主机上获得代码执行。

Alt text

注意:

由于文件名/文件夹名称限制,有必要对 FolderContentsDeleteToFolderDelete 项目进行某些源代码编辑。文件名/文件夹名称必须非常短才能进行删除。其原因未知,并且由于短名称可靠地解决了问题,未进一步调查。

FolderContentsDeleteToFolderDelete 源代码编辑:

const wchar_t folder2path[] = L"C:\\d";
const wchar_t exploitFileName[] = L"e.txt";

// 需要缩短两个常量:“folder2path”和“exploitFileName”
// 它们被改为:L"C:\\d"和L"e.txt",因为似乎文件/文件夹名称长度对漏洞利用功能有显著影响。

[...]

// 我们还需要将“folder1path”值改为L"c”以缩短它。
folder1path += L"c";

利用原理

由于服务会递归跟随任何交接点(符号链接),因此原理是:通过易受攻击的 Apple 服务(该服务会跟随 NTFS 交接点),可以以 SYSTEM 权限在系统上任意删除文件。由于该易受攻击的服务方便地允许非特权用户通过 Windows GUI 中的(“应用 -> 已安装的应用 -> Apple Mobile Device Support -> 修改 -> 修复”)技巧重启服务,因此可以随时触发该漏洞。一旦服务重启,它会跟随 NTFS 交接点,并且确定的程序行为规定服务会删除用户选择指向的文件或文件夹。

换句话说,由用户决定服务删除哪些文件或文件夹。 由于它以 SYSTEM 身份运行,我们可以删除系统上 几乎 任何文件(不需要 TrustedInstaller 权限的文件除外)。

这意味着我们可以精心策划一系列事件,按以下步骤进行:

  1. 准备 oplock 以在方便的时刻暂停进程,以便我们准备利用步骤
  2. 重启服务,触发 oplock,进程暂停
  3. 使用 FolderOrFileDeleteToSystem.exe 准备我们的 MSI 回滚技巧
  4. 使用 FolderContentsDeleteToFolderDelete.exe 准备 NTFS 交接点,将文件删除原语指向 MSI 回滚技巧准备好的 Config.MSI
  5. 释放 oplock

概念验证

概念验证包括 5 个步骤。

  1. 在 C:\ProgramData\Apple\Lockdown\ 上设置 Oplock
.\SetOpLock.exe C:\ProgramData\Apple\Lockdown\
Alt text
  1. 触发服务重启 应用 -> 已安装的应用 -> Apple Mobile Device Support -> 修改 -> 修复

  2. 准备 MSI 回滚技巧

.\FolderOrFileDeleteToSystem.exe
  1. 准备 Windows 交接点(符号链接)步骤,将服务的任意文件夹/文件删除原语指向 MSI 安装程序
.\FolderContentsDeleteToFolderDelete.exe /target 'C:\Config.Msi' /initial "C:\ProgramData\Apple\Lockdown"
  1. 释放 Oplock

当第 5 步释放 Oplock 时,我们监控 FolderContentsDeleteToFolderDelete 进程以验证 NTFS 交接点是否被跟随,并且位于 C:\ 的 Config.MSI 被正确删除。然后我们监控 FolderOrFileDeletionToSystem.exe 进程以验证我们赢得了竞争条件,并且带有修改后回滚脚本的“恶意”Config.MSI 文件夹被写入。如果一切顺利,我们可以按 CTRL+ALT+DELETE,打开右下角的辅助功能菜单,打开屏幕键盘。由于我们通过恶意回滚脚本覆盖了 C:\Program Files\Common Files\microsoft shared\ink\HID.DLL,将弹出一个 SYSTEM 命令提示符,完成我们的漏洞利用。 Alt text

执行并监控 FolderContentsDeleteToFolderDelete.exe

Alt text

执行并监控 FolderOrFileDeleteToSystem.exe

Alt text

弹出 SYSTEM 命令提示符

下载工具