# T1588.003 - Code Signing Certificates
## Descrição
Adversários adquirem ou roubam certificados de assinatura de código para assinar digitalmente malware e ferramentas ofensivas, tornando-os aparentemente legítimos para sistemas operacionais, soluções de segurança e usuários finais. Certificados de code signing são emitidos por Autoridades Certificadoras (CAs) e associam um binário a uma identidade verificada - quando válidos, sistemas Windows exibem o nome do "publisher" confiável e bypassam UAC e SmartScreen com menos fricção.
No contexto **Brasil/LATAM**, essa técnica é particularmente relevante porque:
- O Brasil possui a maior infraestrutura de PKI da América Latina (ICP-Brasil), tornando certificados digitais amplamente utilizados e implicitamente confiados
- Empresas brasileiras de contabilidade, jurídico e TI frequentemente assinam softwares com certificados emitidos pelo ICP-Brasil - roubo desses certificados permite impersonar fornecedores locais confiáveis
- Grupos de ransomware como [[g0102-conti-group|Wizard Spider]] (TrickBot/Ryuk) e [[g0061-fin8|FIN8]] usam certificados roubados ou comprados de entidades legítimas para bypassar proteções de endpoint antes de entregar payloads em redes corporativas
A técnica precede o uso da [[t1553-002-code-signing|assinatura de código]] ([[t1553-002-code-signing|T1553.002]]) e é categorizada em [[t1588-*|T1588 - Obtain Capabilities]]. O adversário pode adquirir certificados de três formas: (1) compra direta via empresa de fachada, (2) roubo de chave privada de empresa comprometida, ou (3) aproveitamento de CAs comprometidas. Malware como [[s0576-megacortex|MegaCortex]] foi distribuído com certificados válidos, dificultando detecção por soluções tradicionais de AV/EDR.
> **Técnica pai:** [[t1588-*|T1588 - Obtain Capabilities]]
---
## Attack Flow
```mermaid
graph TB
A([Reconhecimento]) --> B([Desenvolvimento de Recursos])
B --> C{{"T1588.003<br/>Certificados de<br/>Assinatura de Código"}}:::highlight
C --> D([Assinatura de Malware<br/>T1553.002])
C --> E([Bypass de SmartScreen<br/>e UAC])
D --> F([Entrega de Payload])
E --> F
F --> G([Execução / Persistência])
classDef highlight fill:#e74c3c,color:#fff,stroke:#c0392b,stroke-width:2px
```
---
## Como Funciona
**1. Aquisição do certificado**
O adversário obtém um certificado de code signing válido por um de três métodos: compra fraudulenta junto a uma CA usando identidade roubada ou empresa de fachada; roubo da chave privada de uma empresa legítima previamente comprometida (ex: via acesso a servidor de build CI/CD); ou aproveitamento de uma CA comprometida para emitir certificados arbitrários. No Brasil, grupos têm como alvo empresas de contabilidade e software fiscal que possuem certificados ICP-Brasil de uso frequente.
**2. Assinatura do payload malicioso**
Com o certificado e a chave privada em mãos, o adversário usa ferramentas como `signtool.exe` (Windows SDK) ou `osslsigncode` para assinar o binário malicioso. O resultado é um executável com assinatura válida que o Windows Authenticode verifica como procedente de um publisher conhecido - bypassando SmartScreen, UAC elevation prompts e muitas soluções de EDR baseadas em reputação de publisher.
**3. Distribuição e evasão**
O binário assinado é distribuído via [[t1566-phishing|Phishing]], [[t1195-supply-chain-compromise|Supply Chain Compromise]] ou instalado diretamente durante intrusão. Como o certificado é válido no momento da distribuição, logs e alertas de segurança frequentemente não são gerados. A detecção depende de monitoramento de revogação de certificados (CRL/OCSP) e análise comportamental em vez de assinatura estática.
---
## Detecção
### Event IDs relevantes
| Plataforma | Event ID | Descrição |
|------------|----------|-----------|
| Windows Security | `Event ID 4688` | Process creation - verificar `signtool.exe` ou binários assinados por publishers incomuns |
| Sysmon | `Event ID 1` (ProcessCreaté) | Hash + assinatura digital do processo criado; correlacionar com VirusTotal |
| Sysmon | `Event ID 7` (ImageLoad) | DLL assinada por publisher não catalogado sendo carregada por processo legítimo |
| Windows Defender | - | Alertas de "Certificaté Abuse" em versões recentes do Defender for Endpoint |
| EDR (CrowdStrike/SentinelOne) | - | Publisher name em binário não consta na allowlist corporativa |
### Sigma Rule - Binário Assinado por Publisher Desconhecido Executado
```yaml
title: Signed Binary Executed by Unknown or Recently Revoked Publisher
id: c9a14e7b-2d3f-4b99-8e01-fedcba987654
status: experimental
description: >
Detecta execução de binários assinados digitalmente por publishers que não
constam na allowlist corporativa ou cujo certificado foi revogado recentemente.
Técnica usada para bypassar SmartScreen e UAC em ataques com code signing abusado.
author: RunkIntel CTI
daté: 2026-03-24
logsource:
product: windows
category: process_creation
detection:
selection:
Signed: 'true'
SignatureStatus:
- 'Valid'
- 'Revoked'
filter_known_publishers:
Company|contains:
- 'Microsoft'
- 'Google'
- 'Adobe'
- 'Oracle'
# Adicionar allowlist de publishers corporativos aprovados
selection_suspicious_path:
Image|startswith:
- 'C:\Users\'
- 'C:\Temp\'
- 'C:\ProgramData\'
- 'C:\Windows\Temp\'
condition: selection and not filter_known_publishers and selection_suspicious_path
falsepositives:
- Software legítimo de terceiros instalado em caminhos não padrão
- Ferramentas de desenvolvimento assinadas por desenvolvedores internos
level: high
tags:
- attack.resource_development
- attack.t1588.003
- attack.defense_evasion
- attack.t1553.002
```
---
## Mitigação
| ID | Controle | Ação Recomendada para Organizações Brasileiras |
|----|----------|-----------------------------------------------|
| [[m1056-pre-compromise\|M1056]] | Pré-comprometimento | Monitorar CRLs (Certificaté Revocation Lists) de CAs públicas e ICP-Brasil; alertar quando certificado de fornecedor conhecido for revogado após comprometimento |
| - | Application Control (allowlist) | Implementar Windows Defender Application Control (WDAC) ou AppLocker com allowlist de publishers aprovados - apenas binários assinados por CAs confiáveis corporativamente são executados |
| - | Proteção de chaves privadas | Armazenar chaves privadas de certificados corporativos em HSM (Hardware Security Module); nunca em servidores de build acessíveis via rede |
| - | Monitoramento de CI/CD | Auditar acesso a pipelines de build (Jenkins, GitHub Actions, Azure DevOps); certificados usados em build devem ser rotacionados regularmente e com acesso mínimo |
| - | Certificaté Transparency (CT) | Monitorar CT logs para emissão de certificados em nome da organização por CAs não autorizadas (ferramenta: `certstream`, `crt.sh` alertas) |
| - | EDR com análise de publisher | Configurar EDR para alertar sobre binários assinados por publishers fora da allowlist executados em endpoints - especialmente em `C:\Temp\`, `C:\Users\` e `C:\ProgramData\` |
---
## Threat Actors que Usam
| Grupo | Contexto |
|-------|----------|
| [[g0102-conti-group\|Wizard Spider]] | Operador do TrickBot e Ryuk; usou certificados roubados de empresas legítimas para assinar loaders e bypassar detecção - ataque a hospitais brasileiros documentado em 2021 |
| [[g0061-fin8\|FIN8]] | Grupo de crime financeiro; usa certificados válidos para assinar backdoors (BADHATCH, SARDONIC) em ataques ao varejo e setor financeiro LATAM |
| [[g0049-oilrig\|OilRig]] | APT iraniano (APT34); usa certificados para assinar ferramentas como POWBAT e RDAT em campanhas de espionagem contra governo e energia |
| [[g0098-blacktech\|BlackTech]] | APT chinês; usa certificados roubados de empresas de Taiwan e Jápão para assinar malware em ataques a subsidiárias de multinacionais - vetor relevante para filiais no Brasil |
| [[g0129-mustang-panda\|Mustang Panda]] | APT chinês; usa certificados legítimos para assinar loaders PlugX em campanhas contra América Latina e África |
| [[g0027-threat-group-3390\|Threat Group-3390]] | APT chinês (APT27/Emissary Panda); usa certificados roubados de empresas de TI para assinar malware em operações de espionagem de longa duração |
| [[g0094-kimsuky\|Kimsuky]] | APT norte-coreano; usa certificados comprados ou roubados para assinar implantes em campanhas de espionagem contra academia e governo |
## Software Associado
| Malware | Contexto de Uso |
|---------|----------------|
| [[s0576-megacortex\|MegaCortex]] | Ransomware distribuído por [[g0102-conti-group\|Wizard Spider]] com certificado válido - um dos primeiros casos documentados de ransomware enterprise com code signing |
---
*Fonte: [MITRE ATT&CK - T1588.003](https://attack.mitre.org/techniques/T1588/003)*