文章总结: 本文介绍COM对象劫持技术,主要用于权限维持。其原理在于利用系统组件加载COM对象时的注册表搜索顺序,攻击者可在HKCU下创建恶意CLSID以覆盖系统默认项,实现无需高权限的劫持。常见手法包括劫持现有CLSID与劫持缺失CLSID,并指出应用层劫持是未来趋势。 综合评分: 76 文章分类: 实战经验,红队,渗透测试,内网渗透
COM对象劫持
原创
ybdt ybdt
卡卡罗特取西经
2026年2月15日 19:21 吉林
0x1 前言
COM对象劫持,公开于大概2014年,和DLL劫持一样不是什么新技术但却是至今有效的,DLL劫持目前多用于初始执行阶段,而COM对象劫持多用于权限维持阶段,最近在回顾各类技术,本篇博客没有什么新技术,只做个记录
0x2 COM对象劫持原理
那什么是COM对象劫持?一句话总结就是
系统组件在寻找COM对象时,由于COM对象搜索顺序被劫持而加载了我们的COM对象
对COM不熟悉的同学可能会懵,什么是COM对象?
在注册表项HKEY_CURRENT_USER\SOFTWARE\Classes\CLSID下面,有很多项
image
每一项都是一个CLSID(Class ID),也就是COM对象,那系统组件如何使用这些COM对象呢,就是通过每个CLSID的子项InprocServer32中的默认值指向的dll,加载这个dll来使用这个COM对象,所以在本篇文章中,COM对象 == DLL文件
Windows下系统组件加载一个COM对象时的搜索顺序如下,依次是
- 1. HKEY_CURRENT_USER\Software\Classes\CLSID(所属权限为当前用户的COM对象)
- 2. HKEY_CLASSES_ROOT\CLSID(当前用户COM对象和系统COM对象的合并)
- 3. HKEY_LOCAL_MACHINE\Software\Classes\CLSID(所属权限为系统的COM对象)
大部分系统组件注册COM对象是都注册在HKEY_LOCAL_MACHINE下,但是如果攻击者在HKEY_CURRENT_USER下创建一个同名的CLSID及InprocServer,则系统组件会优先使用攻击者创建的CLSID中dll,而且在HKEY_CURRENT_USER中创建CLSID还不需要额外权限,当前用户权限足以,所以这是一个理想的权限维持方式
0x3 常见劫持手法
1、劫持现有CLSID,如上所述,在HKEY_CURRENT_USER中创建同名CLSID覆盖HKEY_LOCAL_MACHINE中的CLSID,以此劫持现有CLSID
2、劫持缺失CLSID,加载COM对象的不仅是系统组件,还有应用程序,有些应用程序会尝试加载不存在的COM对象,这个时候我们就可以在缺失的位置创建COM对象,以劫持缺失的CLSID
下面的参考文章一部分讲述系统常见组件劫持,一部分讲述任务计划的COM Handler劫持,还有一些工具,可以参考,系统COM对象毕竟是有限的,监控的也是越来越严格,就像DLL劫持一样,后面可能越来越往应用程序的COM对象劫持发展
参考文章
https://www.gdatasoftware.com/blog/2014/10/23941-com-object-hijacking-the-discreet-way-of-persistence https://github.com/3gstudent/COM-Object-hijacking
Userland Persistence with Scheduled Tasks and COM Handler Hijacking
Abusing the COM Registry Structure (Part 2): Hijacking & Loading Techniques
Persistence: “the continued or prolonged existence of something”: Part 2 – COM Hijacking
https://blog.virustotal.com/2024/03/com-objects-hijacking.html https://github.com/nickvourd/COM-Hunter
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:卡卡罗特取西经 ybdt ybdt《COM对象劫持》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









评论