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