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