viernes, 19 de noviembre de 2010

Enviar un e-mail suplantando la identidad de otra persona.

Nota: Este post nada tiene que ver con hacking, no se realiza nada ilegal.

El protocolo SMTP (Simple Mail Transfer Protocol) se utiliza para intercambiar e-mails. La forma en la que debe comportarse está definida en un estándar, en concreto el RFC 2821.

La anécdota de este protocolo de la capa de aplicación tan común, es que el estándar no especifica que para poder enviar correos electrónicos haya que proporcionar una contraseña. Esto da lugar a realizar cosas como la siguiente:

Supón que tienes dos amigos, Pepe y Juan. Tanto Pepe como Juan como tú tienen cuentas de correo electrónico en el trabajo (por ejemplo). Como sabes cuál es el correo de Pepe y de Juan, puedes enviar un correo a Juan haciéndote pasar por Pepe. Cuando Juan reciba el correo electrónico escrito por tí, verá que el remitente es Pepe. Sin embargo, Pepe no tendrá ni idea de que ese correo ha sido enviado con su e-mail.

¿Curioso verdad? Veamos como hacerlo funcionar:
  
telnet correo.servidor.empresa.es 25

Trying X X X . X X X . X X X . X X X . . .
Connected t o c o r r e o . servidor. empresa . e s .
Escape c h a r a c t e r i s ] .
220 c o r r e o . servidor . empresa . e s ESMTP − SERVIDOR

ehlo correo . servidor . empresa . es

250− c o r r e o . servidor. empresa . e s .
250−PIPELINING
250−SIZE 40480000
250−VRFY
250−ETRN
250−AUTH PLAIN LOGIN
250−AUTH
=PLAIN LOGIN
250−ENHANCEDSTATUSCODES
250−8BITMIME
250 DSN

m a i l from : CorreoDePepe @ servidor.empresa . e s
250 2 . 1 . 0 Ok
rcpt to : CorreoDeJuan @ servidor.empresa . es
250 2 . 1 . 5 Ok
data
354 End data with
>.
>
s u b j e c t : Asunto del correo a enviar
Aquí puedes escribir el cuerpo del mensaje. Para terminar escribe "."
.

250 2 . 0 . 0 Ok : queued a s 55CXXXXX1BA


Nota: Según las restricciones del servidor hemos de reiterar el envío de mensajes ehlo. Esto es debido a que algunos servidores tienen un mecanismo simple para evitar correos de spam, basado en tiempos de espera y reenvíos. Otra posibilidad es enviarse un correo a sí mismo y ya luego el de suplantación de identidad.

Servidores de correo como hotmail, gmail, ... no permiten realizar esta serie de actividades, lo que quiere decir que no implementan el protocolo estandarizado de SMTP, sino un SMTP adulterado. Si lo intentas comprobarás que el protocolo rechaza este tipo de intentos.

Sin embargo, si tienes una cuenta de correo electrónico en la universidad, en el trabajo, ... seguro que podrás ver que efectivamente esto funciona.

1 comentario:

Escriba su comentario (no necesita registrarse).