| ID | Name |
|---|---|
| T1559.001 | Component Object Model |
| T1559.002 | Dynamic Data Exchange |
| T1559.003 | XPC Services |
Adversaries may use the Windows Component Object Model (COM) for local code execution. COM is an inter-process communication (IPC) component of the native Windows application programming interface (API) that enables interaction between software objects, or executable code that implements one or more interfaces.[1] Through COM, a client object can call methods of server objects, which are typically binary Dynamic Link Libraries (DLL) or executables (EXE).[2] Remote COM execution is facilitated by Remote Services such as Distributed Component Object Model (DCOM).[1]
Various COM interfaces are exposed that can be abused to invoke arbitrary execution via a variety of programming languages such as C, C++, Java, and Visual Basic.[2] Specific COM objects also exist to directly perform functions beyond code execution, such as creating a Scheduled Task/Job, fileless download/execution, and other adversary behaviors related to privilege escalation and persistence.[1][3]
| ID | Name | Description |
|---|---|---|
| S1039 | Bumblebee |
Bumblebee can use a COM object to execute queries to gather system information.[4] |
| S1236 | CLAIMLOADER |
CLAIMLOADER has leveraged Component Object Model (COM) objects to create a scheduled task using |
| S1066 | DarkTortilla |
DarkTortilla has used the |
| S1044 | FunnyDream |
FunnyDream can use com objects identified with |
| G0047 | Gamaredon Group |
Gamaredon Group malware can insert malicious macros into documents using a |
| S0666 | Gelsemium |
Gelsemium can use the |
| S0698 | HermeticWizard |
HermeticWizard can execute files on remote machines using DCOM.[11] |
| S0260 | InvisiMole |
InvisiMole can use the |
| S1160 | Latrodectus |
Latrodectus can use the Windows Component Object Model (COM) to set scheduled tasks.[13][14] |
| G1051 | Medusa Group |
Medusa Group has leveraged Component Object Model (COM) to bypass UAC.[15] |
| S1015 | Milan |
Milan can use a COM component to generate scheduled tasks.[16] |
| G0069 | MuddyWater |
MuddyWater has used malware that has the capability to execute malicious code via COM, DCOM, and Outlook.[17][18][19] |
| S0691 | Neoichor |
Neoichor can use the Internet Explorer (IE) COM interface to connect and receive commands from C2.[20] |
| S0223 | POWERSTATS |
POWERSTATS can use DCOM (targeting the 127.0.0.1 loopback address) to execute additional payloads on compromised hosts.[21] |
| S0458 | Ramsay |
Ramsay can use the Windows COM API to schedule tasks and maintain persistence.[22] |
| S1130 | Raspberry Robin |
Raspberry Robin creates an elevated COM object for |
| S0692 | SILENTTRINITY |
SILENTTRINITY can insert malicious shellcode into Excel.exe using a |
| S1238 | STATICPLUGIN |
STATICPLUGIN has utilized Windows COM Installer Object to download an MSI package containing files masqueraded as a BMP file.[25] |
| S0266 | TrickBot |
TrickBot used COM to setup scheduled task for persistence.[26] |
| S0386 | Ursnif |
Ursnif droppers have used COM objects to execute the malware's full executable payload.[27] |
| ID | Mitigation | Description |
|---|---|---|
| M1048 | Application Isolation and Sandboxing |
Ensure all COM alerts and Protected View are enabled.[28] |
| M1026 | Privileged Account Management |
Modify Registry settings (directly or using Dcomcnfg.exe) in Modify Registry settings (directly or using Dcomcnfg.exe) in |
| ID | Name | Analytic ID | Analytic Description |
|---|---|---|---|
| DET0224 | Detect Abuse of Component Object Model (T1559.001) | AN0628 |
Detects anomalous use of COM objects for execution, such as Office applications spawning scripting engines, enumeration of COM interfaces via registry queries, or processes loading atypical DLLs through COM activation. Correlates process creation, module loads, and registry queries to flag suspicious COM-based code execution or persistence. |