// OPERACIÓN: Análisis Forense de Cabeceras de Correo Electrónico

// Manual básico del Analista de Ciberseguridad

*DISCLAMER* -> Por seguridad y cuidado en revelación de secretos se hace omisión de capturas de logs o detalles técnicos que puedan comprometer la seguridad de la información.
NOTA: Este post 0x47 fue injustamente calificado como contenido de adultos por eso lo expongo de nuevo sin orden cronológico

0x00 — METADATOS INVISIBLES

Las cabeceras son metadatos invisibles que registran el tránsito de un mensaje: remitente declarado, servidores intermediarios, autenticación y marcas temporales.

Son clave para ciberseguridad porque permiten detectar spoofing, rutas anómalas y fallos o inconsistencias en SPF, DKIM y DMARC.

Mientras el usuario común ve un email como una carta digital, el analista ve una cadena de transporte, dominios, IPs, firmas criptográficas y políticas de autenticación.

Las cabeceras son el rastro técnico del mensaje.

Por qué importan para analistas 

ObjetivoTécnicaIndicadores
Detectar phishing o spoofingAnálisis de dominios, ruta y autenticaciónInconsistencias entre identidad visible y técnica
Verificar autenticaciónSPF, DKIM y DMARCpass, fail, softfail, none
Rastrear incidentesCorrelación de headers, dominios y tiemposSaltos inusuales, retrasos, valores atípicos

0x01 — OBTENCIÓN DE CABECERAS RAW

El primer paso es extraer las cabeceras completas del email sospechoso.

Cada cliente de correo expone esa información de forma distinta, pero el principio es el mismo, conservar el bloque RAW completo para revisión posterior.

Procedimiento por cliente de correo

ClienteRuta de accesoResultado
GmailAbrir email → menú → Mostrar originalTexto RAW con cabeceras
OutlookAbrir email → Archivo → PropiedadesCabeceras de Internet
ThunderbirdAbrir email → Ver → Cabeceras → TodasHeaders completas

Almacenamiento de evidencias

# Guarda el bloque completo en un archivo de texto

Archivo: email_headers.txt

# Si el caso lo requiere, conserva también el .eml original

0x02 — ANÁLISIS MANUAL

Analiza el texto RAW línea por línea.

La cadena Received suele leerse de abajo hacia arriba, pero no todas las líneas tienen el mismo nivel de confianza. 

El punto clave es identificar el primer salto añadido por infraestructura fiable.

Identifica campos básicos

Campo headerQué revisarPosible red flag
From / To / SubjectConsistencia entre identidad visible, contexto y dominioSuplantación visual o dominio inesperado
Message-IDFormato y dominio asociadoValor extraño o inconsistente con el resto del mensaje
DateMarca temporal y zona horariaFechas imposibles o desviaciones llamativas
Reply-To / Return-PathSi coinciden o no con la identidad declaradaDesalineación sospechosa

Analiza la cadena Received

Cada línea Receivedrepresenta un salto en la ruta del mensaje.

Received: from [origen-aparente] ([IP])

by [destino]

with [protocolo]

id [identificador]

for [destinatario];

[timestamp]

Procedimiento de análisis

1. Identifica los saltos confiables y los no confiables.
2. Extrae IPs y hostnames relevantes.
3. Revisa si la infraestructura tiene sentido con el dominio y el contexto del mensaje.
4. Usa geolocalización o WHOIS como apoyo, no como prueba única.
5. Documenta anomalías, no conclusiones precipitadas.

NOTA 

Saltos numerosos, hostnames atípicos o retrasos llamativos pueden ser señales útiles, pero siempre deben interpretarse con contexto.

// Ejemplo sintético de cadena Received

Received: from relay.mail.example.net (relay.mail.example.net [192.0.2.10])

by mx.example.org with ESMTPS id sample123

for <user@example.org>;

Tue, 03 Mar 2026 18:31:53 +0000 (UTC)

// Caso sintético usado únicamente con fines didácticos

0x03 — SPF / DKIM / DMARC

La autenticación de email permite validar si el mensaje es coherente con la infraestructura declarada y si el dominio protege su identidad.

MecanismoQué validaResultadoInterpretación
SPFSi el servidor emisor está autorizado para el dominio envelope senderpass / fail / softfail / nonefail es un indicador fuerte, pero requiere contexto
DKIMIntegridad y firma del dominiopass / fail / nonepass sugiere integridad del mensaje firmado
DMARCAlineación entre identidad visible y SPF/DKIMpass / fail / noneAyuda a decidir el nivel de confianza

