sdclt 是微软提供的命令行磁盘备份工具,从 Vista 时代引入

在 Windows 10 开始,sdclt 加入了自动提升权限的能力,requestedExecutionLevel 由 asInvoker 变为 requireAdministrator

如何利用sdclt磁盘备份工具绕过UAC-RadeBit瑞安全

(命令 sigcheck -m %systemroot%system32sdclt.exe 的结果)

当不带任何参数启动 sdclt 时,sdclt 会打开控制面板

如何利用sdclt磁盘备份工具绕过UAC-RadeBit瑞安全

控制面板的主程序为 control.exe,那么 sdclt 是如何找到 control.exe 完整路径的呢?

通过 process monitor 的分析 (过滤掉不相干进程,再用 CTRL + F 搜索 control.exe),sdclt 似乎是从注册表读取到了 control.exe 的路径,

如何利用sdclt磁盘备份工具绕过UAC-RadeBit瑞安全

按照这个原理,我们写一个简单的 PoC 测试下

reg add "HKCUSoftwareMicrosoftWindowsCurrentVersionApp Pathscontrol.exe" /t REG_SZ /d %COMSPEC% /f
sdclt

在 cmd 中执行一下试试

如何利用sdclt磁盘备份工具绕过UAC-RadeBit瑞安全

可以看到,控制面板没有启动,而是弹出了一个 cmd,我们也获得了管理员权限

当然,提升权限后还要清理下痕迹,具体代码请看完整PoC,点这里下载

写在最后

其实可以把 HKCU 整个导出来看一下,目前我还没有发现其它类似的案例,有兴趣的同学可以研究下~