UACME
通过滥用内置Windows自动挂用后门来击败Windows用户帐户控制。该项目展示了各种UAC旁路技术,并作为了解Windows安全机制的教育资源。
配x警告:该工具显示了可能被恶意剥削的安全漏洞。负责任地使用,仅在受控环境中使用。
系统要求
- 操作系统:Windows 7/8/8.1/10/11(X86-32/X64,客户端,某些方法在服务器版本上也有效)
- 用户帐户:默认设置上的UAC的管理员帐户
用法
使用以下语法从命令行中运行可执行文件:
akagi32.exe [Method_Number] [Optional_Command]
或者
akagi64.exe [Method_Number] [Optional_Command]
参数:
- method_number :与UAC旁路方法相对应的数字(请参见下面的方法列表)
-
可选_command :通往可执行文件的完整路径,以高架特权运行
- 如果省略,该程序将启动高架命令提示(%SystemRoot%\\ System32 \\ cmd.exe)
示例:
akagi32.exe 23
akagi64.exe 61
akagi32.exe 23 c:\\windows\\system32\\calc.exe
akagi64.exe 61 c:\\windows\\system32\\charmap.exe
注意:由于版本3.5.0,因此所有先前“固定”方法都被视为已过时并已删除。如果需要,请使用v3.2.x分支。
键(单击以展开/崩溃)
- 作者:狮子座戴维森
- 类型:DLL劫持
- 方法:ifileoperation
- 目标:\\ system32 \\ sysprep \\ sysprep.exe
- 组件:cryptbase.dll
- 实施:UCMSTANTARDAUTOELEVATION
- 作品来自:Windows 7(7600)
- 固定在:Windows 8.1(9600)
- 如何:sysprep.exe硬化的负载从明显元素出现
- 代码状态:从v3.5.0开始删除
- 作者:Leo Davidson衍生品
- 类型:DLL劫持
- 方法:ifileoperation
- 目标:\\ system32 \\ sysprep \\ sysprep.exe
- 组件:shcore.dll
- 实施:UCMSTANTARDAUTOELEVATION
- 作品来自:Windows 8.1(9600)
- 修复在:Windows 10 TP(> 9600)
- 方式:shcore.dll的副作用移至\\ nowndlls
- 代码状态:从v3.5.0开始删除
- 作者:Winnt/Pitou的Leo Davidson衍生品
- 类型:DLL劫持
- 方法:ifileoperation
- 目标:\\ system32 \\ oobe \\ setupsqm.exe
- 组件:wdscore.dll
- 实施:UCMSTANTARDAUTOELEVATION
- 作品来自:Windows 7(7600)
- 固定在:Windows 10 TH2(10558)
- 方法:OOBE重新设计的副作用
- 代码状态:从v3.5.0开始删除
- 作者:Jon Ericson,Winnt/Gootkit,MZH
- 类型:AppCompat
- 方法:redirectexe垫片
- 目标:\\ system32 \\ cliconfg.exe
- 成分): –
- 实现:UCMSHIMREDIRECTEXE
- 作品来自:Windows 7(7600)
- 修复在:Windows 10 TP(> 9600)
- How:SDBINST.EXE自动授权,kb3045645/kb3048097用于REST WINDOWS版本
- 代码状态:从v3.5.0开始删除
- 作者:Winnt/Simda
- 类型:高架com界面
- 方法:IsecurityEditor
- 目标:HKLM注册表键
- 成分): –
- 实施:UCMSIMDATURNOFFUAC
- 作品来自:Windows 7(7600)
- 修复在:Windows 10 TH1(10147)
- 方法:Isecurityeditor接口方法更改
- 代码状态:从v3.5.0开始删除
- 作者:Win32/Carberp
- 类型:DLL劫持
- 方法:WUSA
- 目标:\\ eHome \\ mcx2prov.exe,\\ system32 \\ migwiz \\ migwiz.exe
- 组件:wdscore.dll,cryptbase.dll,cryptsp.dll
- 实施:UCMWUSAMETHOD
- 作品来自:Windows 7(7600)
- 修复在:Windows 10 TH1(10147)
- 方法:删除WUSA /提取选项
- 代码状态:从v3.5.0开始删除
- 作者:Win32/Carberp衍生产品
- 类型:DLL劫持
- 方法:WUSA
- 目标:\\ system32 \\ cliconfg.exe
- 组件:ntwdblib.dll
- 实施:UCMWUSAMETHOD
- 作品来自:Windows 7(7600)
- 修复在:Windows 10 TH1(10147)
- 方法:删除WUSA /提取选项
- 代码状态:从v3.5.0开始删除
- 作者:Win32/Tilon的Leo Davidson衍生产品
- 类型:DLL劫持
- 方法:ifileoperation
- 目标:\\ system32 \\ sysprep \\ sysprep.exe
- 组件:Actionqueue.dll
- 实施:UCMSTANTARDAUTOELEVATION
- 作品来自:Windows 7(7600)
- 固定在:Windows 8.1(9600)
- 如何:sysprep.exe硬化的负载。
- 代码状态:从v3.5.0开始删除
- 作者:Leo Davidson,Winnt/Simda,Win32/Carberp衍生
- 类型:DLL劫持
- 方法:ifileoperation,isecurityeditor,wusa
- 目标:IFEO注册表键,\\ System32 \\ Cliconfg.exe
- 组件:攻击者定义的应用程序验证者DLL
- 实施:UCMAVRFMETHOD
- 作品来自:Windows 7(7600)
- 修复在:Windows 10 TH1(10147)
- 方法:删除WUSA /提取选项,iSecurityEditor接口方法更改
- 代码状态:从v3.5.0开始删除
- 作者:Winnt/Pitou,Win32/Carberp衍生
- 类型:DLL劫持
- 方法:ifileoperation,wusa
- target(s):\\ system32 \\ {new}或{现有} \\ {autoelevated} .exe,例如winsat.exe
- 组件:攻击者定义的DLL,例如powprof.dll,devobj.dll
- 实施:UCMWINSATMETHOD
- 作品来自:Windows 7(7600)
- 固定在:Windows 10 TH2(10548)
- 方法:Appinfo高架应用路径控制硬化
- 代码状态:从v3.5.0开始删除
- 作者:Jon Ericson,Winnt/Gootkit,MZH
- 类型:AppCompat
- 方法:垫片存储器补丁
- 目标:\\ system32 \\ iscsicli.exe
- 组件:攻击者准备的外壳
- 实现:UCMSHIMPATCH
- 作品来自:Windows 7(7600)
- 固定在:Windows 8.1(9600)
- How:SDBINST.EXE自动授权,kb3045645/kb3048097用于REST WINDOWS版本
- 代码状态:从v3.5.0开始删除
- 作者:Leo Davidson衍生品
- 类型:DLL劫持
- 方法:ifileoperation
- 目标:\\ system32 \\ sysprep \\ sysprep.exe
- 组件:dbgcore.dll
- 实施:UCMSTANTARDAUTOELEVATION
- 作品来自:Windows 10 TH1(10240)
- 固定在:Windows 10 TH2(10565)
- 如何:sysprep.exe清单已更新
- 代码状态:从v3.5.0开始删除
- 作者:Leo Davidson衍生品
- 类型:DLL劫持
- 方法:ifileoperation
- 目标:\\ system32 \\ mmc.exe eventvwr.msc
- 组件:elsext.dll
- 实施:UCMMMCMETHOD
- 作品来自:Windows 7(7600)
- 固定在:Windows 10 RS1(14316)中
- 如何:删除丢失的依赖性
- 代码状态:从v3.5.0开始删除
- 作者:Leo Davidson,Winnt/Sirefef衍生品
- 类型:DLL劫持
- 方法:ifileoperation
- 目标:\\ system \\ credwiz.exe,\\ system32 \\ wbem \\ oobe.exe
- 组件:netutils.dll
- 实施:UCMSIREFEFMETHOD
- 作品来自:Windows 7(7600)
- 固定在:Windows 10 TH2(10548)
- 方法:Appinfo高架应用路径控制硬化
- 代码状态:从v3.5.0开始删除
- 作者:Leo Davidson,Win32/Addrop,Metasploit衍生品
- 类型:DLL劫持
- 方法:ifileoperation
- 目标:\\ system32 \\ cliconfg.exe
- 组件:ntwdblib.dll
- 实施:UCMGenericAutoElevation
- 作品来自:Windows 7(7600)
- 固定在:Windows 10 RS1(14316)中
- 如何:删除Cliconfg.exe自动化
- 代码状态:从v3.5.0开始删除
- 作者:Leo Davidson衍生品
- 类型:DLL劫持
- 方法:ifileoperation
- 目标(s):\\ System32 \\ Gwx \\ gwxuxworker.exe,\\ System32 \\ inetsrv \\ inetmgr.exe
- 组件:slc.dll
- 实施:UCMGWX
- 作品来自:Windows 7(7600)
- 固定在:Windows 10 RS1(14316)中
- 方法:Appinfo高架应用路径控制和INETMGR可执行硬化
- 代码状态:从v3.5.0开始删除
- 作者:Leo Davidson衍生品
- 类型:DLL劫持(导入转发)
- 方法:ifileoperation
- 目标:\\ system32 \\ sysprep \\ sysprep.exe
- 组件:unpcl.dll
- 实施:UCMSTANTARDAUTOELEVATION2
- 作品来自:Windows 8.1(9600)
- 修复在:Windows 10 RS1(14371)
- 如何:sysprep.exe清单已更新
- 代码状态:从v3.5.0开始删除
- 作者:Leo Davidson衍生品
- 类型:DLL劫持(清单)
- 方法:ifileoperation
- target(s):\\ system32 \\ taskhost.exe,\\ system32 \\ tzsync.exe(任何MS EXE没有清单)
- 组件:攻击者定义
- 实施:ucmautoelevatemanifest
- 作品来自:Windows 7(7600)
- 修复在:Windows 10 RS1(14371)
- 方法:清单解析逻辑审查
- 代码状态:从v3.5.0开始删除
- 作者:Leo Davidson衍生品
- 类型:DLL劫持
- 方法:ifileoperation
- 目标:\\ system32 \\ inetsrv \\ inetmgr.exe
- 组件:mscoree.dll
- 实施:UCMINETMGRMETHOD
- 作品来自:Windows 7(7600)
- 固定在:Windows 10 RS1(14376)
- 如何:inetmgr.exe可执行明显的硬化,减轻 – > processimageloadpolicy-> prefersystem32Images
- 代码状态:从v3.5.0开始删除
- 作者:Leo Davidson衍生品
- 类型:DLL劫持
- 方法:ifileoperation
- 目标:\\ system32 \\ mmc.exe,rsop.msc
- 组件:wbemcomn.dll
- 实施:UCMMMCMETHOD
- 作品来自:Windows 7(7600)
- 固定在:Windows 10 RS3(16232)中
- 方法:目标需要MS签名wbemcomn.dll
- 代码状态:从v3.5.0开始删除
- 作者:Leo Davidson衍生品
- 类型:DLL劫持
- 方法:ifileoperation,sxs dotlocal
- 目标:\\ system32 \\ sysprep \\ sysprep.exe
- 组件:comctl32.dll
- 实施:UCMSXSMETHOD
- 作品来自:Windows 7(7600)
- 固定在:Windows 10 RS3(16232)中
- 如何:MativePolicy-> ProcessImageloadpolicy–> prefersystem32Images
- 代码状态:从v3.5.0开始删除
- 作者:Leo Davidson衍生品
- 类型:DLL劫持
- 方法:ifileoperation,sxs dotlocal
- 目标:\\ system32 \\ consent.exe
- 组件:comctl32.dll
- 实施:UCMSXSMETHOD
- 作品来自:Windows 7(7600)
- 固定在:未固定的?
- 如何: –
- 代码状态:添加在v2.5.0中
- 作者:Leo Davidson衍生品
- 类型:DLL劫持
- 方法:ifileoperation
- 目标:\\ system32 \\ pkgmgr.exe
- 组件:dismcore.dll
- 实施:UCMDismethod
- 作品来自:Windows 7(7600)
- 固定在:未固定的?
- 如何: –
- 代码状态:在v2.5.1中添加
- 作者:BreakingMalware
- 类型:Shell API
- 方法:环境变量扩展
- 目标:\\ system32 \\ compmgmtlauncher.exe
- 组件:攻击者定义
- 实施:UCMCOMETMETHOD
- 作品来自:Windows 7(7600)
- 固定在:Windows 10 RS2(15031)中
- 如何:compmgmtlauncher.exe自动撤消已删除
- 代码状态:从v3.5.0开始删除
- 作者:Enigma0x3
- 类型:Shell API
- 方法:注册表密钥操作
- 目标(s):\\ system32 \\ eventvwr.exe,\\ system32 \\ compmgmtlauncher.exe
- 组件:攻击者定义
- 实施:UCMHIJACKSHELLCOMBANDMETHOD
- 作品来自:Windows 7(7600)
- 固定在:Windows 10 RS2(15031)中
- 如何:eventvwr.exe重新设计,compmgmtlauncher.exe自动删除
- 代码状态:从v3.5.0开始删除
- 作者:Enigma0x3
- 类型:种族条件
- 方法:文件覆盖
- 目标:%temp%\\ guid \\ dismhost.exe
- 组件:logprovider.dll
- 实施:UCMDiskCleanUpraceCondition
- 作品来自:Windows 10 TH1(10240)
- 始终不兼容
- 固定在:Windows 10 RS2(15031)中
- 方式:更改文件安全许可
- 代码状态:从v3.5.0开始删除
- 作者:爆发力
- 类型:高架com界面
- 方法:iarpuninstallStringLauncher
- 目标:攻击者定义
- 组件:攻击者定义
- 实施:UCMunInstalllauncherMethod
- 作品来自:Windows 7(7600)
- 固定在:Windows 10 RS3(16199)中
- 如何:从comautoapprovallist中删除启用stallstringlauncher界面
- 代码状态:从v3.5.0开始删除
- 作者:漏洞/沙虫
- 类型:白名单组件
- 方法:InfdeFaultInstall
- 目标:攻击者定义
- 组件:攻击者定义
- 实施:UCMSAND虫术
- 作品来自:Windows 7(7600)
- 固定在:Windows 8.1(9600)
- 如何:infdefaultinstall.exe从g_lpautoapproverexelist删除(MS14-060)
- 代码状态:从v3.5.0开始删除
- 作者:Enigma0x3
- 类型:Shell API
- 方法:注册表密钥操作
- 目标:\\ system32 \\ sdclt.exe
- 组件:攻击者定义
- 实施:UCMAPPPATHMETHOD
- 作品来自:Windows 10 TH1(10240)
- 固定在:Windows 10 RS3(16215)中
- 如何:Shell API更新
- 代码状态:从v3.5.0开始删除
- 作者:LEO Davidson衍生产品,LHC645
- 类型:DLL劫持
- 方法:WOW64记录器
- 目标:\\ syswow64 \\ {任何高架exe,例如wusa.exe}
- 组件:wow64log.dll
- 实施:UCMWOW64LOGGERMETHOD
- 作品来自:Windows 7(7600)
- 固定在:未固定的?
- 如何: –
- 代码状态:添加在v2.7.0中
- 作者:Enigma0x3
- 类型:Shell API
- 方法:注册表密钥操作
- 目标:\\ system32 \\ sdclt.exe
- 组件:攻击者定义
- 实现:UCMSDCLTSOLAINTCOMANDMETHOD
- 作品来自:Windows 10 TH1(10240)
- 固定在:Windows 10 RS4(17025)
- 如何:Shell API / Windows组件更新
- 代码状态:从v3.5.0开始删除
- 作者:xi-tauw
- 类型:DLL劫持
- 方法:UIACCESS应用程序的UIPI旁路
- 目标(s):\\ program Files \\ Windows Media Player \\ OSK.EXE,\\ System32 \\ EventVwr.exe,\\ System32 \\ MMC.EXE
- 组件:duser.dll,osksupport.dll
- 实施:UCMUIACCESSMETHOD
- 作品来自:Windows 7(7600)
- 固定在:未固定的?
- 如何: –
- 代码状态:添加在v2.7.1中
- 作者:winscripting.blog
- 类型:Shell API
- 方法:注册表密钥操作
- 目标:\\ system32 \\ fodhelper.exe
- 组件:攻击者定义
- 实现:UCMShellRegModMethod
- 作品来自:Windows 10 TH1(10240)
- 固定在:未固定的?
- 如何: –
- 代码状态:添加在v2.7.2中
- 作者:詹姆斯·福肖
- 类型:Shell API
- 方法:环境变量扩展
- 目标:\\ system32 \\ svchost.exe通过\\ system32 \\ schtasks.exe
- 组件:攻击者定义
- 实施:UCMDiskCleanUpenvironmentVarient
- 作品来自:Windows 8.1(9600)
- 始终不兼容
- 固定在:未固定的?
- 如何: –
- 代码状态:添加在v2.7.2中
- 作者:CIA和James Forshaw
- 类型:模仿
- 方法:令牌操作
- 目标:自动化应用程序
- 组件:攻击者定义
- 实施:UCMTokenModification
- 作品来自:Windows 7(7600)
- 始终不兼容,请参阅注释
- 固定在:Windows 10 RS5(17686)中
- 如何:ntoskrnl.exe-> setokencanImpersonate添加了其他访问令牌检查
- 代码状态:从v3.5.0开始删除
- 作者:托马斯·范霍特(Thomas vanhoutte)又名SandboxEscaper
- 类型:种族条件
- 方法:ntfs reparse Point&DLL劫持
- 目标:wusa.exe,pkgmgr.exe
- 组件:攻击者定义
- 实施:UCMJUNCTICTMETHOD
- 作品来自:Windows 7(7600)
- 固定在:未固定的?
- 如何: –
- 代码状态:添加在v2.7.4中
- 作者:Ernesto Fernandez,Thomas vanhoutte
- 类型:DLL劫持
- 方法:sxs dotlocal,ntfs repales点
- 目标:\\ system32 \\ dccw.exe
- 组件:gdiplus.dll
- 实施:UCMSXSDCCWMETHOD
- 作品来自:Windows 7(7600)
- 固定在:未固定的?
- 如何: –
- 代码状态:添加在v2.7.5中
- 作者:Clement Rouault
- 类型:白名单组件
- 方法:appinfo命令行欺骗
- 目标:\\ system32 \\ mmc.exe
- 组件:攻击者定义
- 实施:UCMHAKRILMETHOD
- 作品来自:Windows 7(7600)
- 固定在:未固定的?
- 如何: –
- 代码状态:添加在v2.7.6中
- 作者:Stefan Kanthak
- 类型:DLL劫持
- 方法:.NET代码分析器
- 目标:\\ system32 \\ mmc.exe
- 组件:攻击者定义
- 实施:UCMCORPROFILEMETHOD
- 作品来自:Windows 7(7600)
- 固定在:未固定的?
- 如何: –
- 代码状态:添加在v2.7.7中
- 作者:鲁本·博恩(Ruben Boonen)
- 类型:com处理者劫持
- 方法:注册表密钥操作
- 目标:\\ system32 \\ mmc.exe,\\ system32 \\ recdisc.exe
- 组件:攻击者定义
- 实施:UCMCOMHANDLERSMETHOD
- 作品来自:Windows 7(7600)
- 固定在:Windows 10 19H1(18362)
- 方式:窗户的副作用变化
- 代码状态:从v3.5.0开始删除
- 作者:Oddvar Moe
- 类型:高架com界面
- 方法:icmluautil
- 目标:攻击者定义
- 组件:攻击者定义
- 实施:UCMCMLUAUTILSHELLEXECMETHOD
- 作品来自:Windows 7(7600)
- 固定在:未固定的?
- 如何: –
- 代码状态:添加在v2.7.9中
- 作者:BreakingMalware和Enigma0x3
- 类型:高架com界面
- 方法:ifwcpllua
- 目标:攻击者定义
- 组件:攻击者定义
- 实施:UCMFWCPLLUAMETHOD
- 作品来自:Windows 7(7600)
- 固定在:Windows 10 RS4(17134)
- 如何:Shell API更新
- 代码状态:从v3.5.0开始删除
- 作者:Oddvar Moe衍生
- 类型:高架com界面
- 方法:Icolordataproxy,Icmluautil
- 目标:攻击者定义
- 组件:攻击者定义
- 实施:UCMDCCWCommethod
- 作品来自:Windows 7(7600)
- 固定在:未固定的?
- 如何: –
- 代码状态:添加在v2.8.3中
- 作者:Bytecode77
- 类型:Shell API
- 方法:环境变量扩展
- 目标:多个自动拔出的过程
- 组件:每个目标的各种
- 实施:ucmvolatileenvmethod
- 作品来自:Windows 7(7600)
- 固定在:Windows 10 RS3(16299)中
- 方法:当前用户系统目录变量在过程创建过程中忽略了
- 代码状态:从v3.5.0开始删除
- 作者:Bytecode77
- 类型:Shell API
- 方法:注册表密钥操作
- 目标:\\ system32 \\ slui.exe
- 组件:攻击者定义
- 实施:UCMSluiHijackMethod
- 作品来自:Windows 8.1(9600)
- 固定在:Windows 10 20H1(19041)
- 方式:窗户的副作用变化
- 代码状态:从v3.5.0开始删除
- 作者:匿名
- 类型:种族条件
- 方法:注册表密钥操作
- 目标:\\ system32 \\ bitlockerwizardelev.exe
- 组件:攻击者定义
- 实施:UCMBITLOCKERRCMETHOD
- 作品来自:Windows 7(7600)
- 修复在:Windows 10 RS4(> 16299)中
- 如何:Shell API更新
- 代码状态:从v3.5.0开始删除
- 作者:Clavoillotte和3gStudent
- 类型:com处理者劫持
- 方法:注册表密钥操作
- 目标:\\ system32 \\ mmc.exe
- 组件:攻击者定义
- 实施:UCMCOMHANDLERSMETHOD2
- 作品来自:Windows 7(7600)
- 固定在:Windows 10 19H1(18362)
- 方式:窗户的副作用变化
- 代码状态:从v3.5.0开始删除
- 作者:Deroko
- 类型:高架com界面
- 方法:isppluaObject
- 目标:攻击者定义
- 组件:攻击者定义
- 实现:UCMSPPluaObjectMethod
- 作品来自:Windows 7(7600)
- 固定在:Windows 10 RS5(17763)中
- 如何:isppluaObject接口方法更改
- 代码状态:从v3.5.0开始删除
- 作者:Rinn
- 类型:高架com界面
- 方法:iCreatenewlink
- 目标:\\ system32 \\ tpminit.exe
- 组件:wbemcomn.dll
- 实施:UCMCREATENEWLINKMETHOD
- 作品来自:Windows 7(7600)
- 固定在:Windows 10 RS1(14393)
- 方法:同意的副作用。Execomautoapprovallist介绍
- 代码状态:从v3.5.0开始删除
- 作者:匿名
- 类型:高架com界面
- 方法:idateTeTeStateWrite,isppluaObject
- 目标:W32Time服务
- 组件:w32time.dll
- 实现:UCMDATETESTATEWRITERMETHOD
- 作品来自:Windows 7(7600)
- 固定在:Windows 10 RS5(17763)中
- 方法:IsppluaObject接口的副作用更改
- 代码状态:从v3.5.0开始删除
- 作者:Bytecode77衍生物
- 类型:高架com界面
- 方法:iAccessibilitycpladmin
- 目标:\\ system32 \\ rstrui.exe
- 组件:攻击者定义
- 实施:UCMACCPLADMINMETHOD
- 作品来自:Windows 7(7600)
- 固定在:Windows 10 RS4(17134)
- 如何:Shell API更新
- 代码状态:从v3.5.0开始删除
- 作者:大卫·威尔斯
- 类型:白名单组件
- 方法:aipnormalizepath解析滥用
- 目标:攻击者定义
- 组件:攻击者定义
- 实施:UCMDirectoryMockMethod
- 作品来自:Windows 7(7600)
- 固定在:未固定的?
- 如何: –
- 代码状态:添加在v3.0.4中
- 作者:Emeric Nasi
- 类型:Shell API
- 方法:注册表密钥操作
- 目标:\\ system32 \\ sdclt.exe
- 组件:攻击者定义
- 实现:UCMShellRegModMethod
- 作品来自:Windows 10(14393)
- 固定在:未固定的?
- 如何: –
- 代码状态:添加在v3.1.3中
- 作者:Egre55
- 类型:DLL劫持
- 方法:DLL路径搜索滥用
- 目标:\\ syswow64 \\ SystemPropertiesAdvanced.exe和其他SystemProperties*.exe
- 组件(S):\\ AppData \\ local \\ Microsoft \\ WindowsApps \\ srrstr.dll
- 实施:UCMEGRE55Method
- 作品来自:Windows 10(14393)
- 固定在:Windows 10 19H1(18362)
- 如何:sysdm.cpl!_createsystemtorepage已更新了用于安全加载库调用
- 代码状态:从v3.5.0开始删除
- 作者:詹姆斯·福肖
- 类型:GUI HACK
- 方法:UIPI旁路带有令牌修改
- 目标:\\ system32 \\ osk.exe,\\ system32 \\ msconfig.exe
- 组件:攻击者定义
- 实施:UCMTOKENMODUIACCESSMETHOD
- 作品来自:Windows 7(7600)
- 固定在:Windows 10 RS5(17763),贴片的一部分,2024年
- 如何:当降低UIACCESS令牌的完整性级别时,删除了UIACCESS属性
- 代码状态:添加在v3.1.5中
- 作者:Hashim Jawad
- 类型:Shell API
- 方法:注册表密钥操作
- 目标:\\ System32 \\ wsreset.exe
- 组件:攻击者定义
- 实现:UCMSHELLREGMODMETHOD2
- 作品来自:Windows 10(17134)
- 固定在:Windows 11(22000)
- 如何:Windows组件重新设计
- 代码状态:从v3.5.7?开始删除
- 作者:Win32/Gapz的Leo Davidson衍生品
- 类型:DLL劫持
- 方法:ifileoperation
- 目标:\\ system32 \\ sysprep \\ sysprep.exe
- 组件:unatsend.dll
- 实施:UCMSTANTARDAUTOELEVATION
- 作品来自:Windows 7(7600)
- 固定在:Windows 8.1(9600)
- 如何:sysprep.exe硬化的负载从明显元素出现
- 代码状态:从v3.5.0开始删除
- 作者:Rinn
- 类型:高架com界面
- 方法:IEDITIONUPGRADEMANAGER
- 目标:\\ system32 \\ clipup.exe
- 组件:攻击者定义
- 实施:UCMeditionUpgradeManagerMethod
- 作品来自:Windows 10(14393)
- 固定在:未固定的?
- 如何: –
- 代码状态:添加在v3.2.0中
- 作者:詹姆斯·福肖
- 类型:appinfo alpc
- 方法:railaunchadminprocess和debugobject
- 目标:攻击者定义
- 组件:攻击者定义
- 实现:UCMDEBUGOBJECTMETHOD
- 作品来自:Windows 7(7600)
- 固定在:未固定的?
- 如何: –
- 代码状态:添加在v3.2.3中
- 作者:Winnt/Glupteba的Enigma0x3衍生物
- 类型:Shell API
- 方法:注册表密钥操作
- 目标:\\ system32 \\ compmgmtlauncher.exe
- 组件:攻击者定义
- 实施:UCMGLUPTEBAMETHOD
- 作品来自:Windows 7(7600)
- 固定在:Windows 10 RS2(15063)中
- 如何:compmgmtlauncher.exe自动撤消已删除
- 代码状态:从v3.5.0开始删除
- 作者:Nassim Asrir的Enigma0x3/bytecode77导数
- 类型:Shell API
- 方法:注册表密钥操作
- 目标:\\ system32 \\ slui.exe,\\ system32 \\ changepk.exe
- 组件:攻击者定义
- 实现:UCMShellRegModMethod
- 作品来自:Windows 10(14393)
- 固定在:未固定的?
- 如何: –
- 代码状态:添加在v3.2.5中
- 作者:winscripting.blog
- 类型:Shell API
- 方法:注册表密钥操作
- 目标:\\ System32 \\ ComputerDefaults.exe
- 组件:攻击者定义
- 实现:UCMShellRegModMethod
- 作品来自:Windows 10 RS4(17134)
- 固定在:未固定的?
- 如何: –
- 代码状态:添加在v3.2.6中
- 作者:Arush Agarampur
- 类型:DLL劫持
- 方法:IsecurityEditor
- 目标:本机图像缓存元素
- 组件:攻击者定义
- 实施:UCMNICPOISONMETHOD
- 作品来自:Windows 7(7600)
- 固定在:未固定的?
- 如何: –
- 代码状态:在v3.2.7中添加
- 作者:Arush Agarampur
- 类型:高架com界面
- 方法:iieaxiadmininstaller,iieaxiinstaller2,ifileoperation
- 目标:IE附加安装缓存
- 组件:攻击者定义
- 实施:UCMIEADDONINSTALLMETHOD
- 作品来自:Windows 7(7600)
- 固定在:未固定的?
- 如何: –
- 代码状态:添加在v3.5.1中
- 作者:Arush Agarampur
- 类型:高架com界面
- 方法:IWSCADMIN
- 目标:Shell协议劫持
- 组件:攻击者定义
- 实施:UCMWScationProtocolMethod
- 作品来自:Windows 7(7600)
- 固定在:Windows 11 24H2(26100)
- 方式:窗户的副作用变化
- 代码状态:添加在v3.5.2中
- 作者:Arush Agarampur
- 类型:高架com界面
- 方法:ifwcpllua,外壳协议劫持
- 目标:Shell协议注册表输入和环境变量
- 组件:攻击者定义
- 实施:UCMFWCPLLUAMETHOD2
- 作品来自:Windows 7(7600)
- 固定在:Windows 11 24H2(26100)
- 方式:窗户的副作用变化
- 代码状态:添加在v3.5.3中
- 作者:Arush Agarampur
- 类型:Shell API
- 方法:外壳协议劫持
- 目标:\\ system32 \\ fodhelper.exe
- 组件:攻击者定义
- 实施:UCMMSSettingsProtocolMethod
- 作品来自:Windows 10 TH1(10240)
- 固定在:未固定的?
- 如何: –
- 代码状态:添加在v3.5.4中
- 作者:Arush Agarampur
- 类型:Shell API
- 方法:外壳协议劫持
- 目标:\\ System32 \\ wsreset.exe
- 组件:攻击者定义
- 实施:UCMMSStore -ProtocolMethod
- 作品来自:Windows 10 RS5(17763)
- 固定在:未固定的?
- 如何: –
- 代码状态:添加在v3.5.5中
- 作者:Arush Agarampur
- 类型:Shell API
- 方法:环境变量扩展,dll劫持
- 目标:\\ system32 \\ taskhostw.exe
- 组件:pcadm.dll
- 实施:UCMPCAMETHOD
- 作品来自:Windows 7(7600)
- 始终不兼容
- 固定在:未固定的?
- 如何: –
- 代码状态:添加在v3.5.6中
- 作者:V3D
- 类型:Shell API
- 方法:注册表密钥操作
- 目标:\\ system32 \\ fodhelper.exe,\\ system32 \\ computerdefaults.exe
- 组件:攻击者定义
- 实现:UCMSHELLREGMODMETHOD3
- 作品来自:Windows 10(10240)
- 固定在:未固定的?
- 如何: –
- 代码状态:添加在v3.5.7中
- 作者:Arush Agarampur
- 类型:DLL劫持
- 方法:IsecurityEditor
- 目标:本机图像缓存元素
- 组件:攻击者定义
- 实施:UCMNICPOISONMETHOD2
- 作品来自:Windows 7 RTM(7600)
- 固定在:未固定的?
- 如何: –
- 代码状态:添加在v3.5.8中
- 作者:Emeric Nasi
- 类型:DLL劫持
- 方法:DLL路径搜索滥用
- 目标:\\ syswow64 \\ msdt.exe,\\ system32 \\ sdiagnhost.exe
- 组成部分:蓝牙diagnosticutil.dll
- 实施:UCMMSDTMethod
- 作品来自:Windows 10(10240)
- 固定在:未固定的?
- 如何: –
- 代码状态:添加在v3.5.9中
- 作者:Orange_8361和Antoniococo
- 类型:Shell API
- 方法:.NET避难所
- 目标:\\ system32 \\ mmc.exe eventvwr.msc
- 组件:攻击者定义
- 实施:UCMDotnetserialMethod
- 作品来自:Windows 7 RTM(7600)
- 固定在:未固定的?
- 如何: –
- 代码状态:添加在v3.6.0中
- 作者:ZCGONVH
- 类型:高架com界面
- 方法:ielevatedFactoryServer
- 目标:攻击者定义
- 组件:攻击者定义
- 实现:UCMVFServertaskschedMethod
- 作品来自:Windows 8.1(9600)
- 固定在:未固定的?
- 如何: –
- 代码状态:添加在v3.6.1中
- 作者:WH04M1001的ZCGONVH导数
- 类型:高架com界面
- 方法:IDIANGNOSTICPROFILE
- 目标:攻击者定义
- 组件:攻击者定义
- 实施:UCMVFServerdiagProfileMethod
- 作品来自:Windows 7 RTM(7600)
- 固定在:未固定的?
- 如何: –
- 代码状态:添加在v3.6.2中
- 作者:黑客
- 类型:DLL劫持
- 方法:DLL路径搜索滥用,注册表密钥操作
- 目标:\\ syswow64 \\ iscsicpl.exe
- 组件:iscsiexe.dll
- 实施:ucmiscsicplmethod
- 作品来自:Windows 7 RTM(7600)
- 固定在:未固定的?
- 如何: –
- 代码状态:添加在v3.6.3中
- 作者:Arush Agarampur
- 类型:DLL劫持
- 方法:ifileoperation
- 目标:\\ system32 \\ mmc.exe
- 组件:atl.dll
- 实施:ucmatlhijackmethod
- 作品来自:Windows 7 RTM(7600)
- 固定在:未固定的?
- 如何: –
- 代码状态:添加在v3.6.4中
- 作者:Antoniococo
- 类型:模仿
- 方法:SSPI数据报
- 目标:攻击者定义
- 组件:攻击者定义
- 实施:UCMSSPIDATAGRAMPHOD
- 作品来自:Windows 7 RTM(7600)
- 始终不兼容
- 固定在:Windows 10(19041),《补丁的一部分》,2024年?年
- 方式:窗户的副作用变化
- 代码状态:添加在v3.6.5中
- 作者:James Forshaw和Stefan Kanthak
- 类型:GUI HACK
- 方法:UIPI旁路带有令牌修改
- 目标:\\ system32 \\ osk.exe,\\ system32 \\ mmc.exe
- 组件:攻击者定义
- 实施:UCMTOKENMODUIACCESSMETHOD2
- 作品来自:Windows 7(7600)
- 固定在:Windows 10 RS5(17763),贴片的一部分,2024年
- 如何:当降低UIACCESS令牌的完整性级别时,删除了UIACCESS属性
- 代码状态:添加在v3.6.6中
- 作者:R41N3RZUF477
- 类型:Shell API
- 方法:环境变量扩展,dll劫持
- 目标:\\ system32 \\ taskhostw.exe
- 组件:performanceTraceHandler.dll
- 实施:UCMrequestTraceMeThod
- 作品来自:Windows 11(26100)
- 始终不兼容
- 固定在:未固定的?
- 如何: –
- 代码状态:添加在v3.6.7中
- 作者:R41N3RZUF477
- 类型:Shell API
- 方法:环境变量扩展,DLL劫持,UIPI旁路
- 目标:\\ System32 \\ QuickAssist.exe
- 组件:embeddedbrowserwebview.dll
- 实施:UCMQUICKASSISTMETHOD
- Windows 10(19041)的作品
- 始终不兼容
- 固定在:未固定的?
- 如何: –
- 代码状态:添加在v3.6.8中
重要说明:
- 方法30、63及以后仅在X64版本中实现
- 方法30需要x64,因为它利用了WOW64子系统功能
- 方法55主要用于教育目的,可能不可靠
- 方法78要求当前的用户帐户密码不是空白
警告
配x重要的安全性和使用信息:
- 该工具仅说明了恶意软件使用的公开已知的UAC旁路方法。它以不同的方式重新实现了一些技术来改进原始概念。
- 不打算进行防病毒测试,也不能保证在具有积极安全软件的环境中工作。与主动防病毒软件一起使用。
- 许多防病毒解决方案可能将此工具标记为“ hacktool” – 这是由于其功能而预期的行为。
- 使用后清理:如果在生产系统上运行,请确保以后删除所有程序工件。有关删除到系统文件夹的文件的详细信息,请参见源代码。
- 大多数方法主要是针对X64系统开发的。尽管许多人可以在X86-32上进行少量调整,但32位支持并不是该项目的重点。
- 有关Microsoft的官方说明,请参阅:Microsoft在UAC上的立场,请参见:
Windows 10支持和测试策略
- UACME仅使用LSTB/LTSC变体(1607/1809)和当前RTM-1版本测试
- 例如:如果当前版本是2004,则将在2004年(19041)和前1909年(18363)进行测试
- 内幕构建不受支持,因为方法可以在预览版本中固定
保护措施
对UAC旁路技术的最有效保护是使用没有管理特权的帐户。
建立说明
UACME用C编写,需要Microsoft Visual Studio 2019或更高版本才能从源头构建。
先决条件
- IDE :Microsoft Visual Studio 2019或2022
- SDK要求:
- Windows 8.1或Windows 10 SDK(使用19041版本测试)
- Net Framework SDK(用4.8版测试)
建立步骤
-
配置平台工具集(Project-> properties-> enstry):
- 对于Visual Studio 2019:选择V142
- 对于视觉工作室2022:选择V143
-
设置目标平台版本(project-> properties->一般):
- 对于V140:选择8.1(必须安装Windows 8.1 SDK)
- 对于V141及以上:选择10
-
构建过程:
- 编译有效载荷单元
- 编译Naka模块
- 使用Naka模块加密所有有效载荷单位
- 使用Naka模块为这些单位生成秘密斑点
- 将编译的单位和秘密斑点移至Akagi \\ bin目录
- 重建Akagi
注意:未提供编译的二进制文件,永远不会提供。这是抵制恶意用法的障碍,并有助于维持该项目的教育目的。
法律免责声明
- 此工具仅用于教育和研究目的
- 对于在恶意活动中使用的该工具,我们不承担任何责任
- 使用此代码进行商业活动,我们与任何“安全公司”没有隶属关系
- 此GitHub存储库(HFIREF0X/ UACME )是UACME代码的唯一真正来源
支持
如果您觉得这个项目很有趣,可以给我买咖啡
BTC(比特币):BC1QZKVTPA0053CAGF35DQMPVV9K8HYRWL7KRWDZ84Q39MCPY68Y6TMQSJU0G4
参考
- Windows 7 UAC Whitelist,http://www.pretentiousname.com/misc/win7_uac_whitelist2.html
- 恶意应用程序兼容性Shims,https://www.b**lackh*at.com/docs/eu-15/materials/eu-15-pierce-defending-against-malicious-application-complication-compatibility-compatibility-compatibility-compatibility-shims-wp.pdf.pdf
- winsxs开发团队博客的Junfeng Zhang,https://blogs.ms**dn.m*icrosoft.com/junfeng/
- 超越良好的运行键,系列文章,http://www.hexacorn.com/blog
- kernelmode.info UACME线程,https://www.**kernelm*ode.info/forum/viewtopicf985.html?f=11&t=3643
- 命令注入/高程 – 重新访问的环境变量,https://breakingmalware.com/vulnerabilities/command-indoction-and-comption-and-elevation-elevation-eenvironment-variables-revisited
- 使用EventVwr.exe和注册表劫持的“无归档” UAC旁路
- 使用磁盘清理在Windows 10上绕过UAC,https://*enig*ma*0x3.net/2016/07/22/bypassing-uac-uac-on-windows-10——-
- 使用IARPUNINSTALLSTALLSTALLSTALLSTALLSTALLSTALLSTALLSTALLSTALLECOM接口绕过UAC,http://www.**f*reebuf.com/articles/articles/system/116611.html
- 使用应用程序路径绕过UAC,https://eni*gm*a*0x3.net/2017/03/14/bypassing-uac-using-usion-app-paths/
- 使用sdclt.exe,https://enigma0x3.net/2017/03/17/fileless-uac-bypass-using-sdclt-exe/
- UAC旁路或有关三个升级的故事,https://ha**braha*br.ru/company/pm/blog/328008/
- Exploiting Environment Variables in Scheduled Tasks for UAC Bypass, https://tyranidslair.**b*logspot.ru/2017/05/exploiting-environment-variables-in.html
- First entry: Welcome and fileless UAC bypass, https://w*ins**cripting.blog/2017/05/12/first-entry-welcome-and-uac-bypass/
- Reading Your Way Around UAC in 3 parts:
- https://tyranidslair.b**logs*pot.ru/2017/05/reading-your-way-around-uac-part-1.html
- https://tyranidslair.blo**gspo*t.ru/2017/05/reading-your-way-around-uac-part-2.html
- https://tyranidslair.**blo*gspot.ru/2017/05/reading-your-way-around-uac-part-3.html
- Research on CMSTP.exe, https://ms*it*pros.c*om/?p=3960
- UAC bypass via elevated .NET applications, https://offsec.prov*ady**s.com/UAC-bypass-dotnet.html
- UAC Bypass by Mocking Trusted Directories, https://**medium*.com/tenable-techblog/uac-bypass-by-mocking-trusted-directories-24a96675f6e
- Yet another sdclt UAC bypass, http://blog.se*va**gas.com/?Yet-another-sdclt-UAC-bypass
- UAC Bypass via SystemPropertiesAdvanced.exe and DLL Hijacking, https://egre55.g*i*t*hub.io/system-properties-uac-bypass/
- Accessing Access Tokens for UIAccess, https://tyranidslair.b*l*ogs*pot.com/2019/02/accessing-access-tokens-for-uiaccess.html
- Fileless UAC Bypass in Windows Store Binary, https://www.act*i*ve*cyber.us/1/post/2019/03/windows-uac-bypass.html
- Calling Local Windows RPC Servers from .NET, https://googleprojectzero.b*l*og*spot.com/2019/12/calling-local-windows-rpc-servers-from.html
- Microsoft Windows 10 UAC bypass local privilege escalation exploit, https://pa**ck*etstormsecurity.com/files/155927/Microsoft-Windows-10-Local-Privilege-Escalation.html
- UACME 3.5, WD and the ways of mitigation, https://swapcontext.bl*o*gs*pot.com/2020/10/UACME-35-wd-and-ways-of-mitigation.html
- UAC bypasses from COMAutoApprovalList, https://swapcontext.*blogs**pot.com/2020/11/uac-bypasses-from-comautoapprovallist.html
- Utilizing Programmatic Identifiers (ProgIDs) for UAC Bypasses, https://v3ded.*gith**ub.io/redteam/utilizing-programmatic-identifiers-progids-for-uac-bypasses
- MSDT DLL Hijack UAC bypass, https://blog.s*ev**agas.com/?MSDT-DLL-Hijack-UAC-bypass
- UAC bypass through .Net Deserialization vulnerability in eventvwr.exe, https://twi*t*te*r.com/orange_8361/status/1518970259868626944
- Advanced Windows Task Scheduler Playbook – Part.2 from COM to UAC bypass and get SYSTEM directly, http://www.*zc*go*nvh.com/post/Advanced_Windows_Task_Scheduler_Playbook-Part.2_from_COM_to_UAC_bypass_and_get_SYSTEM_dirtectly.html
- Bypassing UAC with SSPI Datagram Contexts, https://splintercod3.b*lo*gs*pot.com/p/bypassing-uac-with-sspi-datagram.html
- Mitigate some Exploits for Windows\’® UAC, https://skanthak.hier-im*-*net*z.de/uacamole.html
作者
(c) 2014 – 2025 UACME Project