Buscar campos de autenticación

Received-SPF: pass (example.org: domain designates 192.0.2.10 as permitted sender)

DKIM-Signature: v=1; a=rsa-sha256; d=example.org; s=selector1;

Authentication-Results: mx.example.org; spf=pass; dkim=pass; dmarc=pass

Verificar alineación

Concepto crítico: el dominio de From: debe ser coherente con DKIM d= y/o con el dominio evaluado por SPF para que DMARC tenga sentido.

ALINEACIÓN CORRECTA

From: alerts@example.org
DKIM d=example.org
SPF domain: mail.example.org
DMARC: pass
Resultado: coherencia técnica razonable

CASO SOSPECHOSO

From: support@example.org
DKIM d=unrelated-domain.example
SPF: fail
DMARC: fail
Resultado: mensaje de alta sospecha, requiere validación adicional

0x04 — INDICADORES DE COMPROMISO (IoCs)

Más allá de la autenticación, ciertos campos complementan el análisis técnico del mensaje.

Campo headerPropósitoObservación
X-Originating-IPPuede revelar un punto de origen aparenteNo siempre está presente ni siempre es decisivo
User-AgentCliente o librería usada para generar el mensajeÚtil para contexto, no concluyente por sí solo
Reply-ToDirección de respuestaSi difiere del From, merece revisión
Return-PathEnvelope senderEs clave para interpretar SPF
X-Mailer / X-SenderSoftware de envíoPuede ayudar a perfilar el caso

0x05 — ANÁLISIS CON CLI

En triaje rápido, filtrar campos relevantes localmente puede acelerar la revisión sin depender de terceros.

Extracción de evidencias

  1. Obtención del bloque RAW del email sospechoso
  2. Almacenamiento local en email_headers.txt

Filtrado de campos relevantes

# PowerShell - Filtrado de campos críticos

