关于Windows自动提权autoElevate

文章目录

参考资料:
深入了解 Windows 7 用户帐户控制
List of Windows 7 (beta build 7000) auto-elevated binaries
工具:
Strings.exe
Sigcheck.exe
Procexp.exe
Procmon.exe
知识点:
Manifest文件
UAC

一直想怎么才能找到类似sysprep.exe这样可以有UAC权限但是运行的时候不会触发UAC弹框(即我们常说的Windows白名单程序),在网络上搜寻良久也未成发现有什么可用的信息。最后只有重头看看UAC相关信息,终于在MSDN上发现相关信息即参考资料1。(其实之前微软是一直公布这份名单的,而且连rundll32都是)
从参考资料1中我们可以获得很多信息,由于vista在启用uac时貌似平等对待不管是Windows系统的还是第三方应用获得uac权限都要弹框获得用户许可,所以在win7上微软启用了白名单机制,对于某些系统应用可以直接获得uac权限。
条件就是:

  • 1.该可执行文件必须经过 Windows Publisher 的数字签名,Windows Publisher 是用于对 Windows 附带的所有代码进行签名的证书(仅由 Microsoft 进行签名是不够的,因此 Windows 未附带的 Microsoft 软件不包括在内);
  • 2.该可执行文件必须位于其中一个为数不多的“安全”目录中。安全目录是指标准用户无法修改的目录,并且它们包括 %SystemRoot%\System32(例如,\Windows\System32)及其大多数子目录、%SystemRoot%\Ehome,以及 %ProgramFiles% 下的少许目录(其中包括 Windows Defender 和 Windows 日记本)。
    而要能够autoElevate还必须满足的一点就是要在程序的manifest文件中申明成类似这个样子的true,而且参考资料1还提供了两个工具来获得这个manifest文件搜寻满足条件的exe。
    strings.exe -s *.exe | findstr /i “autoElevate”>”D:\Program Files (x86)\SysinternalsSuite\autoevate.txt”

最后贴个win7 64位system32下面的结果:

