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