πŸ“§ Email Spoofing: CΓ³mo funciona, cΓ³mo se explota y cΓ³mo defenderse


0xEm1lio

Miembro muy activo
ΒΏQuΓ© pasa chaches? πŸ‘‹

Soy 0xEm1lio, esta es mi primera contribuciΓ³n al foro. Me dedico a ciberseguridad (pentesting, auditorΓ­as, to ese rollo ok) y querΓ­a aportar algo de valor a la comunidad.

Hoy os traigo una guΓ­a completa sobre Email Spoofing: cΓ³mo funciona, por quΓ© sigue siendo posible en 2026, cΓ³mo probarlo en entornos autorizados y lo mΓ‘s importante, cΓ³mo defenderse.

Espero que os sea útil. Cualquier duda o corrección, aquí estamos. 🀝

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

1️⃣ ΒΏQUΓ‰ ES EL EMAIL SPOOFING?

El Email Spoofing es una tΓ©cnica que permite enviar correos electrΓ³nicos falsificando la direcciΓ³n del remitente. Un atacante puede enviar un correo que aparente venir de "ceo@empresa.com" sin tener acceso a esa cuenta.

ΒΏPor quΓ© es peligroso?
  • Phishing dirigido (spear phishing)
  • Business Email Compromise (BEC)
  • SuplantaciΓ³n de identidad corporativa
  • DistribuciΓ³n de malware con apariencia legΓ­tima
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

2️⃣ ΒΏPOR QUΓ‰ SIGUE SIENDO POSIBLE?

El protocolo SMTP fue diseΓ±ado en 1982 (RFC 821). En aquella Γ©poca, internet era una red acadΓ©mica pequeΓ±a donde todos se conocΓ­an. La seguridad no era una prioridad.

El problema fundamental:

SMTP no verifica la identidad del remitente.

Cuando envΓ­as un correo, el servidor SMTP simplemente confΓ­a en lo que le dices:

─────────────────────────────────────────
MAIL FROM: <ceo@empresa.com> ← Puedes poner lo que quieras
RCPT TO: <victima@ejemplo.com>
DATA
Subject: Urgente - Transferencia

Necesito que hagas una transferencia...

─────────────────────────────────────────

El servidor no pregunta: "ΒΏEres realmente el CEO?" Simplemente acepta el correo y lo entrega.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

3️⃣ LOS TRES PILARES DE DEFENSA: SPF, DKIM, DMARC

Para combatir el spoofing se crearon tres protocolos que trabajan juntos:

─────────────────────────────────────────────────────────────
SPF β†’ ΒΏQuiΓ©n puede enviar correos por mi dominio?
DKIM β†’ ΒΏEl correo es autΓ©ntico y no fue modificado?
DMARC β†’ ΒΏQuΓ© hacer si SPF o DKIM fallan?
─────────────────────────────────────────────────────────────

───────────────────────────
πŸ”Ή SPF (Sender Policy Framework)
───────────────────────────

Es un registro DNS que lista las IPs/servidores autorizados para enviar correo.

Ejemplo de registro SPF:

v=spf1 ip4:192.168.1.1 include:_spf.google.com -all

Desglose:
  • v=spf1 β†’ VersiΓ³n del protocolo
  • ip4:192.168.1.1 β†’ Esta IP puede enviar
  • include:_spf.google.com β†’ Los servidores de Google pueden enviar
  • -all β†’ Rechazar TODO lo demΓ‘s (hard fail)
Mecanismos finales:
  • -all (hard fail) β†’ Rechazar si no coincide βœ… SEGURO
  • ~all (soft fail) β†’ Marcar sospechoso pero entregar ⚠️ DΓ‰BIL
  • +all β†’ Permitir todo ❌ PELIGROSO
───────────────────────────
πŸ”Ή DKIM (DomainKeys Identified Mail)
───────────────────────────

AΓ±ade una firma criptogrΓ‘fica a cada correo:

  1. El servidor genera un par de claves (pΓΊblica/privada)
  2. La clave privada firma cada correo saliente
  3. La clave pΓΊblica se publica en DNS
  4. El servidor receptor verifica la firma

Si alguien modifica el correo o lo envΓ­a sin la clave privada, la firma no es vΓ‘lida.

Consultar DKIM (necesitas el selector):

dig TXT selector._domainkey.dominio.com

───────────────────────────
πŸ”Ή DMARC (Domain-based Message Authentication, Reporting & Conformance)
───────────────────────────

DMARC es el "jefe" que toma la decisiΓ³n final. Define quΓ© hacer cuando SPF o DKIM fallan.

Ejemplo de registro DMARC:

v=DMARC1; p=reject; rua=mailto:reportes@dominio.com

PolΓ­ticas disponibles:

───────────────────────────────────────────────────
p=none => No hacer nada, solo reportar ❌ VULNERABLE
p=quarantine => Enviar a spam ⚠️ PARCIAL
p=reject => Rechazar el correo βœ… SEGURO
───────────────────────────────────────────────────

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