c:\Windows\System32\AdapterTroubleshooter.exe:         <autoElevatexmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</autoElevate>
c:\Windows\System32\BitLockerWizardElev.exe:       <autoElevatexmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</autoElevate>
c:\Windows\System32\bthudtask.exe:          <autoElevate>true</autoElevate>
c:\Windows\System32\chkntfs.exe:        <autoElevate>true</autoElevate>
c:\Windows\System32\cleanmgr.exe:         <autoElevatexmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</autoElevate>
c:\Windows\System32\cliconfg.exe:         <autoElevate>true</autoElevate>
c:\Windows\System32\CompMgmtLauncher.exe:            <autoElevate>true</autoElevate>
c:\Windows\System32\ComputerDefaults.exe:        <autoElevate>true</autoElevate>
c:\Windows\System32\dccw.exe:      <autoElevate>true</autoElevate>
c:\Windows\System32\dcomcnfg.exe:          <autoElevate>true</autoElevate>
c:\Windows\System32\DeviceEject.exe:            <autoElevate>true</autoElevate>
c:\Windows\System32\DeviceProperties.exe:        <autoElevate>true</autoElevate>
c:\Windows\System32\dfrgui.exe:        <autoElevate xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</autoElevate>
c:\Windows\System32\djoin.exe:        <autoElevate>true</autoElevate>
c:\Windows\System32\eudcedit.exe:         <autoElevate>true</autoElevate>
c:\Windows\System32\eventvwr.exe:        <autoElevate>true</autoElevate>
c:\Windows\System32\FXSUNATD.exe:          <autoElevate>true</autoElevate>
c:\Windows\System32\hdwwiz.exe:            <autoElevate>true</autoElevate>
c:\Windows\System32\ieUnatt.exe:            <autoElevate>true</autoElevate>
c:\Windows\System32\iscsicli.exe:        <autoElevate>true</autoElevate>
c:\Windows\System32\iscsicpl.exe:        <autoElevate>true</autoElevate>
c:\Windows\System32\lpksetup.exe:        <autoElevate>true</autoElevate>
c:\Windows\System32\MdSched.exe:             <autoElevatexmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</autoElevate>
c:\Windows\System32\msconfig.exe:        <autoElevate>true</autoElevate>
c:\Windows\System32\msdt.exe:      <autoElevatexmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</autoElevate>
c:\Windows\System32\msra.exe:        <autoElevate>true</autoElevate>
c:\Windows\System32\MultiDigiMon.exe:         <autoElevate>true</autoElevate>
c:\Windows\System32\Netplwiz.exe:         <autoElevate xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</autoElevate>
c:\Windows\System32\newdev.exe:        <autoElevate>true</autoElevate>
c:\Windows\System32\ntprint.exe:        <autoElevate>true</autoElevate>
c:\Windows\System32\ocsetup.exe:        <autoElevate>true</autoElevate>
c:\Windows\System32\odbcad32.exe:            <autoElevate>true</autoElevate>
c:\Windows\System32\OptionalFeatures.exe:         <autoElevate  xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</autoElevate>
c:\Windows\System32\perfmon.exe:      <autoElevate>true</autoElevate>
c:\Windows\System32\printui.exe:             <autoElevate xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</autoElevate>
c:\Windows\System32\rdpshell.exe:        <autoElevate>true</autoElevate>
c:\Windows\System32\recdisc.exe:        <autoElevate>true</autoElevate>
c:\Windows\System32\rrinstaller.exe:             <autoElevate>true</autoElevate>
c:\Windows\System32\rstrui.exe:        <autoElevate xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</autoElevate>
c:\Windows\System32\sdbinst.exe:        <autoElevate>true</autoElevate>
c:\Windows\System32\sdclt.exe:        <autoElevate xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</autoElevate>
c:\Windows\System32\shrpubw.exe:        <autoElevate>true</autoElevate>
c:\Windows\System32\slui.exe:        <autoElevate>true</autoElevate>
c:\Windows\System32\SndVol.exe:             <autoElevatexmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</autoElevate>
c:\Windows\System32\SystemPropertiesAdvanced.exe:        <autoElevate>true</autoElevate>
c:\Windows\System32\SystemPropertiesComputerName.exe:        <autoElevate>true</autoElevate>
c:\Windows\System32\SystemPropertiesDataExecutionPrevention.exe:        <autoElevate>true</autoElevate>
c:\Windows\System32\SystemPropertiesHardware.exe:         <autoElevate>true</autoElevate>
c:\Windows\System32\SystemPropertiesPerformance.exe:        <autoElevate>true</autoElevate>
c:\Windows\System32\SystemPropertiesProtection.exe:        <autoElevate>true</autoElevate>
c:\Windows\System32\SystemPropertiesRemote.exe:        <autoElevate>true</autoElevate>
c:\Windows\System32\taskmgr.exe:        <autoElevate>true</autoElevate>
c:\Windows\System32\tcmsetup.exe:        <autoElevate>true</autoElevate>
c:\Windows\System32\TpmInit.exe:             <autoElevate>true</autoElevate>
c:\Windows\System32\verifier.exe:        <autoElevate>true</autoElevate>
c:\Windows\System32\wisptis.exe:      <autoElevate>true</autoElevate>
c:\Windows\System32\wusa.exe:            <autoElevate>true</autoElevate>
c:\Windows\System32\DriverStore\FileRepository\bth.inf_amd64_neutral_e54666f6a3e5af91\fsquirt.exe:        <autoElevate>true</autoElevate>
c:\Windows\System32\oobe\setupsqm.exe:        <autoElevate>true</autoElevate>
c:\Windows\System32\sysprep\sysprep.exe:         <autoElevate>true</autoElevate>

这些做完之后就在google中再搜寻了相关结果发现原来老外在09年就贴出来了,就是参考资料2。所以学习好E文很重要啊,参考资料1也是09年的可能翻译过来比较晚。
但是最后我发现个问题migwiz.exe也和sysprep.exe一样但是怎么没那个autoElevate标志啊,求大神指点
这里也希望大家把SysinternalsSuite工具使用的例子给明示哈谢谢,哈哈

##后记更新
2015-12-21 相关资料
給初學者的DLL Side Loading的UAC繞過
UACME
Autoelevated COM objects, list (win7-win10)