Análise de cabeçalhos de e-mail: como ler Received, SPF, DKIM e DMARC
O cabeçalho de um e-mail (email header) é uma das fontes de inteligência mais ricas e subestimadas em OSINT. Enquanto o corpo da mensagem mostra o que o remetente quis que você visse, o cabeçalho registra o caminho real que a mensagem percorreu entre servidores, os resultados de autenticação e carimbos de tempo de cada salto. Saber ler esses campos permite rastrear a origem provável de uma mensagem, detectar falsificação (spoofing) e sustentar uma investigação com evidência técnica, não com achismo.
Este guia é de nível intermediário a avançado. O foco é analítico: usamos apenas informação que o próprio e-mail entrega, sem interagir com o remetente nem explorar sistemas de terceiros.
O que é o cabeçalho e como abri-lo
Todo e-mail carrega um bloco de metadados no topo da mensagem, invisível na visualização normal. Para investigar, você precisa do cabeçalho completo (full headers ou "mensagem original").
- Gmail (web): abra a mensagem, clique nos três pontos e escolha "Mostrar original". O Gmail exibe um resumo de SPF, DKIM e DMARC e um botão para baixar o
.eml. - Outlook (desktop): abra a mensagem em janela própria, vá em Arquivo, Propriedades, e copie o campo "Cabeçalhos da Internet".
- Apple Mail: menu Visualização, Mensagem, Todos os Cabeçalhos.
Com o texto em mãos, você pode colar em um analisador ou ler manualmente. Entender a leitura manual é essencial: ferramentas automáticas erram e você precisa validar o que elas afirmam.
A cadeia Received: leia de baixo para cima
Cada servidor que toca a mensagem adiciona uma linha Received no topo do cabeçalho. Por isso a ordem cronológica é invertida: a linha mais embaixo é a mais antiga, ou seja, o servidor de origem; a de cima é o último salto, normalmente o seu provedor.
Received: from mx.destino.com.br (mx.destino.com.br [203.0.113.10])
by mbox.destino.com.br with LMTP id abc123
for <alvo@destino.com.br>; Fri, 10 Oct 2026 14:02:11 -0300
Received: from relay.provedor.net (relay.provedor.net [198.51.100.5])
by mx.destino.com.br with ESMTPS id def456
for <alvo@destino.com.br>; Fri, 10 Oct 2026 14:02:09 -0300
Received: from suspeito.exemplo.com (unknown [192.0.2.77])
by relay.provedor.net with ESMTP id ghi789;
Fri, 10 Oct 2026 14:02:05 -0300
Lendo de baixo para cima nesse exemplo: a mensagem nasceu em 192.0.2.77, passou pelo relay do provedor e chegou ao servidor de destino. O IP de origem mais confiável é o da linha mais baixa, antes de qualquer salto interno controlado por você.
Pontos de atenção ao ler:
- O trecho
from NOME (unknown [IP])traz o nome que o servidor remetente anunciou (pode ser forjado) e, entre colchetes, o IP real observado pela conexão TCP (muito mais difícil de falsificar). - Carimbos de tempo coerentes: cada salto deve ter horário igual ou posterior ao de baixo. Se os horários "voltam no tempo" ou têm saltos impossíveis, provavelmente alguém inseriu linhas
Receivedfalsas para disfarçar a origem. - Os primeiros saltos (os de baixo) podem ser inventados por um atacante; confie mais a partir do primeiro servidor que você sabe ser legítimo.
Do IP ao responsável
Com o IP de origem, faça a análise OSINT de infraestrutura:
# Resolução reversa e geolocalização aproximada
whois 192.0.2.77
dig -x 192.0.2.77 +short
O WHOIS do IP revela o bloco de rede e a organização responsável (provedor, hospedagem, operadora). Isso ajuda a validar se o IP condiz com o domínio que a mensagem diz representar.
Autenticação: SPF, DKIM e DMARC
O campo que resume a autenticidade é o Authentication-Results, normalmente inserido pelo servidor receptor:
Authentication-Results: mx.destino.com.br;
spf=pass (sender IP is 198.51.100.5) smtp.mailfrom=banco.com.br;
dkim=pass header.d=banco.com.br header.s=selector1;
dmarc=pass (p=reject) header.from=banco.com.br
| Mecanismo | O que verifica | Leitura |
|---|---|---|
| SPF | Se o IP que enviou está autorizado no DNS do domínio do envelope (smtp.mailfrom) | spf=pass ou spf=fail |
| DKIM | Se a assinatura criptográfica confere, provando que corpo e cabeçalhos-chave não foram alterados | dkim=pass ou dkim=fail |
| DMARC | Se SPF e/ou DKIM estão alinhados com o domínio do campo From visível | dmarc=pass ou dmarc=fail e a política p= |
O ponto decisivo é o alinhamento. É possível que um e-mail tenha spf=pass e ainda seja falsificado, pois o SPF valida o domínio do envelope, não o From que o usuário vê. O DMARC resolve isso exigindo que o domínio autenticado por SPF ou DKIM seja o mesmo do From. Logo, um dmarc=pass com p=reject é um sinal forte de legitimidade; um dmarc=fail em uma mensagem que se diz de um banco é bandeira vermelha.
Verifique também a política publicada pelo domínio alegado:
dig TXT _dmarc.banco.com.br +short
dig TXT banco.com.br +short # registro SPF (v=spf1 ...)
Passo a passo na prática
Suponha que você recebeu uma mensagem supostamente de uma empresa e quer avaliar sua autenticidade:
- Extraia o cabeçalho completo pelo método do seu cliente de e-mail e salve como
.emlou.txt. - Localize o campo
Frome oReturn-Path. Divergência entre eles já é um indício a investigar. - Leia a cadeia
Receivedde baixo para cima e anote o IP de origem e os carimbos de tempo. Procure saltos incoerentes. - Leia o
Authentication-Resultse registre SPF, DKIM, DMARC e o alinhamento com oFrom. - Rode WHOIS e DNS reverso no IP de origem e compare a organização com o domínio alegado.
- Confirme a política no DNS com
dig TXT _dmarc.dominio. - Documente tudo: salve o
.emloriginal (ele é sua evidência), anote horário de coleta e ferramentas usadas.
Ferramentas como o "Message Header Analyzer" da Microsoft, o MXToolbox e analisadores online ajudam a visualizar a cadeia, mas sempre valide manualmente os campos críticos antes de concluir.
Armadilhas comuns
- Concluir origem a partir do
From: ele é trivial de forjar. - Tratar
spf=passcomo prova de legitimidade sem checar alinhamento DMARC. - Confiar nos saltos
Receivedmais baixos, que podem ser forjados. - Ignorar o fuso horário dos carimbos ao reconstruir a linha do tempo.
- Analisar um print em vez do
.eml, perdendo os campos reais.
Ética e legalidade
A análise de cabeçalhos trabalha apenas com dados que já estão na mensagem que você legitimamente recebeu, o que a mantém no campo das fontes abertas. Ainda assim, no Brasil, IPs e endereços de e-mail podem constituir dado pessoal sob a LGPD, e a interceptação de comunicações alheias é vedada pelo Marco Civil da Internet. Analise apenas mensagens que você recebeu ou foi autorizado a examinar, registre finalidade e não exponha dados de terceiros publicamente.
Quer aprofundar leitura de cabeçalhos e rastreio de infraestrutura com outros investigadores? A comunidade OsintHunters Brasil é um bom lugar para trocar exemplos reais e tirar dúvidas de tradecraft.
