# T1036.001 - Invalid Code Signature ## Técnica Pai Esta é uma sub-técnica de [[t1036-masquerading|T1036 - T1036 - Masquerading]]. ## Descrição Assinatura de código inválida é uma sub-técnica de [[t1036-masquerading|Masquerading (T1036)]] em que adversários copiam os metadados e informações de assinatura de um binário legítimo e os aplicam a um arquivo malicioso sem assinar corretamente. O resultado é um executável que aparenta ter sido emitido por um desenvolvedor confiável - exibindo nome da empresa, produto e número de versão reais - mas que falha na válidação criptográfica da assinatura digital quando inspecionado com rigor. A eficácia dessa técnica reside na inconsistência de verificação entre ferramentas e ambientes. Muitos produtos de segurança e analistas humanos baseiam decisões na presença visual dos metadados de assinatura, sem necessáriamente checar se a assinatura é matematicamente válida. Ferramentas EDR menos maduras, scripts de triagem e até interfaces gráficas do sistema operacional podem exibir o nome do fabricante sem emitir alertas sobre a inválidade criptográfica. Ao contrário de [[t1553-002-code-signing|Code Signing (T1553.002)]], essa atividade não resulta em uma assinatura válida - mas pode ser suficiente para enganar defesas em muitos ambientes reais. **Contexto Brasil/LATAM:** No Brasil, ambientes corporativos frequentemente adotam EDRs de geração anterior ou configurações permissivas que não verificam a cadeia de confiança de assinaturas. Grupos como [[g0067-apt37|APT37]] e [[g0112-windshift|Windshift]] empregaram essa técnica em campanhas regionais do Oriente Médio e Ásia, e o padrão é plenamente replicável contra alvos latino-americanos - especialmente em setores governamentais e financeiros onde a adoção de soluções de verificação de integridade binária ainda é incipiente. A presença de [[s0128-badnews|BADNEWS]] e [[s0019-regin|Regin]] no portfólio de software associado indica uso em operações de espionagem sofisticadas, categoria de ameaça crescente para órgãos públicos brasileiros. ## Attack Flow ```mermaid graph TB A["Desenvolvimento<br/>do Payload"] --> B["Cópia de Metadados<br/>de Binário Legítimo"] B --> C{{"T1036.001<br/>Assinatura Inválida"}}:::highlight C --> D["Entrega ao Alvo<br/>(phishing / supply chain)"] D --> E["Execução Bypass<br/>de Verificação"] classDef highlight fill:#e74c3c,color:#fff ``` ## Como Funciona ### 1. Preparação O adversário seleciona um binário legítimo e assinado digitalmente - tipicamente um executável de um vendor reconhecido como Microsoft, Adobe ou Google - e extrai seus metadados de PE (Portable Executable): `FileDescription`, `CompanyName`, `ProductName`, `OriginalFilename` e `LegalCopyright`. Essas informações são então injetadas nos campos de recursos do binário malicioso usando ferramentas como `ResourceHacker` ou `pe-bear`, sem qualquer acesso à chave privada do certificado original. ### 2. Execução O arquivo adulterado é entregue ao alvo via [[t1566-phishing|Phishing (T1566)]], supply chain comprometida ou download drive-by. Quando o sistema operacional ou o produto de segurança consulta os atributos do arquivo, os metadados exibem informações legítimas. A verificação da assinatura criptográfica, quando ausente ou configurada em modo não-bloqueador, não impede a execução. Em macOS, arquivos não assinados podem contornar verificações básicas do Gatekeeper se o usuário tiver habilitado a permissão para executar apps de "qualquer lugar". ### 3. Pós-execução Após a execução, o malware opera sob a aparência de um processo legítimo. Analistas que revisam logs de execução verão o nome do produto confiável nos metadados sem, necessáriamente, inspecionar a válidade criptográfica. Isso aumenta o tempo de permanência (dwell time) e dificulta a triagem manual. Softwares como [[s0198-netwire|NETWIRE]], [[s1050-pcshare|PcShare]] e [[gelsemium|Gelsemium]] foram observados empregando essa técnica para manter persistência discreta. ## Detecção ### Event IDs Relevantes | Plataforma | Event ID | Fonte | Descrição | |-----------|----------|-------|-----------| | Windows | 4688 | Security | Criação de processo - verificar `SubjectLogonId` e hash do executável | | Windows | 7045 | System | Novo serviço instalado com binário de assinatura suspeita | | Windows | 8002 | Sysmon | `ImageLoad` com assinatura inválida (`Signed: false` + metadados de vendor confiável) | | Windows | 1 | Sysmon | `ProcessCreaté` com `Signed: false` e `Company` preenchido | | macOS | - | Unified Log | `codesign --verify` retornando falha em binário com bundle ID de terceiros | ### Sigma Rule ```yaml title: Executable with Invalid Code Signature and Legitimaté Vendor Metadata id: a3f2e8b1-5c4d-4e7f-9a2b-1d3e6f8c0a5b status: experimental description: > Detecta execução de binário com metadados de vendor legítimo mas assinatura digital inválida ou ausente - indicativo de T1036.001. author: RunkIntel daté: 2026-03-24 references: - T1036.001 logsource: category: process_creation product: windows detection: selection: Signed: 'false' Company|contains: - 'Microsoft' - 'Adobe' - 'Google' - 'Oracle' - 'Cisco' filter_legitimate: Image|startswith: - 'C:\Windows\' - 'C:\Program Files\' - 'C:\Program Files (x86)\' condition: selection and not filter_legitimate falsepositives: - Desenvolvedores compilando internamente com metadados copiados - Software legítimo com assinatura expirada (verificar data) level: high tags: - attack.defense_evasion - attack.t1036.001 ``` ## Mitigação | ID | Mitigação | Ação Prática para Organizações Brasileiras | |----|-----------|---------------------------------------------| | [[m1045-code-signing\|M1045]] | Code Signing | Configurar AppLocker ou Windows Defender Application Control (WDAC) para bloquear execução de binários com assinatura inválida - não apenas ausente | | - | Verificação de Hash | Manter inventário de hashes SHA-256 de executáveis autorizados; alertar sobre execução de binários fora do baseline | | - | EDR com Validação Criptográfica | Priorizar soluções EDR que verificam a cadeia de confiança da assinatura, não apenas a presença de metadados | | - | Políticas de Execução | Em ambientes críticos (financeiro, governo), exigir que todos os executáveis sejam assinados por CAs da cadeia de confiança corporativa | | - | Monitoramento de Sysmon | Habilitar Sysmon com configuração de coleta de `SignatureStatus` nos eventos de `ImageLoad` e `ProcessCreaté` | ## Threat Actors - **[[g0067-apt37|APT37]]** - grupo norte-coreano de espionagem, conhecido por usar assinaturas inválidas em implantes direcionados a mídia, defesa e governo. Ativo com táticas de [[t1566-phishing|spear-phishing]] em campanhas regionais. - **[[g0112-windshift|Windshift]]** - grupo APT do Oriente Médio que empregou assinaturas inválidas em campanhas contra jornalistas e ativistas via [[s0466-windtail|WindTail]], detectado em macOS - plataforma cada vez mais adotada em setores corporativos brasileiros. ## Software Associado - [[s0466-windtail|WindTail]] - malware macOS do [[g0112-windshift|Windshift]]; distribuído com metadados de app legítimo e assinatura inválida para enganar o Gatekeeper - [[s0128-badnews|BADNEWS]] - RAT associado ao grupo Patchwork; usa metadados de software indiano legítimo para mascarar sua identidade - [[s0019-regin|Regin]] - plataforma modular de espionagem de estado; emprega múltiplas técnicas de evasão incluindo assinaturas forjadas - [[s1234-splatcloak|SplatCloak]] - driver malicioso que usa assinaturas inválidas para tentar contornar verificações de integridade no Windows - [[s0198-netwire|NETWIRE]] - RAT comercial amplamente abusado; frequentemente reempacotado com metadados de software legítimo para evasão - [[s1050-pcshare|PcShare]] - ferramenta de acesso remoto de código aberto usada por APT41 e outros com assinaturas adulteradas - [[gelsemium|Gelsemium]] - malware de espionagem chinês com foco em governos e telecoms; técnicas de evasão avançadas incluindo assinatura inválida --- *Fonte: [MITRE ATT&CK - T1036.001](https://attack.mitre.org/techniques/T1036/001)*