4️⃣ CONFIGURACIONES VULNERABLES

AsΓ­ se ven las configuraciones que permiten spoofing:

❌ CASO 1: Sin protección alguna

SPF: (no existe)
DKIM: (no existe)
DMARC: (no existe)
β†’ Spoofing total, sin advertencias

❌ CASO 2: SPF débil + DMARC inútil

SPF: v=spf1 include:_spf.google.com ~all
DMARC: v=DMARC1; p=none
β†’ El correo llega aunque falle todo

❌ CASO 3: Todo configurado pero DMARC en none

SPF: v=spf1 ... -all βœ…
DKIM: Configurado βœ…
DMARC: p=none ❌
β†’ SPF y DKIM fallan, pero DMARC dice "no hagas nada"

βœ… CASO SEGURO:

SPF: v=spf1 ... -all
DKIM: Configurado con RSA-2048
DMARC: v=DMARC1; p=reject; sp=reject

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

5️⃣ DEMOSTRACIΓ“N PRÁCTICA (LABORATORIO)

Hacerlo en entornos autorizados (pentesting, CTF, laboratorio propio). Que ya os veo venir chaches :ak:

Requisitos:
  • VPS con puerto 25 abierto (ej: Webdock ~2€/mes)
  • SWAKS instalado (navaja suiza del SMTP chaches)

Paso 1: Analizar el dominio objetivo

  • Consultar SPF
dig TXT dominio.com +short

  • Consultar DMARC
dig TXT _dmarc.dominio.com +short

  • Consultar DKIM (si conoces el selector)
dig TXT selector._domainkey.dominio.com +short

Paso 2: Configurar el servidor de correo

sudo apt update && sudo apt install swaks exim4 -y
sudo dpkg-reconfigure exim4-config

Seleccionar: "internet site; mail is sent and received directly using SMTP"​

Paso 3: Enviar correo spoofeado

swaks --to victima@ejemplo.com \
--from ceo@dominio-vulnerable.com \
--server localhost \
--header "Subject: Urgente - Revisar factura" \
--body "Por favor revisa los datos adjuntos."


Paso 4: Verificar resultado

Si la configuraciΓ³n es vulnerable, el correo llegarΓ‘:
  • A inbox con advertencia β†’ Severidad ALTA
  • A inbox sin advertencia β†’ Severidad CRÍTICA
  • A spam β†’ Severidad MEDIA
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Y bueno chaches, mi primer aporte. Cualquier comment se agradece. (dejaros de poner "a ver") chachetones 😎
 

inknot8x

Miembro muy activo
Nodero
Noder
ΒΏQuΓ© pasa chaches? πŸ‘‹

Soy 0xEm1lio, esta es mi primera contribuciΓ³n al foro. Me dedico a ciberseguridad (pentesting, auditorΓ­as, to ese rollo ok) y querΓ­a aportar algo de valor a la comunidad.

Hoy os traigo una guΓ­a completa sobre Email Spoofing: cΓ³mo funciona, por quΓ© sigue siendo posible en 2026, cΓ³mo probarlo en entornos autorizados y lo mΓ‘s importante, cΓ³mo defenderse.

Espero que os sea útil. Cualquier duda o corrección, aquí estamos. 🀝

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

1️⃣ ΒΏQUΓ‰ ES EL EMAIL SPOOFING?

El Email Spoofing es una tΓ©cnica que permite enviar correos electrΓ³nicos falsificando la direcciΓ³n del remitente. Un atacante puede enviar un correo que aparente venir de "ceo@empresa.com" sin tener acceso a esa cuenta.

ΒΏPor quΓ© es peligroso?
  • Phishing dirigido (spear phishing)
  • Business Email Compromise (BEC)
  • SuplantaciΓ³n de identidad corporativa
  • DistribuciΓ³n de malware con apariencia legΓ­tima
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

2️⃣ ΒΏPOR QUΓ‰ SIGUE SIENDO POSIBLE?

El protocolo SMTP fue diseΓ±ado en 1982 (RFC 821). En aquella Γ©poca, internet era una red acadΓ©mica pequeΓ±a donde todos se conocΓ­an. La seguridad no era una prioridad.

El problema fundamental:

SMTP no verifica la identidad del remitente.

Cuando envΓ­as un correo, el servidor SMTP simplemente confΓ­a en lo que le dices:

─────────────────────────────────────────
MAIL FROM: <ceo@empresa.com> ← Puedes poner lo que quieras
RCPT TO: <victima@ejemplo.com>
DATA
Subject: Urgente - Transferencia

Necesito que hagas una transferencia...

─────────────────────────────────────────

El servidor no pregunta: "ΒΏEres realmente el CEO?" Simplemente acepta el correo y lo entrega.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

3️⃣ LOS TRES PILARES DE DEFENSA: SPF, DKIM, DMARC

Para combatir el spoofing se crearon tres protocolos que trabajan juntos:

