El email spoofing, o suplantación de identidad de correo electrónico, es una técnica ampliamente utilizada en los ataques de phishing o spam. Consiste en hacerte pasar por un usuario legitimo a la hora de enviar un correo electrónico mediante la modificación de las cabeceras de tal modo que el software que recibe el mensaje muestre la dirección falsa a la victima. El usuario solo tiene posibilidad de detectar el phishing si inspecciona cuidadosamente los valores del encabezado. Y siendo objetivos, esto pasa muy pocas veces ya que el usuario medio no tiene lo conocimientos suficientes.

Parece mentira que estando en el año 2022 estos ataques se puedan seguir realizando pero aún son posibles porque el problema reside en la implementación del protocolo SMTP. Las consecuencias de este ataque os la imagináis todos, desde phishing que obtienen tarjetas de crédito, hasta destrozar la imagen digital de una empresa enviando correos en su nombre.

Para entender como detectar y solucionar el problema, es necesario conocer que son y para que sirven los registros SPF y DMARC. Para ello, vamos a intentar explicarlo de la manera más simple posible, de la manera en la que a nosotros nos hubiese gustado que nos lo explicaran hace 3 años cuando escuchamos por primera vez la palabra DMARC.

REGISTRO SPF

El registro SPF lo podemos encontrar en los registros DNS del dominio en cuestión. Se trata de un registro TXT que simplemente se usa para mostrar información públicamente. Sirve para especificar qué direcciones IPs o dominios tienen permiso para enviar correos en nombre un dominio en cuestión. 

Para visualizar este registro, podemos utilizar el siguiente comando tanto en una terminal Windows como en una de Linux.

nslookup -type=txt dominio.com

Como se puede observar en la imagen anterior, un correo enviado por ejemplo por ceo@securihub.com, únicamente va a tratarse como legitimo si proviene de una de las direcciones IP que se encuentran en _spf.mail.hostinger.com. Para ver que direcciones IP se encuentran en este dominio, volvemos a realizar la consulta sobre esta dirección.

Ccualquier correo enviado desde las IPs que aparecen en la imagen será considerado como legítimo. Por lo tanto, cuando un cliente de correo reciba un correo electrónico de ceo@securihub.com, el software en cuestión (outlook, gmail, thunderbird, etc) comprobará si la IP del emisor de dicho correo está incluida en las que muestran el registro SPF. Si está incluida, el correo será categorizado como PASS, por el contrario, si la IP no es válida, este será categorizado como FAIL
 
Es aquí donde entra en juego DMARC.
 

REGISTRO DMARC

Muy resumidamente, el registro DMARC es muy parecido al anterior y sirve para especificar que tipo de politica se va a aplicar en caso de que el SPF sea FAIL, es decir, que se ha enviado el correo desde una direccion IP no esperada o legitima. Existen 3 opciones o politicas en DMARC:
 
none: aunque SPF lo haya marcado como fail, no se hace nada y el correo llega al buzon de entrada del receptor.
quarantine: se mete en el buzón de spam y ya depende del receptor el comprobar si el emisor es legítimo.
reject: directamente se descarta el correo para que no llegue al receptor.
 

Para visualizar este registro, podemos utilizar el siguiente comando muy parecido al anterior con la única diferencia de que añadimos el subdominio _dmarc tal y como se muestra a continuación.

nslookup -type=txt _dmarc.dominio.com

Para la realizacion de esta prueba hemos puesto la política de DMARC a none que consiste en, como ya hemos dicho anteriormente, no hacer nada cuando SPF sea FAIL. Para realizar la prueba de spoofing vamos a utilizar esta web que permite modificar el emisor de un correo electrónico.

Rellenamos los campos poniendo como emisor un correo de la compañía, le damos a enviar y… ¡TACHAN! Hemos conseguido hacernos pasar por el ceo de securihub y enviar correos en su nombre.

Si queremos ver como gmail ha detectado que SPF ha fallado y qué política de DMARC ha aplicado, podemos dar a opciones > mostrar original y se nos mostrará toda la información del correo electrónico donde encontraremos dicha información:

 
CONCLUSION

Si queremos evitar que un atacante pueda enviar correos en nombre de nuestra organización, tenemos que configurar el registro SPF con las direcciones IPs de los servidores de correo de nuestra empresa (no olvidarse de las IPs de terceros si tenemos) y también configurar la política de DMARC en modo reject.

Como ejercicio te proponemos que realices consultas a las empresas más importantes que conozcas para que veas como todas ellas tienen la politica de DMARC configurada como «p=reject«

Por ultimo, nosotros ya hemos vuelto a configurar la política así que no seas pájaro y nos intentes suplantar… o bueno, inténtadlo 😉

¡Happy hacking!