Skip to content

T1021.003 Distributed Component Object Model

Adversaries may use Valid Accounts to interact with remote machines by taking advantage of Distributed Component Object Model (DCOM). The adversary may then perform actions as the logged-on user.

The Windows Component Object Model (COM) is a component of the native Windows application programming interface (API) that enables interaction between software objects, or executable code that implements one or more interfaces. Through COM, a client object can call methods of server objects, which are typically Dynamic Link Libraries (DLL) or executables (EXE). Distributed COM (DCOM) is transparent middleware that extends the functionality of COM beyond a local computer using remote procedure call (RPC) technology.12

Permissions to interact with local and remote server COM objects are specified by access control lists (ACL) in the Registry.4 By default, only Administrators may remotely activate and launch COM objects through DCOM.3

Through DCOM, adversaries operating in the context of an appropriately privileged user can remotely obtain arbitrary and even direct shellcode execution through Office applications8 as well as other Windows objects that contain insecure methods.76 DCOM can also execute macros in existing documents9 and may also invoke Dynamic Data Exchange (DDE) execution directly through a COM created instance of a Microsoft Office application10, bypassing the need for a malicious document. DCOM can be used as a method of remotely interacting with Windows Management Instrumentation. 5

Item Value
ID T1021.003
Sub-techniques T1021.001, T1021.002, T1021.003, T1021.004, T1021.005, T1021.006, T1021.007
Tactics TA0008
Platforms Windows
Version 1.2
Created 11 February 2020
Last Modified 03 April 2023

Procedure Examples

ID Name Description
S0154 Cobalt Strike Cobalt Strike can deliver Beacon payloads for lateral movement by leveraging remote COM execution.16
S0363 Empire Empire can utilize Invoke-DCOM to leverage remote COM execution for lateral movement.14
S0692 SILENTTRINITY SILENTTRINITY can use System namespace methods to execute lateral movement using DCOM.15

Mitigations

ID Mitigation Description
M1048 Application Isolation and Sandboxing Ensure all COM alerts and Protected View are enabled.12
M1042 Disable or Remove Feature or Program Consider disabling DCOM through Dcomcnfg.exe.13
M1030 Network Segmentation Enable Windows firewall, which prevents DCOM instantiation by default.
M1026 Privileged Account Management Modify Registry settings (directly or using Dcomcnfg.exe) in HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID\{{AppID_GUID}} associated with the process-wide security of individual COM applications.4

Detection

ID Data Source Data Component
DS0011 Module Module Load
DS0029 Network Traffic Network Connection Creation
DS0009 Process Process Creation

References


  1. Hamilton, C. (2019, June 4). Hunting COM Objects. Retrieved June 10, 2019. 

  2. Microsoft. (n.d.). Component Object Model (COM). Retrieved November 22, 2017. 

  3. Microsoft. (n.d.). DCOM Security Enhancements in Windows XP Service Pack 2 and Windows Server 2003 Service Pack 1. Retrieved November 22, 2017. 

  4. Microsoft. (n.d.). Setting Process-Wide Security Through the Registry. Retrieved November 21, 2017. 

  5. Microsoft. (n.d.). Windows Management Instrumentation. Retrieved April 27, 2016. 

  6. Nelson, M. (2017, January 23). Lateral Movement via DCOM: Round 2. Retrieved November 21, 2017. 

  7. Nelson, M. (2017, January 5). Lateral Movement using the MMC20 Application COM Object. Retrieved November 21, 2017. 

  8. Nelson, M. (2017, November 16). Lateral Movement using Outlook’s CreateObject Method and DotNetToJScript. Retrieved November 21, 2017. 

  9. Nelson, M. (2017, September 11). Lateral Movement using Excel.Application and DCOM. Retrieved November 21, 2017. 

  10. Tsukerman, P. (2017, November 8). Leveraging Excel DDE for lateral movement via DCOM. Retrieved November 21, 2017. 

  11. Microsoft. (n.d.). Registry Values for System-Wide Security. Retrieved November 21, 2017. 

  12. Microsoft. (n.d.). What is Protected View?. Retrieved November 22, 2017. 

  13. Microsoft. (n.d.). Enable or Disable DCOM. Retrieved November 22, 2017. 

  14. Schroeder, W., Warner, J., Nelson, M. (n.d.). Github PowerShellEmpire. Retrieved April 28, 2016. 

  15. Salvati, M. (2019, August 6). SILENTTRINITY Modules. Retrieved March 24, 2022. 

  16. Mudge, R. (2017, January 24). Scripting Matt Nelson’s MMC20.Application Lateral Movement Technique. Retrieved November 21, 2017.