SMTP Smuggling

Aprende hacking en AWS desde cero hasta experto con htARTE (Experto en Red Team de AWS de HackTricks)!

Otras formas de apoyar a HackTricks:

Información Básica

Este tipo de vulnerabilidad fue descubierta originalmente en esta publicación donde se explica que es posible explotar discrepancias en cómo se interpreta el protocolo SMTP al finalizar un correo electrónico, permitiendo a un atacante introducir más correos electrónicos en el cuerpo del legítimo, permitiendo suplantar a otros usuarios del dominio afectado (como admin@outlook.com) eludiendo defensas como SPF.

Por qué

Esto se debe a que en el protocolo SMTP, los datos del mensaje que se enviarán en el correo electrónico son controlados por un usuario (atacante) que podría enviar datos especialmente diseñados abusando de las diferencias en los analizadores que introducirán correos electrónicos adicionales en el receptor. Echa un vistazo a este ejemplo ilustrado de la publicación original:

Cómo

Para explotar esta vulnerabilidad, un atacante necesita enviar algunos datos que el servidor SMTP saliente piensa que es solo 1 correo electrónico pero el servidor SMTP entrante piensa que hay varios correos electrónicos.

Los investigadores descubrieron que diferentes servidores entrantes consideran diferentes caracteres como el final de los datos del mensaje de correo electrónico que los servidores salientes no consideran. Por ejemplo, un final regular de los datos es \r\n.\r. Pero si el servidor SMTP entrante también admite \n., un atacante podría simplemente agregar esos datos en su correo electrónico y comenzar a indicar los comandos SMTP de uno nuevo para introducirlo como en la imagen anterior.

Por supuesto, esto solo funcionaría si el servidor SMTP saliente tampoco trata estos datos como el final de los datos del mensaje, porque en ese caso vería 2 correos electrónicos en lugar de solo 1, por lo que al final esta es la desincronización que se está explotando en esta vulnerabilidad.

Datos potenciales de desincronización:

  • \n.

  • \n.\r

También hay que tener en cuenta que el SPF se evade porque si introduces un correo electrónico de admin@outlook.com desde un correo electrónico de user@outlook.com, el remitente sigue siendo outlook.com.

Referencias

Aprende hacking en AWS desde cero hasta experto con htARTE (Experto en Red Team de AWS de HackTricks)!

Otras formas de apoyar a HackTricks:

Última actualización