Get-Content "email_headers.txt" | Select-String -Pattern `

"From:","Received:","Authentication-Results:","SPF","DKIM","DMARC"

OUTPUT ESPERADO

From: Security Notifications <alerts@example.org>
Received: from relay.mail.example.net
Authentication-Results: mx.example.org; dkim=pass; spf=pass; dmarc=pass
DKIM-Signature: v=1; a=rsa-sha256; d=example.org
Received-SPF: pass

Validación DNS

Una vez identificada una IP o un hostname relevantes, puede verificarse su coherencia mediante resolución DNS o PTR.

# PowerShell - Resolución inversa de DNS (PTR)

Resolve-DnsName 192.0.2.10

OUTPUT: EJEMPLO

Name: relay.mail.example.net
Type: PTR
Address: 192.0.2.10
Veredicto: el hostname es coherente con el ejemplo sintético

0x06 — MENSAJE LEGÍTIMO

Caso sintético de mensaje legítimo usado para mostrar el flujo de trabajo básico.

Datos del mensaje

CampoValor
Message-ID<sample-message-id@example.org>
FromSecurity Notifications <alerts@example.org>
SubjectMonthly service update
DateTue, 03 Mar 2026 18:31:53 +0000 (UTC)
Touser@example.org
Reply-Tohelpdesk@example.org
Return-Pathbounces@mail.example.org

Análisis de ruta

Received: from relay.mail.example.net (relay.mail.example.net [192.0.2.10])

by mx.example.org with ESMTPS id sample123

// Infraestructura coherente con el caso de ejemplo

// Saltos totales: 4

Análisis de autenticación

MecanismoResultadoDetalles
SPFPASSIP autorizada por el dominio del ejemplo
DKIMPASSd=example.org
DMARCPASSAlineación razonable con header.from=example.org

Veredicto final

MENSAJE LEGÍTIMO

1. Ruta coherente con el caso de ejemplo
2. Autenticación: SPF=PASS | DKIM=PASS | DMARC=PASS
3. Sin indicadores relevantes en este escenario sintético
4. Veredicto: mensaje legítimo del ejemplo didáctico

0x07 — EXTRACCIÓN DE URLs

Los atacantes pueden usar acortadores, redirecciones o caracteres visualmente similares para dificultar el análisis. 

Extraer URLs por CLI ayuda a revisarlas sin interacción directa con el contenido.

Regex para extracción de URLs

# PowerShell - Extracción de URLs con Regex

$regex = 'https?://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,}(?:/[^\s"<>]*)?'

Get-Content "email_headers.txt" | Select-String -Pattern $regex -AllMatches |

ForEach-Object { $_.Matches.Value } | Sort-Object -Unique

Quoted-Printable

NORMALIZACIÓN PREVIA

La codificación Quoted-Printable puede introducir secuencias como =3D o cortar líneas con = al final. 

Antes de revisar reputación o correlacionar URLs, conviene normalizar el contenido para evitar falsos negativos.

TipoEjemplosNaturaleza
Legítimas/técnicasschema.org, w3.org, cdn.example.orgInfraestructura normal
Del negocioportal.example.org, support.example.orgContenido esperado del mensaje
De infraestructuratracking.mail.example.netServicios de entrega o seguimiento
Sospechosasbit.ly/xyz, paypa1.exampleRequieren validación adicional

Verificación de reputación

# Paso 1: normalizar URL

URL original: https://portal.example.org/path=

URL normalizada: https://portal.example.org/path

# Paso 2: consultar reputación en un entorno controlado

0x08 — HERRAMIENTAS EXTERNAS

Cuando el análisis manual resulta lento, algunas herramientas web pueden ayudar a visualizar la ruta del mensaje o resumir resultados de autenticación. 

Si se usan, conviene valorar el impacto en privacidad y tratamiento de evidencias.

VENTAJAS

  • Visualización rápida de la ruta
  • Resumen de autenticación
  • Apoyo para documentación

PRECAUCIÓN

  • Puede implicar exposición de evidencias a terceros
  • No siempre es adecuado en entornos sensibles
  • Debe valorarse según la política de la organización

0x09 — MENSAJE SOSPECHOSO VS. MENSAJE LEGÍTIMO

Mensaje sospechoso

ESCENARIO

From: ceo@example.org
Subject: "Urgent payment request"
SPF: none
DKIM: none
DMARC: fail
Reply-To: external-mailbox@example.net

ANÁLISIS

Desalineación entre identidad visible y técnica, ausencia de autenticación sólida y contexto de urgencia.
Veredicto: mensaje altamente sospechoso, escalar y validar por canal alternativo.

Mensaje legítimo con configuración mejorable

ESCENARIO

From: notifications@example.org
SPF: pass
DKIM: pass
DMARC: fail

ANÁLISIS

Es posible que exista una desalineación de configuración más que un comportamiento malicioso.
Veredicto: revisar política y alineación antes de bloquear.

0x0A — PLANTILLA DE DOCUMENTACIÓN

Plantilla básica para documentar análisis de cabeceras en contexto SOC o DFIR.

ANÁLISIS DE CABECERAS DE EMAIL

Fecha: [DD/MM/YYYY]

Analista: [Nombre]

1. Ruta observada

2. Autenticación SPF/DKIM/DMARC

3. Indicadores relevantes

4. Veredicto

5. Recomendaciones

0x0B — MEJORES PRÁCTICAS

PrácticaImplementación
Analiza headers completasEvita conclusiones con fragmentos parciales
Normaliza contenido antes de correlacionarEspecialmente URLs y contenido MIME
Documenta contexto y limitacionesNo sobredimensionar indicadores débiles
Conserva la evidencia originalRAW y, cuando aplique, el mensaje original
Aplica criterio de confianzaNo todos los headers pesan igual

Referencias técnicas

  • RFC 5321/5322: SMTP y formato de email
  • RFC 7208: SPF
  • RFC 6376: DKIM
  • RFC 7489: DMARC

0x0C — CONCLUSIONES

El análisis de cabeceras de email es una habilidad fundamental para triaje, investigación y validación técnica de mensajes sospechosos.

  • Permite detectar inconsistencias entre identidad visible y técnica
  • Ayuda a interpretar SPF, DKIM y DMARC
  • Facilita extraer indicadores útiles para investigación
  • Mejora la calidad del triaje en entornos SOC

HABILIDADES DEMOSTRADAS

  • Lectura e interpretación de cabeceras RAW
  • Revisión de autenticación SPF/DKIM/DMARC
  • Extracción básica de indicadores
  • Documentación técnica orientada a investigación

Las cabeceras no explican todo por sí solas, pero sí ofrecen una base sólida para separar ruido, errores de configuración y comportamientos sospechosos.

[EOF]

"Learning to read headers is learning to read message trust."