版本:210.9.28693.62001 之前
摘要:我发现腾讯电脑管家存在一个漏洞,其中 C:\Windows\Temp 下的文件和目录处理不安全。攻击者可以利用符号链接(symlink)攻击,强制一个 SYSTEM 权限的进程删除任意文件,从而导致本地权限提升。具体来说,当使用“ioa”组件时,会定期启动一个名为 LegacyKB_ioa_win.exe 的进程。在运行过程中,它会在 Temp 文件夹下创建 TencentDownload 目录,将文件下载至该目录中,然后以 SYSTEM 权限执行删除操作。由于路径验证不足以及不安全的删除逻辑,此行为可被滥用,以 SYSTEM 权限删除攻击者选定的文件。
观察到进程 LegacyKB_*.exe 将以 SYSTEM 权限执行以下操作:
当有新版本或热修复可用时,iOA 组件会从互联网下载并执行 Legacy_*.exe。
Legacy_*.exe 检查 C:\Windows\Temp 下是否存在 TencentDownload 目录;如果不存在,则创建它。
Legacy_*.exe 在 TencentDownload 内部创建一个以波浪号前缀(例如 ~)命名的子目录。
最后,Legacy_*.exe 使用 SYSTEM 权限删除 TencentDownload 内的 ~* 子目录。
由于目录 "C:\Windows\Temp\TencentDownload" 可由当前用户创建并为其分配“修改”权限,因此当前用户可以修改和读取整个目录。在此设置下,非特权用户可以通过创建指向特权位置(如 C:\Windows\System32)的符号链接来实现任意文件删除。此外,恶意用户可以通过任意文件/文件夹删除实现本地权限提升。
要通过任意文件/文件夹删除执行 LPE,用户可以执行以下步骤:
用户创建文件夹 "C:\Windows\Temp\TencentDownload"
用户一旦观察到任何 ~ 前缀文件夹被创建,就在文件夹 "C:\Windows\Temp\TencentDownload\~*" 上设置 OpLock
进程 "Legacy_*.exe" 将尝试以 SYSTEM 权限删除文件夹 "C:\Windows\Temp\TencentDownload\~*"
由于 OpLock 的存在,进程 "Legacy_*.exe" 将被暂停
当 OpLock 触发时,用户将文件 "C:\Windows\Temp\TencentDownload\~*" 移走以清空文件夹
用户创建交接点 "C:\Windows\Temp\TencentDownload\" 到 "\RPC Control"
用户创建符号链接 "GLOBAL\GLOBALROOT\RPC Control\~*" 指向目标文件夹/文件(例如 C:\Windows\System32\secrets)
用户释放 OpLock
用户删除符号链接
PoC 视频:https://drive.google.com/file/d/1RXQgaNBDeopurcP63xmhMXDM7stHaIzO/view?usp=sharing

目标文件/文件夹(例如 C:\Windows\System32\secrets)将被删除