版本:PCManager版本低于或等于17.10.28554.205
摘要:我在腾讯电脑管家中发现一个漏洞,其中C:\Windows\Temp下的文件和目录被不安全地处理。攻击者可以利用符号链接攻击,强制一个SYSTEM权限的进程删除任意文件,从而导致本地权限提升。在扫描过程中,以NT AUTHORITY\SYSTEM运行的QQPCRtp.exe会将扫描的文件移动到该临时目录,并在扫描完成后删除它们。
观察到,当我们开始扫描驱动器时,进程"QQPCRTP.exe"会以SYSTEM权限执行以下操作:
QQPCRTP.exe在_pcmgr_scan_tmp_内创建一个以UUID命名的子目录(例如{*})。
最后,QQPCRTP.exe使用SYSTEM权限删除_pcmgr_scan_tmp_内的{*}子目录。
由于目录C:\Windows\Temp\_pcmgr_scan_tmp_可由当前用户创建,并赋予当前用户"修改"权限,当前用户可以修改和读取整个目录。在这种设置下,非特权用户可以通过创建指向特权位置(例如C:\Windows\System32)的符号链接来实现任意文件删除。此外,恶意用户可以通过任意文件/文件夹删除实现本地权限提升。
我实际上也不确定腾讯电脑管家何时会创建_pcmgr_scan_tmp_文件夹,因此我们需要竞争条件来在Windows\Temp下创建_pcmgr_scan_tmp_文件夹。否则,您只能在重新安装电脑管家后执行此利用。
要通过任意文件/文件夹删除执行LPE,用户可以执行以下步骤:
用户创建文件夹C:\Windows\Temp\TencentDownload
用户一旦观察到任何{*}文件夹被创建,就在文件夹C:\Windows\Temp\_pcmgr_scan_tmp_\{*}上设置OpLock
进程"QQPCRTP.exe"将尝试以SYSTEM权限删除文件夹C:\Windows\Temp\_pcmgr_scan_tmp_\{*}
由于OpLock,进程"QQPCRTP.exe"将被暂停
当OpLock被触发时,用户将文件C:\Windows\Temp\_pcmgr_scan_tmp_\{*}移动到其他地方以清空文件夹
用户创建交接点C:\Windows\Temp\_pcmgr_scan_tmp_\{*}指向\RPC Control
用户创建符号链接GLOBAL\GLOBALROOT\RPC Control\{*}指向目标文件夹/文件(例如C:\Windows\System32\secrets)
用户释放OpLock
用户删除符号链接
目标文件/文件夹(例如C:\Windows\System32\secrets)将被删除
PoC视频:https://drive.google.com/file/d/1-8GngjK97cnfqHw0cB_GncUxzLLR2wpF/view?usp=sharing