红蓝攻防
点击放大


利用Autoelevated属性的COM接口配合PEB伪装实现BypassUAC,分成了C和C#版本!
代码摘自:
COM interface可以利用?以UACMe项目中索引为41的方法为例:
该方法的目标接口是ICMLuaUtil,对应Akagi项目中具体实现函数为ucmCMLuaUtilShellExecMethod,在项目中的methods/api0cradle.c文件中可以找到该方法的定义:
![]()
观察发现这里利用的是CMSTPLUA组件的ICMLuaUtil接口。
我的测试系统Windows 10 (1909),使用Ole工具可以查看系统中的COM接口属性信息,注意需要以管理员权限运行。
打开CLSIDs窗口搜索cmstplua,可以快速定位该组件:
![]()
右键查看CMSTPLUA组件的Ele属性:
![]()
这里的Enabled和Auto Approval值都是True表示这个组件可以用来绕过UAC认证,这是第一点。
第二点是目标接口ICMLuaUtil需要有一个可以执行命令的地方,通过在CISIDs窗口鼠标悬浮在ICMLuaUtil上,可以看到该接口对应的二进制文件为cmlua.dll:
![]()
虚函数偏移为cmlua.dll+0x6360,通过IDA打开该系统文件(c:\windows\system32\cmlua.dll),跳到虚函数表的位置,可以看到ICMLuaUtil接口的虚函数表:
![]()
摘出来看接口函数如下:
其中第10个函数ShellExec从IDA中看到该函数调用了ShellExecuteEx这个Windows API实现了命令执行:
![]()
通过对ICMLuaUtil接口的分析,可以看出可以用来BypassUAC执行命令的COM组件需要有两个特点:
1. ele属性启用,且开启Auto Approval;
2. COM组件中的接口存在可以命令执行的地方,例如ICMLuaUtil的ShellExec;
COM组件?除了通过上面的方式在OleView中手动去找,还可以通过UACMe项目提供的Yuubari工具快速查看系统UAC设定信息以及所有可以利用的程序和COM组件,使用方法如下:
使用加载Yuubari,生成后会得到二进制文件UacInfo64.exe,运行后在同目录生成一个log文件记录所有输出结果:
![]()
从这里面可以找到所有的Autoelevated COM objects,包括CMSTPLUA组件的信息:
![]()
ICMLuaUtil的虚函数表通过分析UACMe中的ucmCMLuaUtilShellExecMethod实现可以知道想要利用COM接口,需要知道这几个东西:
COM组件的GUID,即CLSIDinterface的GUID,即IIDShellExec的函数偏移前两个可以很容易找到,虚函数表可以通过OleView提示的虚函数表位置偏移找到,这里再说一种通用的方法,完全利用IDA。
第一步,用IDA打开cmlua.dll;
第二步,在左侧函数列表中搜索destructor或者constructor,双击后跳转后,上下找找可以看到调用的地方:
![]()
双击跳转到变量定义位置,就可以找到虚函数表!
![]()
> 参考:Get interface definition of undocumented COM objects
直接参考代码实现。
开发语言:C#
Star 数:657
该项目属于红蓝攻防方向的开源资源,代码结构清晰,适合安全研究人员学习参考。项目围绕Use ICMLuaUtil to Bypass UAC!展开,提供了可运行的实现,对理解相关安全机制、工具原理与攻防技术具有较高的研究价值。
从技术实现角度看,此类项目的核心在于对底层原理的深入理解与工程化落地。开发者在研究过程中可以结合官方文档与社区讨论,梳理项目的初始化流程、核心模块职责与数据流转,逐步掌握其中的技术细节与设计思路。
1. 下载源码压缩包,解压到本地环境。
2. 根据项目类型准备对应的运行环境与依赖。
3. 按照 README 中的步骤完成配置与部署。
4. 在隔离的测试环境中运行验证,避免影响生产系统。
本资源来源于开源社区,仅供安全研究、技术学习与合法授权范围内的攻防演练使用,请勿用于任何非法或侵害他人权益的用途。使用本项目产生的一切后果由使用者自行承担。
| 资源标题 | BypassUAC - Use ICMLuaUtil to Bypass UAC! |
| 所属分类 | 红蓝攻防 |
| 发布作者 | admin |
| 发布时间 | 2026-10-06 00:38:34 |
| 下载权限 | 免费下载 |
| 附件数量 | 2 个下载链接 |
| 浏览次数 | 89 |
| 讨论数量 | 0 |
| 主题状态 | 正常讨论中 |