一种绕过UAC的技术介绍

最近,我发现了一种非常有趣的可用来绕过UAC,并以High Mandatory Level启动进程的方法。下面,让我来重现这个过程。
1. 以常规用户身份启动cmd.exe。
2. 确认完整性级别:
C:test>WHOAMI /Groups | FIND "S-1-16"
Mandatory LabelMedium Mandatory Level Label S-1-16-8192
3. 启动:
sdclt /configure

4. sdclt.exe程序自动提权。
5. 备份文件;这里我创建了一个存放有少量文件的虚拟文件夹c:test,并对它进行了备份。
6. 等待完成。

7. 备份完成后,我们转到备份列表恢复这些备份文件。

8. 选择backup,搜索c:test勾选并执行恢复操作(由于文件并不大,因此很快就能完成)。

9. 文件恢复完成后,会有一个提示面板。通过面板的提示信息可以得知,有一些程序或系统文件被跳过未能恢复。这里有一点非常重要,就是至少要有一些文件是被成功恢复的,否则将不会在面板中看到logs文件。

10. 单击View Log file。
11. 这将会以特权身份为我们打开Notepad.exe。
12. 在Notepad中,我们依次点选menu File -> Open -> c:windowssystem32。
13. 在列表中输入cmd*.*找到cmd.exe程序。
14. 启动cmd.exe。
15. 可以看到,此时的cmd.exe具有S-1-16-12288/High Mandatory Level/高完整性级别。
C:WindowsSystem32>WHOAMI /Groups | FIND "S-1-16"
Mandatory LabelHigh Mandatory Level Label S-1-16-12288
16. 现在你可以启动任何程序,并且它们都将以High Mandatory integrity level运行。