AnyDesk本地提权漏洞:CVE-2024-12754

AnyDesk本地提权漏洞:CVE-2024-12754

原创 刨洞安全团队 刨洞安全团队 2025-02-07 01:01

此漏洞和帖子是关于 Windows 操作系统上的 AnyDesk。

此漏洞已在AnyDesk v9.0.1版本中修复

漏洞

该漏洞是 “AnyDesk” 服务以 NT AUTHORITY\SYSTEM 权限执行的任意文件读取/复制操作。

当启动新会话时,AnyDesk 服务会将现有的背景图像复制到: C:\Windows\Temp\

可以主动发起一个会话以触发该漏洞。

由 NT AUTHORITY\SYSTEM 执行的 AnyDesk 服务的文件复制操作:

我们可以在这里写一些有趣的笔记:
1. 在 Windows 上,低权限用户可以设置自己的背景图像,因此我们可以控制按需复制的文件源。

  1. C:\Windows\Temp 中的最终文件名与初始背景图像文件名相同。

  2. 问题(其实不是,我稍后会解释) – 源文件被复制到 C:\Windows\Temp\,这意味着最终文件将由 NT AUTHORITY\SYSTEM 拥有,并且由于 C:\Windows\Temp 默认情况下对低权限用户没有读取权限,最终文件名将继承 DACL,并且仅允许 NT AUTHORITY\SYSTEM 和 Administrators 组读取。

到目前为止,我们几乎拥有了将任意文件复制到 C:\Windows\Temp 并读取它所需的一切。我们可以控制源文件的名称和位置,并且我们知道目标文件的名称和位置。我们无法改变它将位于 C:\Windows\Temp 的事实。

如果是这样的话,那将是一个完全的任意文件读取/复制/写入(我有几个这样的漏洞等待公开披露)。

完成需求&&修复问题

如果我们更改文件名,并在 C:\Windows\Temp 中预先创建一个同名的空文件,会被覆盖并重新拥有吗?

尽管 C:\Windows\Temp 没有 READ 权限,但低权限用户可以向该目录写入。

好了,准备就绪:
– 在 C:\Windows\Temp 中预先创建了目标文件名。

  • 设置背景图像为新文件名。

现在让我们看看会发生什么。触发漏洞(连接到您自己的 ID):

触发了!看起来文件保留了我们对新数据的所有权!

我们似乎发现了一个任意文件读取/复制漏洞!

任意文件复制导致本地权限提升

默认情况下,Windows 系统会自动创建 HarddiskVolumeShadowCopy(简称 – ShadowCopy),前提是设备上有足够的空间。这被称为还原点功能:

我们也可以通过 WinAPI 以低权限用户查询 ShadowCopy 的存在(一个好的公开示例在这里 – https://github.com/Wh04m1001/VSSCopy/blob/main/VSSCopy/Find.cpp 使用 NtQueryDirectoryObject)

它也可以通过 WinObj 手动查看:

现在我们需要利用这个漏洞进行 LPE :
1. 在 C:\Windows\Temp 中预创建目标文件名

  1. 在初始背景图像文件名上设置一个 oplock。目的是触发导致 CopyFileW 的 CreateFile 操作

  2. 在触发时,将背景图像的目录设置为 NT 对象管理器命名空间(OMNS)\RPC Control 或其他可写 OMNS 目录(如\Sessions\BaseNamedObjects 等)的连接点

  3. 从 \RPC Control 创建一个 DOS 设备符号链接到 \Device\HarddiskVolumeShadowCopy1\Windows\System32\CONFIG\SAM(/SYSTEM/SECURITY)

  4. 将目标文件从 C:\Windows\Temp 复制到选择的无害目录以读取/保存它

  5. 在对 SAM、SYSTEM、SECURITY 文件执行上述步骤后,解析文件以检索本地管理员/用户的凭据(SECURITY 对于机器凭据、userKey 以及进一步的本地缓存凭据等至关重要)

  6. 获得administrative访问权限

关注公众号后台回复 0001
 领取域渗透思维导图,0002
 领取VMware 17永久激活码,0003
 获取SGK地址,0004
 获取在线ChatGPT地址,0005
 获取 Windows10渗透集成环境
,0006
 获取 CobaltStrike 4.9.1破解版

0007
 获取
100亿密码合集

加我微信好友,邀请你进交流群