ATT&CK-CN V1.0 Last Update: 2019-03 [返回索引页]

译者: 林妙倩(清华大学网络研究院网络空间安全实习生) 原创翻译作品,如果需要转载请取得翻译作者同意。

数据来源:ATT&CK Matrices

原文: https://attack.mitre.org/techniques/T1122

术语表: /attack/glossary

组件对象模型劫持

组件对象模型 (COM) 是 Windows 中的一个系统,它支持软件组件之间通过操作系统交互。 攻击者可以使用该系统插入恶意代码,这些代码可以通过劫持 COM 引用和关系作为持久化的手段来代替合法软件执行。 劫持 COM 对象需要更改 Windows 注册表,以替换对合法系统组件的引用,这可能导致该组件在执行时无法正常工作。 当该系统组件通过正常的系统操作执行时,攻击者的代码将被执行。 攻击者很可能劫持那些经常使用的对象,以保持一致的持久性,但不太可能破坏系统中的明显功能,避免系统不稳定而触发检测。

缓解

由于 COM 对象是操作系统和已安装软件的合法部分,因此不建议对特定环境直接缓解这种技术。 阻止 COM 对象更改可能会对合法功能产生无法预料的副作用。 相反,在适当的情况下使用白名单工具(如 AppLocker、 或软件限制策略 ) 来识别和阻止可能执行或由该技术执行的潜在恶意软件。

检测

搜索已被替换的注册表引用和将已知的二进制路径替换为未知路径的注册表操作,可以检测 COM 劫持。 即使一些第三方应用程序定义了用户 COM 对象,HKEY_CURRENT_USER\Software\Classes\CLSID\中存在对象的可能是异常的,应该进行调查,因为用户对象在 HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\ 中的机器对象之前加载。 现有 COM 对象的注册表项可能很少更改。 当具有已知良好路径和二进制文件的条目被替换或更改为异常值以指向新位置中的未知二进制文件时,这可能表明可疑行为,应进行调查。 同样,如果对软件 DLL 加载进行收集和分析,任何与 COM 对象注册表修改相关的异常 DLL 加载都可能表明 COM 被劫持了。