使用 sdclt 繞過 UAC 的新方法
1.原理
該方法和其他UAC繞過方法一樣,利用了某些會「自動提升許可權」的程序。這些程序會以高完整性級別運行,且不會觸發UAC窗口的警示窗口。用戶以中等許可權運行這些程序去載入DLL或執行命令,就可成功繞過UAC。
而此次繞過的關鍵就在於可執行文件sdclt.exe。Sdclt在Windows系統中的原本作用是備份和還原。你可以使用Windows SysInternals的SigCheck檢查它是否會自動提升許可權:
sigcheck.exe -m C:WindowsSystem32sdclt.exe | findstr autoElevate
<autoElevate xm lns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</autoElevate>
注意:已經有幾種濫用sdclt.exe繞過UAC的方法。你可以在Matt Nelson的博客上看到:
https://enigma0x3.net/2017/03/14/bypassing-uac-using-app-paths/
https://enigma0x3.net/2017/03/17/fileless-uac-bypass-using-sdclt-exe/
我此次說明的這種新方法是無文件,基於COM劫持的。
當以中等許可權調用sdclt.exe時,會發生的一些有趣事件:
- 它以高許可權運行另一個sdclt.exe進程
- 高許可權的sdclt進程會調用C:WindowsSystem32control.exe
- control.exe進程以高許可權運行,並且…