─────────────────────────────────────────────────────────────
SPF β†’ ΒΏQuiΓ©n puede enviar correos por mi dominio?
DKIM β†’ ΒΏEl correo es autΓ©ntico y no fue modificado?
DMARC β†’ ΒΏQuΓ© hacer si SPF o DKIM fallan?
─────────────────────────────────────────────────────────────

───────────────────────────
πŸ”Ή SPF (Sender Policy Framework)
───────────────────────────

Es un registro DNS que lista las IPs/servidores autorizados para enviar correo.

Ejemplo de registro SPF:

v=spf1 ip4:192.168.1.1 include:_spf.google.com -all

Desglose:
  • v=spf1 β†’ VersiΓ³n del protocolo
  • ip4:192.168.1.1 β†’ Esta IP puede enviar
  • include:_spf.google.com β†’ Los servidores de Google pueden enviar
  • -all β†’ Rechazar TODO lo demΓ‘s (hard fail)
Mecanismos finales:
  • -all (hard fail) β†’ Rechazar si no coincide βœ… SEGURO
  • ~all (soft fail) β†’ Marcar sospechoso pero entregar ⚠️ DΓ‰BIL
  • +all β†’ Permitir todo ❌ PELIGROSO
───────────────────────────
πŸ”Ή DKIM (DomainKeys Identified Mail)
───────────────────────────

AΓ±ade una firma criptogrΓ‘fica a cada correo:

  1. El servidor genera un par de claves (pΓΊblica/privada)
  2. La clave privada firma cada correo saliente
  3. La clave pΓΊblica se publica en DNS
  4. El servidor receptor verifica la firma

Si alguien modifica el correo o lo envΓ­a sin la clave privada, la firma no es vΓ‘lida.

Consultar DKIM (necesitas el selector):

dig TXT selector._domainkey.dominio.com

───────────────────────────
πŸ”Ή DMARC (Domain-based Message Authentication, Reporting & Conformance)
───────────────────────────

DMARC es el "jefe" que toma la decisiΓ³n final. Define quΓ© hacer cuando SPF o DKIM fallan.

Ejemplo de registro DMARC:

v=DMARC1; p=reject; rua=mailto:reportes@dominio.com

PolΓ­ticas disponibles:

───────────────────────────────────────────────────
p=none => No hacer nada, solo reportar ❌ VULNERABLE
p=quarantine => Enviar a spam ⚠️ PARCIAL
p=reject => Rechazar el correo βœ… SEGURO
───────────────────────────────────────────────────

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

4️⃣ CONFIGURACIONES VULNERABLES

AsΓ­ se ven las configuraciones que permiten spoofing:

❌ CASO 1: Sin protección alguna

SPF: (no existe)
DKIM: (no existe)
DMARC: (no existe)
β†’ Spoofing total, sin advertencias

❌ CASO 2: SPF débil + DMARC inútil

SPF: v=spf1 include:_spf.google.com ~all
DMARC: v=DMARC1; p=none
β†’ El correo llega aunque falle todo

❌ CASO 3: Todo configurado pero DMARC en none

SPF: v=spf1 ... -all βœ…
DKIM: Configurado βœ…
DMARC: p=none ❌
β†’ SPF y DKIM fallan, pero DMARC dice "no hagas nada"

βœ… CASO SEGURO:

SPF: v=spf1 ... -all
DKIM: Configurado con RSA-2048
DMARC: v=DMARC1; p=reject; sp=reject

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

5️⃣ DEMOSTRACIΓ“N PRÁCTICA (LABORATORIO)

Hacerlo en entornos autorizados (pentesting, CTF, laboratorio propio). Que ya os veo venir chaches :ak:

Requisitos:
  • VPS con puerto 25 abierto (ej: Webdock ~2€/mes)
  • SWAKS instalado (navaja suiza del SMTP chaches)

Paso 1: Analizar el dominio objetivo

  • Consultar SPF
dig TXT dominio.com +short

  • Consultar DMARC
dig TXT _dmarc.dominio.com +short

  • Consultar DKIM (si conoces el selector)
dig TXT selector._domainkey.dominio.com +short

Paso 2: Configurar el servidor de correo

sudo apt update && sudo apt install swaks exim4 -y
sudo dpkg-reconfigure exim4-config

Seleccionar: "internet site; mail is sent and received directly using SMTP"​

Paso 3: Enviar correo spoofeado

swaks --to victima@ejemplo.com \
--from ceo@dominio-vulnerable.com \
--server localhost \
--header "Subject: Urgente - Revisar factura" \
--body "Por favor revisa los datos adjuntos."


Paso 4: Verificar resultado

Si la configuraciΓ³n es vulnerable, el correo llegarΓ‘:
  • A inbox con advertencia β†’ Severidad ALTA
  • A inbox sin advertencia β†’ Severidad CRÍTICA
  • A spam β†’ Severidad MEDIA
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Y bueno chaches, mi primer aporte. Cualquier comment se agradece. (dejaros de poner "a ver") chachetones 😎
Mas duro que el pan de ayer
 
  • Like
Reacciones : 0xEm1lio