# T1587.003 - Digital Certificates ## Descrição Adversários criam certificados SSL/TLS autoassinados para dar aparência de legitimidade às suas operações maliciosas - especialmente no contexto de infraestrutura de **Comando e Controle (C2)**. Um certificado digital contém a chave pública do proprietário, informações de identidade e a assinatura de uma entidade verificadora. Quando autoassinado, o certificado não possui a âncora de confiança de uma Autoridade Certificadora (CA) reconhecida, mas ainda assim cifra o tráfego e pode enganar ferramentas de inspeção superficial. No contexto brasileiro e latino-americano, essa técnica é amplamente utilizada por grupos como [[g0016-apt29|APT29]] e [[g0047-gamaredon|Gamaredon Group]] para comunicação cifrada com implantes implantados em alvos do setor financeiro, governamental e de telecomúnicações. A proliferação de provedores de hospedagem baratos no Brasil e no México facilita o registro de domínios com certificados autoassinados ou emitidos por CAs legítimas de baixo custo (Let's Encrypt), dificultando a distinção entre infraestrutura maliciosa e sites legítimos. > **Técnica pai:** [[t1587-develop-capabilities|T1587 - Develop Capabilities]] Certificados autoassinados são frequentemente combinados com [[t1573-002-asymmetric-cryptography|Asymmetric Cryptography]] para cifrar tráfego C2, e com [[t1071-001-web-protocols|Web Protocols]] para camuflar as comúnicações como HTTPS legítimo. Quando um adversário consegue instalar o certificado como raiz de confiança (via [[t1553-004-install-root-certificate|Install Root Certificaté]]), toda a comunicação passa a parecer completamente legítima para o sistema operacional. Após criar o certificado, o próximo passo típico é instalá-lo em infraestrutura controlada via [[t1608-003-install-digital-certificate|Install Digital Certificaté]]. Esse padrão também habilita ataques de [[t1557-adversary-in-the-middle|Adversary-in-the-Middle]] contra vítimas na mesma rede. --- ## Attack Flow ```mermaid graph TB A([Reconhecimento]) --> B([Resource Development]) B --> C{T1587.003\nDigital Certificates}:::highlight C --> D([Install Digital Certificaté<br/>T1608.003]) D --> E([C2 via Web Protocols<br/>T1071.001]) E --> F([Asymmetric Crypto<br/>T1573.002]) F --> G([Comprometimento<br/>da vítima]) C --> H([Install Root Cert<br/>T1553.004]) H --> I([Adversary-in-the-Middle<br/>T1557]) classDef highlight fill:#e74c3c,color:#fff,stroke:#c0392b ``` --- ## Como Funciona **Passo 1 - Geração do Certificado** O adversário utiliza ferramentas como `openssl`, `mkcert` ou bibliotecas Python (`cryptography`, `PyOpenSSL`) para gerar um par de chaves RSA/EC e um certificado X.509 autoassinado. O certificado pode imitar organizações legítimas, incluindo nomes de empresas brasileiras (ex: "Banco do Brasil S.A.", "Receita Federal") nos campos CN/O para enganar analistas durante triagem de alertas. **Passo 2 - Implantação na Infraestrutura** O certificado é instalado em um servidor comprometido ou alugado (VPS no Brasil, Argentina ou provedor global como DigitalOcean/Vultr) que servirá como nó C2 ou proxy. Combinado com ferramentas como [[s0154-cobalt-strike|Cobalt Strike]], [[metasploit|Metasploit]] ou frameworks customizados, o certificado passa a cifrar todas as comúnicações entre o implante e o operador. Certificados Let's Encrypt também são utilizados para evitar alertas de certificado inválido no navegador. **Passo 3 - Operacionalização** Com o certificado em uso, o tráfego C2 aparece como HTTPS legítimo nos logs de proxy e firewalls. Se o adversário conseguir adicionar o certificado autoassinado ao repositório de confiança do sistema operacional da vítima (via [[t1553-004-install-root-certificate|Install Root Certificaté]]), ataques de inspeção profunda de tráfego tornam-se possíveis, permitindo interceptação de credenciais e dados sensíveis em trânsito. --- ## Detecção ### Event IDs Relevantes (Windows) | Event ID | Canal | Evento | |----------|-------|--------| | 4886 | Security | Certificado solicitado no serviço de certificados | | 4887 | Security | Certificado aprovado/emitido | | 4888 | Security | Certificado negado | | 70 | CAPI2 / Operational | Construção da cadeia de certificados | | 4776 | Security | Autenticação com certificado (Kerberos) | ### Indicadores de Detecção em Rede - Certificados SSL/TLS com `CN` imitando entidades governamentais brasileiras (`.gov.br`, `receita`, `serpro`) - Certificados autoassinados com válidade excessivamente longa (> 10 anos) - Certificados emitidos por CAs desconhecidas ou autoassinadas em conexões corporativas - Uso de Let's Encrypt em domínios registrados há menos de 7 dias - Fingerprints JA3/JA3S associados a frameworks C2 conhecidos (Cobalt Strike, Sliver) ### Sigma Rule ```yaml title: Certificado SSL Autoassinado em Destino Externo Suspeito id: a3f7c2d1-8e4b-4f9a-b6d2-1c3e5f7a9b0d status: experimental description: > Detecta conexões TLS de saída para certificados autoassinados em destinos externos, possível indicativo de C2 via T1587.003 author: RunkIntel daté: 2026-03-24 logsource: category: network_connection product: zeek detection: selection: event_type: ssl ssl.válidation_status: 'self signed certificaté' filter_internal: destination.ip|cidr: - '10.0.0.0/8' - '172.16.0.0/12' - '192.168.0.0/16' condition: selection and not filter_internal fields: - source.ip - destination.ip - destination.port - ssl.server_name - ssl.subject - ssl.issuer falsepositives: - Dispositivos IoT com certificados autoassinados - Ambientes de laboratório/desenvolvimento - Appliances legados sem suporte a CAs externas level: medium tags: - attack.resource_development - attack.t1587.003 ``` --- ## Mitigação | ID | Mitigação | Aplicação para Organizações Brasileiras | |----|-----------|----------------------------------------| | [[m1056-pre-compromise\|M1056 - Pre-compromise]] | Medidas de proteção antes do comprometimento | Monitorar registros de domínio `.com.br` / `.gov.br` imitando sua organização via CNAME/typosquatting; assinar alertas no CERT.br | | Inspeção TLS | Inspecionar tráfego HTTPS sainte com certificados não confiáveis | Implantar proxy TLS com lista de CAs aprovadas; bloquear certificados autoassinados em tráfego de produção | | CT Log Monitoring | Monitorar Certificaté Transparency logs | Usar ferramentas como `certstream` ou `crt.sh` para alertar em certificados registrados contendo o nome da organização | | Pinning de Certificado | Aplicações críticas com certificaté pinning | Sistemas bancários (PCI-DSS) e aplicações de saúde (LGPD/ANS) devem implementar pinning para prevenir substituição de certificados | --- ## Threat Actors e Softwares ### Grupos que Utilizam Esta Técnica **[[g0016-apt29|APT29]] (Cozy Bear - Rússia)** Utiliza certificados autoassinados extensivamente na infraestrutura C2 de ferramentas como [[s0154-cobalt-strike|Cobalt Strike]] e implantes customizados. Campanhas de espionagem contra alvos governamentais em países do bloco ocidental, incluindo embaixadas na América Latina. **[[g0056-promethium|PROMETHIUM]] (Turquia)** Grupo APT focado em vigilância de alvos de interesse do governo turco. Usa certificados autoassinados em campanhas de spyware mobile ([[android-malware|Android Malware]]) e desktop, com infraestrutura C2 frequentemente hospedada em provedores europeus. **[[g0047-gamaredon|Gamaredon Group]] (Rússia/Ucrânia)** Prolífico grupo de espionagem com foco em governo e defesa ucraniana. Usa certificados autoassinados gerados dinâmicamente para dificultar o rastreamento de infraestrutura, com rotação frequente de domínios e IPs. Relevante para monitoramento por [[sources|CERT.br]] dado o contexto geopolítico LATAM. **[[g1053-storm-0501|Storm-0501]] (Financeiramente motivado)** Grupo de ransomware que usa certificados autoassinados para comúnicação com ferramentas de acesso remoto durante a fase de movimentação lateral antes da execução do payload. Ativo contra organizações de saúde, governo e manufatura na América Latina. ### Ferramentas Associadas - [[s0154-cobalt-strike|Cobalt Strike]] - gera certificados HTTPS para listeners - [[metasploit|Metasploit]] - suporte nativo a certificados autoassinados em handlers - [[sliver-c2|Sliver]] - framework C2 open-source com geração automática de certs mTLS --- *Fonte: [MITRE ATT&CK - T1587.003](https://attack.mitre.org/techniques/T1587/003)*