03 - CTI.3 - Coleta de Inteligência OSINT
video: https://youtu.be/... no frontmatter da nota.CTI.3 - Coleta de Inteligência OSINT
Nota do grupo COL (Ciclo de Inteligência: Planejamento e Coleta) da seção 15 - Framework CTH - Controles.
Deriva do Capítulo 9 do PDF de referência (controle CTI.3) e das fases de coleta do ciclo de CTI da seção 2.8.
Estrutura a coleta em fontes abertas com OPSEC do analista, legalidade, documentação e automação.
1. Contexto e Posicionamento no Framework CTH
O controle CTI.3 cobre a coleta de inteligência em fontes abertas, o OSINT (Open Source Intelligence), que fornece um volume enorme de informação a custo relativamente baixo. O Capítulo 9 do Framework CTH destaca que essas fontes costumam ser as primeiras a publicar novidades sobre ameaças, vulnerabilidades e campanhas, o que as torna decisivas para a tempestividade do programa. Equipes que não operam OSINT de forma sistemática enxergam apenas o que os fornecedores decidem repassar, com defasagem e recorte próprios.
Dentro do ciclo de CTI da seção 2.8, o OSINT é a fase de coleta mais acessível e, por isso, a mais exposta a desperdício. Coletar tudo é tão inútil quanto coletar nada, porque o processamento (CTI.5) e a análise afogam sem um filtro prévio. Por essa razão, o controle opera sempre a serviço dos requisitos de coleta derivados dos PIRs (CTI.1) e do perfil de ameaças (CTI.2), e a sua produtividade se mede por informação relevante entregue, não por volume ingerido.
2. Papel do OSINT no Ciclo de CTI
O OSINT cumpre três papéis complementares no ciclo. Primeiro, antecipa: relatórios de pesquisa, avisos de ISAC e discussões técnicas publicam sinais antes que os indicadores cheguem aos feeds formais. Segundo, contextualiza: um IOC bruto ganha significado quando a fonte aberta revela a campanha, o ator e o período associados. Terceiro, valida: a convergência entre fontes independentes é o mecanismo básico de controle de qualidade antes de acreditar em qualquer informação.
Em termos de níveis de inteligência (Capítulo 2), o OSINT alimenta todos eles, mas com recortes distintos. O nível estratégico bebe de relatórios de tendência e análise setorial; o tático, de artigos técnicos que decompõem TTPs; o operacional, de alertas de campanha e avisos de exploração; o técnico, de feeds de IOCs e repositórios de assinaturas. Um catálogo de fontes OSINT maduro explicita essa cobertura, evitando a ilusão de que um único agregador supre todas as necessidades.
3. Famílias de Fontes
A seleção de fontes deve cobrir pelo menos três categorias distintas, conforme exige o CTI.3.1, e a tabela abaixo consolida as famílias com seus exemplos e o que entregam.
| Família | Exemplos típicos | O que entrega | Cadência usual |
|---|---|---|---|
| Feeds abertos e agregadores | Abuse.ch (URLhaus, MalwareBazaar, ThreatFox), AlienVault OTX, CyberCure | IOCs técnicos atualizados, hashes, URLs, IPs de C2 | Contínua ou diária |
| Relatórios de pesquisa e blogs | Laboratórios de fornecedores, blogs técnicos, notas de CERTs nacionais | Análise de TTPs, cronologia de campanhas, contexto de ator | Diária a semanal |
| Redes sociais e fóruns técnicos | Contas de pesquisadores, listas de discussão, fóruns de comunidade | Sinais precoces, debates sobre exploit e PoC, rumores a confirmar | Diária |
| Infraestrutura de vazamento e pastebin-like | Sites de pastas públicas, pastebins, sites de vazamento de grupos de RaaS | Credenciais expostas, anúncios de vítimas, amostras de dados | Diária |
| Repositórios de código | GitHub e GitLab, gists, issues de projetos | Regras YARA e Sigma, ferramentas de adversário, PoCs de exploit | Semanal |
| Registros públicos e DNS | WHOIS e RDAP, Certificate Transparency, DNS passivo público | Infraestrutura nova, idade de domínio, co-ocorrência de resolução | Sob demanda |
| Dark web | Fóruns em Tor, marketplaces, canais de mensageria de grupos | Discussão de adversários, venda de acesso e dados, reputação de vendedores | Semanal ou contínua |
A família de dark web merece ressalva explícita: o acesso a fóruns e canais públicos é prática consolidada de coleta, mas exige roteiro jurídico prévio, registro do propósito e cuidado redobrado com conteúdo ilegal. Nenhuma coleta deve envolver compra de dados, pagamento por acesso a discussões criminosas ou interação que caracterize participação; o papel do analista é observacional e documentado.
4. OPSEC do Analista
O analista que coleta em fontes adversárias se expõe, e a quebra de OPSEC pode transformar a organização em alvo ou vazar a existência de um programa de monitoramento. A regra central é a separação absoluta entre identidade corporativa e identidade de pesquisa, aplicada à rede, ao dispositivo e às contas.
- Infraestrutura dedicada: máquina virtual de pesquisa isolada, com snapshot para reversão e rede separada da infraestrutura corporativa, preferencialmente em ambiente de nuvem descartável.
- Personas: identidades de pesquisa coerentes, com histórico plausível, mantidas em caderno de OPSEC que registre o que cada persona já acessou; nunca alimentar persona com dados reais do analista.
- VPN e segmentação: saída de internet por provedor não corporativo, alternando pontos de presença para evitar correlação de origem; tráfego de pesquisa nunca atravessa o proxy corporativo.
- Credenciais: proibição absoluta de usar e-mails corporativos, SSO ou senhas reutilizadas em registros de fóruns, canais e serviços de coleta.
- Arquivos: toda amostra ou anexo aberto em sandbox isolada, nunca no host de pesquisa; links curiosos são resolvidos por serviços de exploração, não pelo navegador do analista.
- Higiene de metadados: bloqueio de notificações, desativação de geolocalização e revisão de cabeçalhos que revelem identidade ou fuso horário da organização.
A disciplina de OPSEC também é auditável. O programa deve documentar a arquitetura de pesquisa, revisar periodicamente as personas e ensaiar a resposta a uma quebra de anonimato, incluindo quem avisar e como girar a infraestrutura.
5. Ferramentas de Coleta e Organização
O arsenal típico combina leitura automatizada e curadoria manual. Leitores de RSS e agregadores centralizam blogs e avisos; ferramentas de reconhecimento como theHarvester e Amass mapeiam exposição; plataformas de coleta e compartilhamento como MISP (PLT.1) ingerem feeds; cadernos digitais organizam notas de leitura com marcação TLP e vínculo aos PIRs. Ferramentas gráficas de vínculo ajudam na análise de infraestrutura, mas a organização básica pode começar com disciplina simples de notas.
A coleta via API é o padrão para feeds técnicos. O exemplo abaixo consulta um feed aberto de URLs maliciosas e normaliza a saída para ingestão posterior.
curl -s -X POST "https://urlhaus-api.abuse.ch/v1/urls/recent/" \
| jq -c '.[] | {url, host, date_added, threat}' \
| head -n 20
Para leitura de relatórios, a cadência importa mais que a ferramenta. Uma rotina funcional reserva a primeira hora do dia às fontes de alta prioridade e um bloco semanal às complementares, com critério de relevância escrito: só entra no caderno o que responde a um SIR, altera o perfil de ameaça ou gera detecção.
6. Aspectos Legais e Éticos
A coleta aberta não é coleta sem limites. O primeiro limite é o de acesso: telas de login, paywalls e dados protegidos não são "abertos" pelo fato de serem tecnicamente alcançáveis, e contornar controles de acesso pode configurar invasão de dispositivo. O segundo limite é o dado pessoal: vazamentos contendo credenciais e dados de titulares tocam a LGPD, e o programa deve minimizar a coleta, restringir o uso ao propósito de proteção, registrar a finalidade e acionar o encaminhamento definido com o DPO quando o dado exposto pertence a clientes ou colaboradores.
O terceiro limite é a propriedade intelectual e os termos de uso: relatórios de pesquisa têm licenças de citação, feeds têm condições de uso e scraping agressivo pode violar termos e prejudicar o serviço de terceiros. Por fim, o programa precisa de um marco interno escrito, aprovado com jurídico, que defina o que pode ser acessado, por quem, com que registro e com qual tratamento de achados sensíveis, incluindo o roteiro de escalonamento quando se identificar dado pessoal ou ilegalidade em andamento.
7. Documentação da Coleta e Triangulação
Informação coletada sem registro de origem é informação inútil para validação posterior. Cada item relevante deve registrar fonte, horário em UTC, método de obtenção e, quando aplicável, hash do artefato e captura de tela com metadados. O modelo abaixo serve como nota padrão no caderno de inteligência.
- id: NOTA-2025-041
- pir_vinculado: PIR-02
- fonte: "Nota de laboratorio de fornecedor (URL original)"
- coletado_em_utc: "2025-04-11T13:42:07Z"
- metodo: "Leitura manual; captura PDF com hash sha256 registrada"
- tlp: "AMBER"
- resumo: "Campanha de phishing com anexo de disco virtual mirando setor de saude na America Latina"
- triangulacao: "Corroborado por alerta de ISAC do mesmo dia e por IOC presente em feed aberto"
- status: "Confirmado parcialmente; aguardando correlacao com telemetria interna (CTI.4)"
- acao_gerada: "Regra Sigma para anexo de disco virtual; retro-hunting de dominio de C2"
A triangulação é o critério de confiança antes de agir: nenhum IOC ou alegação relevante entra em bloqueio ou relatório com fonte única. O mínimo prático exige duas fontes independentes ou uma fonte primária de alta confiança corroborada por telemetria interna. Devem ser tratados com desconfiança os sinais reciclados, aqueles que apenas republicam a mesma origem sob outros nomes, e as alegações sem data, sem método e sem evidência reproduzível.
8. Automação Básica com APIs
A automação inicial do OSINT dispensa plataforma cara e começa com scripts agendados que consultam APIs, respeitam limites de taxa e entregam objetos normalizados para o processamento do CTI.5. O exemplo abaixo ilustra o padrão de coleta resiliente com tratamento de erro e registro de horário.
import requests, time, hashlib, json
FONTES = [
{"nome": "urlhaus_recente", "metodo": "POST",
"url": "https://urlhaus-api.abuse.ch/v1/urls/recent/"},
{"nome": "malwarebazaar_recente", "metodo": "POST",
"url": "https://mb-api.abuse.ch/api/v1/", "dados": {"query": "get_recent", "limit": 100}},
]
def coletar(fonte, tentativas=4):
for i in range(tentativas):
try:
r = requests.request(fonte["metodo"], fonte["url"],
data=fonte.get("dados"), timeout=30)
if r.status_code == 429:
time.sleep(2 ** i)
continue
r.raise_for_status()
return {"fonte": fonte["nome"],
"coletado_em_utc": time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime()),
"bruto": r.json()}
except requests.RequestException:
time.sleep(2 ** i)
raise RuntimeError(f"Falha ao coletar {fonte['nome']} apos {tentativas} tentativas")
if __name__ == "__main__":
lote = [coletar(f) for f in FONTES]
with open("coleta_osint.jsonl", "a", encoding="utf-8") as saida:
for item in lote:
saida.write(json.dumps(item, ensure_ascii=False) + "\n")
Três salvaguardas de automação se aplicam desde o primeiro script: chaves de API ficam em cofre, jamais no código; toda execução registra horário e volume para detectar falha silenciosa; e a saída já nasce com marcação TLP e fonte, poupando o pipeline de processamento. Automação avançada com NLP para triagem de relatórios pode vir depois, e sempre com revisão humana antes de qualquer ação.
9. Implementação Prática e Salvaguardas por Nível
O Framework CTH organiza o controle em cinco salvaguardas progressivas, detalhadas a seguir.
| Nível | Salvaguarda | Escopo prático |
|---|---|---|
| Básico | CTI.3.1 | Catálogo de no mínimo 15 fontes OSINT relevantes aos PIRs, cobrindo feeds, relatórios e blogs, com acesso e cadência definidos |
| Básico | CTI.3.2 | Ingestão automatizada de feeds de IOCs via API ou TAXII, com validação de campos obrigatórios e conformidade de formato |
| Intermediário | CTI.3.3 | Revisão sistemática de relatórios e blogs com cadência, critérios de relevância e notas de inteligência documentadas |
| Intermediário | CTI.3.4 | Extensão para fontes de dark web com ferramentas de monitoramento, buscando menções à organização, credenciais expostas e discussão de vulnerabilidades |
| Avançado | CTI.3.5 | Coleta automatizada com web scraping, NLP para classificação de relevância e alertas automáticos para publicações de alto impacto |
A ordem de implantação importa. Catálogo e ingestão básica (CTI.3.1 e CTI.3.2) entregam valor em semanas e não exigem competência avançada; a leitura curada (CTI.3.3) é o que realmente gera contexto; dark web (CTI.3.4) só entra com marco legal e OPSEC consolidados; a automação avançada (CTI.3.5) deve seguir, nunca preceder, a maturidade de processamento e análise.
10. Erros Comuns e Pontos de Atenção
- Coletar sem PIR: feed ingerido sem requisito associado gera custo de armazenamento e ruído de falsos positivos, sem nenhuma resposta esperada.
- OPSEC quebrada: conta corporativa em fórum de pesquisa, acesso via rede interna ou download de amostra no host de trabalho anulam a separação entre analista e alvo.
- Fonte única como verdade: agir sobre alegação não corroborada, especialmente em bloqueios, multiplica falsos positivos e desgasta a confiança no programa.
- Falta de documentação: sem fonte, horário e método, o achado não pode ser validado, auditado nem defendido em resposta a incidente ou em juízo.
- Dark web sem marco legal: acessar marketplaces, interagir com vendedores ou armazenar dados pessoais de vazamentos sem roteiro jurídico expõe a organização a risco maior do que o mitigado.
- Scraping indisciplinado: coleta agressiva sem controle de taxa derruba serviços de terceiros, viola termos de uso e costuma terminar em bloqueio da infraestrutura de pesquisa.
Nenhum desses erros exige correção cara. Catálogo enxuto ligado aos PIRs, OPSEC documentada, registro padronizado de coleta e triangulação obrigatória resolvem a maior parte dos problemas antes que eles cheguem à análise.
11. Integração com Outros Controles do Framework CTH
| Controle | Relação com CTI.3 |
|---|---|
| CTI.1 (PIRs) | Os requisitos de coleta definem quais fontes abertas entram no catálogo e com que cadência |
| CTI.2 (Avaliação de Ameaças) | O perfil de atores prioriza relatórios, fóruns e fontes setoriais a monitorar |
| CTI.4 (Fontes Técnicas) | Complementa o OSINT com coleta operada e telemetria interna para triangulação |
| CTI.5 (Processamento) | Recebe a coleta bruta para parse, deduplicação, enriquecimento e marcação TLP |
| PLT.1, PLT.2 e PLT.3 | Ingestão, armazenamento e intercâmbio dos dados coletados em formatos padronizados |
| PLT.5 (TLP) | Define a marcação da informação coletada e os limites de compartilhamento |
| TH.x (Threat Hunting) | Relatórios e IOOs extraídos do OSINT geram hipóteses de caça e retro-buscas |
| INS.4 (Exposição e IOEs) | Monitores de vazamento e menções à organização alimentam o registro de exposição |
A coleta aberta madura se reconhece por três sinais: o catálogo está enxuto e ligado a requisitos, o analista sabe explicar de onde veio cada informação com fonte, horário e método, e nenhuma decisão relevante foi tomada com fonte única. A partir dessa base, automação e expansão de fontes são ganho incremental, e não risco operacional.