简介
sdclt 是微软提供的命令行磁盘备份工具,从 Vista 时代引入
在 Windows 10 开始,sdclt 加入了自动提升权限的能力,requestedExecutionLevel 由 asInvoker 变为 requireAdministrator
(命令 sigcheck -m %systemroot%\system32\sdclt.exe 的结果)
当不带任何参数启动 sdclt 时,sdclt 会打开控制面板
控制面板的主程序为 control.exe,那么 sdclt 是如何找到 control.exe 完整路径的呢?
通过 process monitor 的分析 (过滤掉不相干进程,再用 CTRL + F 搜索 control.exe),sdclt 似乎是从注册表读取到了 control.exe 的路径,
按照这个原理,我们写一个简单的 PoC 测试下
- reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\App Paths\control.exe" /t REG_SZ /d %COMSPEC% /f
- sdclt
在 cmd 中执行一下试试
可以看到,控制面板没有启动,而是弹出了一个 cmd,我们也获得了管理员权限
当然,提升权限后还要清理下痕迹,具体代码请看完整PoC,点这里下载
写在最后
其实可以把 HKCU 整个导出来看一下,目前我还没有发现其它类似的案例,有兴趣的同学可以研究下~
作者:c0debreak
来源:51CTO