Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 200

COM 劫持

COM 劫持 是什么?

COM 劫持一种持久化技术,将 Windows 组件对象模型的 CLSID 查找重定向到攻击者代码,只要宿主进程实例化该对象就会执行。


COM 劫持(MITRE ATT&CK T1546.015)滥用 Windows 组件对象模型的注册机制。每个 COM 对象由位于 HKLM 或 HKCU 的 CLSID 标识;Windows 优先检查每个用户的 HKCU\Software\Classes\CLSID,因此普通用户即可为高频 CLSID 注册恶意的 InProcServer32,从而让 Explorer、Office 或计划任务加载其 DLL 或脚本对象。由于触发点是合法的 CoCreateInstance API 调用,因而隐蔽性强、能够跨越重启保持。检测重点是 HKCU 下的新 CLSID 项、可写路径下的未签名 DLL,以及 explorer.exe 的异常子进程;防御措施包括启用 AppLocker/WDAC、Sysmon 注册表监控,以及收紧敏感键的写权限。

示例

  1. 01

    在 HKCU\Software\Classes\CLSID 下注册恶意 InProcServer32,劫持 Explorer 登录时加载的 CLSID。

  2. 02

    劫持计划任务的 COM 处理程序,让例行任务加载攻击者代码。

常见问题

COM 劫持 是什么?

一种持久化技术,将 Windows 组件对象模型的 CLSID 查找重定向到攻击者代码,只要宿主进程实例化该对象就会执行。 它属于网络安全的 攻击与威胁 分类。

COM 劫持 是什么意思?

一种持久化技术,将 Windows 组件对象模型的 CLSID 查找重定向到攻击者代码,只要宿主进程实例化该对象就会执行。

COM 劫持 是如何工作的?

COM 劫持(MITRE ATT&CK T1546.015)滥用 Windows 组件对象模型的注册机制。每个 COM 对象由位于 HKLM 或 HKCU 的 CLSID 标识;Windows 优先检查每个用户的 HKCU\Software\Classes\CLSID,因此普通用户即可为高频 CLSID 注册恶意的 InProcServer32,从而让 Explorer、Office 或计划任务加载其 DLL 或脚本对象。由于触发点是合法的 CoCreateInstance API 调用,因而隐蔽性强、能够跨越重启保持。检测重点是 HKCU 下的新 CLSID 项、可写路径下的未签名 DLL,以及 explorer.exe 的异常子进程;防御措施包括启用 AppLocker/WDAC、Sysmon 注册表监控,以及收紧敏感键的写权限。

如何防御 COM 劫持?

针对 COM 劫持 的防御通常结合技术控制与运营实践,详见上方完整定义。

COM 劫持 还有哪些其他名称?

常见的别称包括: 组件对象模型劫持, CLSID 劫持。

相关术语