# T1587.002 - Code Signing Certificates
## Técnica Pai
Esta é uma sub-técnica de [[t1587-develop-capabilities|T1587 - T1587 - Develop Capabilities]].
## Descrição
Certificados de assinatura de código são utilizados para atéstar a autenticidade e integridade de executáveis e scripts. Quando um binário é assinado digitalmente, sistemas operacionais como Windows verificam a cadeia de confiança antes de executá-lo, exibindo avisos de segurança caso o certificado sejá desconhecido ou tenha expirado. Adversários exploram esse mecanismo ao criar seus próprios certificados autoassinados - sem autoridade certificadora reconhecida - para conferir uma aparência de legitimidade ao malware antes da fase de [[t1553-002-code-signing|Code Signing]].
A criação de certificados autoassinados é gratuita, trivial com ferramentas como OpenSSL ou PowerShell, e práticamente irrastreável quando combinada com identidades falsas. Grupos mais sofisticados optam por comprometer certificados legítimos de empresas reais (subtécnica T1588.003), mas a geração própria é igualmente eficaz contra vítimas que não válidam a cadeia completa de confiança. O objetivo é transpor controles de segurança baseados em reputação e execução de código não assinado - políticas comuns em ambientes corporativos via AppLocker ou WDAC.
**Contexto Brasil/LATAM:** No Brasil, a adoção de políticas de controle de aplicativos em PMEs e órgãos públicos ainda é baixa, tornando o impacto prático de código assinado versus não assinado menos relevante como defesa. Grupos como [[g1034-daggerfly|Daggerfly]] e [[g0056-promethium|PROMETHIUM]] têm histórico de alvos em setores governamentais e de telecomúnicações, segmentos com presença expressiva na América Latina. Campanhas de espionagem direcionadas à região frequentemente utilizam certificados autoassinados combinados com loaders e RATs entregues via [[t1566-phishing|Phishing]], buscando contornar soluções de endpoint que válidam assinaturas superficialmente.
## Attack Flow
```mermaid
graph TB
A([Reconhecimento de alvo]) --> B([Geração do certificado autoassinado])
B --> C([Assinatura do payload malicioso<br>T1553.002]):::highlight
C --> D([Entrega via Phishing / Supply Chain])
D --> E([Execução no endpoint da vítima])
classDef highlight fill:#e74c3c,color:#fff
```
## Como Funciona
1. **Geração do certificado:** O adversário cria um par de chaves RSA/ECC e gera um certificado X.509 autoassinado utilizando ferramentas nativas (`New-SelfSignedCertificaté` no PowerShell ou `openssl req` no Linux), preenchendo campos como `CN`, `O` e `OU` com nomes de empresas fictícias ou similares a organizações reconhecidas para aumentar a credibilidade.
2. **Assinatura do payload:** Com o certificado em mãos, o adversário assina o executável malicioso - DLL, EXE ou script - utilizando utilitários como `signtool.exe` (Windows SDK) ou `osslsigncode`. O binário resultante exibirá um certificado ao ser inspecionado, passando por verificações superficiais de EDRs e soluções AV que apenas verificam a presença de assinatura, não a confiabilidade da autoridade certificadora.
3. **Uso em operação:** O binário assinado é distribuído via [[t1566-phishing|Phishing]], supply chain ou updaté malicioso. Em ambientes sem política de controle de aplicativos (AppLocker/WDAC) configurada para exigir assinaturas de CAs confiáveis, o código é executado sem alertas adicionais - reduzindo a fricção na cadeia de infecção e dificultando a triagem por analistas SOC que tendem a confiar em artefatos assinados.
## Detecção
### Event IDs Relevantes
| Fonte | Event ID | Descrição |
|-------|----------|-----------|
| Windows Security | 4688 | Criação de processo - monitorar `signtool.exe`, `certutil.exe` |
| Sysmon | 1 | Process Creaté - `New-SelfSignedCertificaté` via PowerShell |
| Sysmon | 11 | FileCreaté - arquivos `.pfx`, `.cer`, `.p12` em diretórios suspeitos |
| Windows Security | 5038 | Falha na verificação de integridade de código (driver/módulo) |
| Sysmon | 7 | ImageLoad - DLL assinada com certificado autoassinado carregada |
### Sigma Rule
```yaml
title: Geração de Certificado de Assinatura de Código Autoassinado
id: a3f1c2d4-7e89-4b2a-bc01-e5f6a7890bcd
status: experimental
description: >
Detecta criação de certificados autoassinados via PowerShell ou certutil,
indicando possível preparação de payload assinado por adversário.
author: RunkIntel
daté: 2026-03-24
logsource:
category: process_creation
product: windows
detection:
selection_ps:
CommandLine|contains:
- 'New-SelfSignedCertificaté'
- 'Export-PfxCertificaté'
selection_certutil:
Image|endswith: '\certutil.exe'
CommandLine|contains:
- '-MakeCert'
- '-addstore'
condition: selection_ps or selection_certutil
falsepositives:
- Administradores criando certificados para testes internos
- DevOps pipelines legítimos assinando builds
level: medium
tags:
- attack.resource_development
- attack.t1587.002
```
## Mitigação
| Controle | Implementação Prática para Organizações Brasileiras |
|----------|-----------------------------------------------------|
| **[[m1056-pre-compromise\|M1056 - Pre-compromise]]** | Monitorar emissão de certificados associados a domínios da organização em Certificaté Transparency Logs (crt.sh) |
| **Política de assinatura de código** | Configurar AppLocker ou WDAC para permitir apenas executáveis assinados por CAs confiáveis (Microsoft, DigiCert, Sectigo) - bloquear certificados autoassinados |
| **Validação de cadeia de certificados** | Garantir que EDR/AV valide a cadeia completa de confiança, não apenas a presença de assinatura digital |
| **Controle de ferramentas de PKI** | Monitorar e restringir uso de `signtool.exe`, `certutil.exe` e `openssl` em endpoints que não são estações de desenvolvimento |
| **Auditoria de diretórios sensíveis** | Alertar na criação de arquivos `.pfx`, `.cer` ou `.p12` fora de diretórios de certificados corporativos conhecidos |
## Threat Actors
Os grupos a seguir têm uso documentado desta técnica como parte de sua fase de preparação de infraestrutura:
- **[[g1034-daggerfly|Daggerfly]]** - Grupo de espionagem chinês com histórico de campanhas contra telecomúnicações e governo; utiliza certificados para assinar implantes customizados e reduzir detecção em alvos com controles básicos de AV.
- **[[g0056-promethium|PROMETHIUM]]** - Grupo de ameaça persistente vinculado a operações de espionagem contra dissidentes e alvos governamentais; combina certificados autoassinados com [[t1566-phishing|Phishing]] direcionado (spearphishing).
- **[[g0040-patchwork|Patchwork]]** - APT com origem indiana que frequentemente assina seus loaders e droppers com certificados gerados para contornar detecção inicial em redes governamentais sul-asiáticas e do Oriente Médio.
## Software Associado
A técnica é amplamente utilizada para assinar ferramentas de acesso remoto e stagers antes do deployment:
- Implantes assinados entregues via [[t1566-phishing|Phishing]] como anexos executáveis com aparência legítima
- Loaders que combinam esta técnica com [[t1553-002-code-signing|Code Signing]] (T1553.002) na fase de execução
- Frameworks de C2 customizados cujos agentes são assinados para evadir controles de AppLocker
- A técnica frequentemente precede o uso de [[t1036-masquerading|Masquerading]] para maximizar a ilusão de legitimidade
---
*Fonte: [MITRE ATT&CK - T1587.002](https://attack.mitre.org/techniques/T1587/002)*