ID | Name |
---|---|
T1021.001 | Remote Desktop Protocol |
T1021.002 | SMB/Windows Admin Shares |
T1021.003 | Distributed Component Object Model |
T1021.004 | SSH |
T1021.005 | VNC |
T1021.006 | Windows Remote Management |
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.[1][2]
Permissions to interact with local and remote server COM objects are specified by access control lists (ACL) in the Registry.[3] By default, only Administrators may remotely activate and launch COM objects through DCOM.[4]
Through DCOM, adversaries operating in the context of an appropriately privileged user can remotely obtain arbitrary and even direct shellcode execution through Office applications[5] as well as other Windows objects that contain insecure methods.[6][7] DCOM can also execute macros in existing documents[8] and may also invoke Dynamic Data Exchange (DDE) execution directly through a COM created instance of a Microsoft Office application[9], bypassing the need for a malicious document. DCOM can be used as a method of remotely interacting with Windows Management Instrumentation. [10]
ID | Name | Description |
---|---|---|
S0154 | Cobalt Strike |
Cobalt Strike can deliver Beacon payloads for lateral movement by leveraging remote COM execution.[11] |
S0363 | Empire |
Empire can utilize |
S0692 | SILENTTRINITY |
SILENTTRINITY can use |
ID | Mitigation | Description |
---|---|---|
M1048 | Application Isolation and Sandboxing |
Ensure all COM alerts and Protected View are enabled.[14] |
M1042 | Disable or Remove Feature or Program |
Consider disabling DCOM through Dcomcnfg.exe.[15] |
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 Modify Registry settings (directly or using Dcomcnfg.exe) in |
ID | Data Source | Data Component |
---|---|---|
DS0011 | Module | Module Load |
DS0029 | Network Traffic | Network Connection Creation |
DS0009 | Process | Process Creation |
Monitor for COM objects loading DLLs and other modules not typically associated with the application.[5] Enumeration of COM objects, via Query Registry or PowerShell, may also proceed malicious use.[1][6] Monitor for spawning of processes associated with COM objects, especially those invoked by a user different than the one currently logged on.
Monitor for any influxes or abnormal increases in DCOM related Distributed Computing Environment/Remote Procedure Call (DCE/RPC) traffic (typically over port 135).