T1175: 组件对象模型与分布式 COM
摘要
**此技术已被弃用。请使用[分布式组件对象模型](https://attack.mitre.org/techniques/T1021/003)和[组件对象模型](https://attack.mitre.org/techniques/T1559/001)。** 攻击者可能使用 Windows 组件对象模型 (COM) 和分布式组件对象模型 (DCOM) 进行本地代码执行,或作为横向移动的一部分在远程系统上执行。 COM 是原生 Windows 应用程序编程接口 (API) 的一个组件,可实现软件对象之间(即实现一个或多个接口的可执行代码)的交互。(Citation: Fireeye Hunting COM June 2019) 通过 COM,客户端对象可以调用服务器对象的方法,服务器对象通常是动态链接库 (DLL) 或可执行文件 (EXE)。(Citation: Microsoft COM) DCOM 是一种透明的中间件,它使用远程过程调用 (RPC) 技术将组件对象模型 (COM) 的功能 (Citation: Microsoft COM) 扩展到本地计算机之外。(Citation: Fireeye Hunting COM June 2019) 与本地和远程服务器 COM 对象交互的权限由注册表中的访问控制列表 (ACL) 指定。(Citation: Microsoft COM ACL)(Citation: Microsoft Process Wide Com Keys)(Citation: Microsoft System Wide Com Keys) 默认情况下,只有管理员可以通过 DCOM 远程激活和启动 COM 对象。 攻击者可能滥用 COM 进行本地命令和/或载荷执行。暴露了各种 COM 接口,可被滥用通过多种编程语言(如 C、C++、Java 和 VBScript)调用任意执行。(Citation: Microsoft COM) 还存在特定的 COM 对象可直接执行代码执行之外的功能,例如创建[计划任务/作业](https://attack.mitre.org/techniques/T1053)、无文件下载/执行,以及其他攻击者行为,如权限提升和持久化。(Citation: Fireeye Hunting COM June 2019)(Citation: ProjectZero File Write EoP Apr 2018) 攻击者可能使用 DCOM 进行横向移动。通过 DCOM,以具有适当权限的用户身份运行的攻击者可以远程通过 Office 应用程序获得任意甚至直接的 shellcode 执行 (Citation: Enigma Outlook DCOM Lateral Movement Nov 2017),以及其他包含不安全方法的 Windows 对象。(Citation: Enigma MMC20 COM Jan 2017)(Citation: Enigma DCOM Lateral Movement Jan 2017) DCOM 还可以在现有文档中执行宏 (Citation: Enigma Excel DCOM Sept 2017),也可以通过 COM 创建的 Microsoft Office 应用程序实例直接调用[动态数据交换](https://attack.mitre.org/techniques/T1173) (DDE) 执行 (Citation: Cyberreason DCOM DDE Lateral Movement Nov 2017),从而无需恶意文档。
来源归属
来源:MITRE ATT&CK · 置信度:high
平台
- Windows
战术
横向移动
参考来源
- https://attack.mitre.org/techniques/T1175
- https://www.fireeye.com/blog/threat-research/2019/06/hunting-com-objects.html
- https://msdn.microsoft.com/library/windows/desktop/ms680573.aspx
- https://docs.microsoft.com/en-us/windows/desktop/com/dcom-security-enhancements-in-windows-xp-service-pack-2-and-windows-server-2003-service-pack-1
- https://msdn.microsoft.com/en-us/library/windows/desktop/ms687317(v=vs.85).aspx
- https://msdn.microsoft.com/en-us/library/windows/desktop/ms694331(v=vs.85).aspx
- https://googleprojectzero.blogspot.com/2018/04/windows-exploitation-tricks-exploiting.html
- https://enigma0x3.net/2017/11/16/lateral-movement-using-outlooks-createobject-method-and-dotnettojscript/
- https://enigma0x3.net/2017/01/05/lateral-movement-using-the-mmc20-application-com-object/
- https://enigma0x3.net/2017/01/23/lateral-movement-via-dcom-round-2/
- https://enigma0x3.net/2017/09/11/lateral-movement-using-excel-application-and-dcom/
- https://www.cybereason.com/blog/leveraging-excel-dde-for-lateral-movement-via-dcom