Indicadores de comprometimento (IOC)
Indicadores de Comprometimento (IOCs) são artefatos observáveis que evidenciam atividade maliciosa. Quando um analista encontra um IOC, pode correlacionar com outros sistemas, bloquear na infraestrutura e compartilhar com a comunidade.
Tipos de IOC
Nível de confiança (do mais para o menos estável):
Hash de arquivo ─── Alta estabilidade (atacante precisa recompilar)
Endereço IP ─── Média (pode mudar rapidamente)
Domínio/URL ─── Média (registrado rápido, descartado rápido)
Certificado TLS ─── Alta (raro de rotacionar)
Mutex/Nome pipe ─── Alta (hardcoded em malware)
Padrão de tráfego ─── Alta (comportamento do C2)
Caminho de arquivo─── Baixa (fácil de mudar)
A “Pirâmide da Dor” de David Bianco: IOCs de comportamento (TTPs) causam mais dor ao atacante quando detectados do que simples hashes.
Hashes de arquivo
# Calcular hash de arquivo suspeito
sha256sum /tmp/documento.exe
# Saída: e3b0c44298fc1c149... /tmp/documento.exe
md5sum /tmp/documento.exe
# Saída: d41d8cd98f00b204e... /tmp/documento.exe
# Verificar contra base de IOC (VirusTotal CLI)
vt file /tmp/documento.exe
Compartilhar apenas SHA-256 em relatórios. MD5 e SHA-1 têm colisões conhecidas.
IPs e domínios maliciosos
# Verificar IP em feeds de reputação
curl -s "https://otx.alienvault.com/api/v1/indicators/IPv4/203.0.113.9/reputation"
# Bloquear IP no firewall interno (ambiente lab)
iptables -I INPUT -s 203.0.113.9 -j DROP
# Verificar domínio em DNS Sink
dig @8.8.8.8 evil-c2.example.com
Fontes de feeds gratuitos: AlienVault OTX, Abuse.ch, Spamhaus, MalwareBazaar, URLhaus.
Formatos de compartilhamento
STIX 2.1 (Structured Threat Information Expression):
{
"type": "indicator",
"spec_version": "2.1",
"id": "indicator--a8f67b2c-...",
"name": "Malware hash — Emotet loader",
"pattern": "[file:hashes.'SHA-256' = 'e3b0c44298fc1c149...']",
"pattern_type": "stix",
"valid_from": "2026-06-25T00:00:00Z",
"labels": ["malicious-activity"]
}
TAXII é o protocolo de transporte para troca automatizada de feeds STIX entre plataformas.
Regras YARA
YARA identifica malware por padrões em bytes, strings ou estrutura de arquivo.
rule Emotet_Loader_2026 {
meta:
description = "Detecta variante de loader Emotet — ambiente de análise"
author = "Blue Team Lab"
date = "2026-06-25"
strings:
$s1 = "GlobalMutex_Emotet" ascii
$s2 = { 60 89 E5 31 C0 64 8B 50 30 } // sequência de bytes do loader
$s3 = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run" ascii wide
condition:
uint16(0) == 0x5A4D and // PE header (MZ)
filesize < 500KB and
2 of ($s1, $s2, $s3)
}
# Executar YARA em diretório suspeito
yara -r regras/emotet.yar /mnt/analise/
# Integrar com EDR via ClamAV (converter YARA para assinatura)
sigtool --yara-to-ldb=emotet.yar > emotet.ldb
Gestão de IOC com MISP
MISP (Malware Information Sharing Platform) é a plataforma open-source padrão para gestão e compartilhamento de IOC.
Fluxo MISP:
Analista descobre IOC
│
▼
Cria evento no MISP (classificação TLP: Green, Amber, Red)
│
▼
Distribui para comunidade de confiança (ISAC, parceiros)
│
▼
Plataformas consomem via API e bloqueiam automaticamente
Qualidade de IOC
Um IOC mal gerado polui feeds e causa falsos positivos. Checklist:
[ ] Hash calculado sobre arquivo malicioso confirmado (não suspeito)
[ ] IP/domínio validado — não é infraestrutura legítima comprometida
[ ] Contexto documentado: campanha, data, confiança
[ ] TLP definido — controla com quem pode ser compartilhado
[ ] Data de validade — IOC velho sem revisão causa ruído