4 ago 2016

SimpleEmailSpoofer y SpoofCheck: Herramientas que agilizan el Email Spoofing

El email spoofing es una técnica muy antigua utilizada para engañar a un usuario haciéndole creer que está recibiendo un correo electrónico de una persona concreta, cuando esto no es así. Es decir, un usuario suplanta la identidad de otro e intenta hacer un mensaje lo más creíble posible. En muchos procesos de hacking ético se debe llevar a cabo este tipo de pruebas para verificar varias cosas, por ejemplo que un conjunto X de empleados están concienciados y no caerán ante este tipo de práctica, aunque en algunas ocasiones es muy difícil no caer, y, por otro lado, verificar la correcta configuración de mecanismos como SPF, DKIM, DMARC, etcétera.

Hoy hablaremos de un par de herramientas escritas en Python que pueden ser utilizadas en nuestros procesos de Ethical Hacking y que permiten comprobar si  un dominio es spoofeable y, por lo tanto, con la herramienta SimpleEmailSpoofer se puede enviar un correo electrónico falso que permita engañar a la víctima. 

De este par de herramientas la que realmente he visto más útil, quizá por sencillez es la de SpoofCheck. Esta herramienta permite verificar una serie de condiciones para demostrar si un dominio es spoofeable o no. Es decir, la herramienta nos dirá si el dominio que se quiere suplantar es, probablemente, spoofeable o, si por el contrario, deberíamos buscar otro tipo de vía. Por otro lado, la herramienta SimpleEmailSpoofer es un script escrito en Python que se encarga de conectar con Postfix y llevar a cabo el envío del email, con los parámetros y atributos que le indiquemos a la aplicación.

Instalación

La instalación o descarga de estas aplicaciones es muy sencilla. Directamente se pueden obtener desde sus repositorios de Github. En el caso de SimpleEmailSpoofer se puede obtener en este repositorio de Github, mientras que SpoofCheck desde otro repositorio de Github. Una vez descargadas ambas herramientas con el comando git clone, por ejemplo, se debe instalar las dependencias que éstas tienen. La ejecución del comando pip install –r requirements.txt se debe llevar a cabo. 

SpoofCheck

¿Cuándo un dominio es spoofeable? La herramienta SpoofCheck se encarga de ir comprobando una serie de condiciones. A continuación podemos ver las condiciones que se evalúan para verificar si un dominio es spoofeable o no:
Ausencia del registro SPF o DMARC.
El registro SPF del DNS del dominio no especifica ~all o –all.
La política DMARC está configurada a p=none o no existe. 

Viendo estas condiciones vamos a realizar algunas pruebas con dominios conocidos. En el primer ejemplo vamos a analizar apple.com. Como se puede ver en la siguiente imagen Apple dispone de un registro SPF habilitado y con política –all. Sin embargo, aunque existe registro DMARC, la política no se encuentra específica, por lo que dicho dominio es spoofeable. 


Como segundo ejemplo vamos a realizar un análisis de Gmail y Outlook, como ejemplo de proveedores de correo electrónico gratuito más utilizados en el mundo. Tal y como se puede ver en la imagen ambos tienen de registro SPF, dónde se incluyen las direcciones IP o dominios que son utilizados por los servidores de correo electrónico autorizados. Ambos disponen de DMARC pero sin política aplicada, por lo que la aplicación SpoofCheck nos devuelve que son dominios spoofeables.


Para el caso de Paypal observamos una grata sorpresa. No es spoofeable debido a que dispone de registro SPF con direcciones IP especificadas. Dispone de registro DMARC y, además, tiene una política de rechazo habilitada. Hay que recordar que Paypal tiene otros pequeños errores o debilidades, como la posibilidad de robar cuentas por el fallo del usuario al registrar un correo electrónico no real al crear su cuenta de Paypal.


SimpleEmailSpoofer

La herramienta SimpleEmailSpoofer es muy sencilla de configurar y ejecutar. Lo primero de todo es disponer de un archivo en el incluyamos el código HTML del body del correo. Para el ejemplo que se muestra a continuación se ha realizado un pequeño ejemplo de un correo de Apple. En el body se puede ver la carga de una imagen, la cual es la manzana de Apple. 

Una vez generado el fichero se deben utilizar una serie de parámetros para poder enviar el correo electrónico. Antes de poder utilizar SimpleEmailSpoofer hay que estar seguros de Postfix se encuentra instalado en el sistema. En caso de no estar instalado, se debe ejecutar apt-get install postfix, y posteriormente service postfix start. 


Se utilizan diferentes parámetros para indicar el archivo con el body del email, el email al que enviaremos el correo electrónico, el correo que se quiere spoofear y el nombre del usuario que envía el correo electrónico. Por último, el parámetro –j nos permite indicar el asunto con el que se enviará el correo. Si vemos el correo electrónico que nos llega vemos como podría pasar perfectamente por un correo real. 


En conclusión, un par de herramientas útiles y que hay que tener en la mochila para nuestras auditorias y hacking éticos. Sobre todo herramientas como SpoofCheck, la cual permite inferir si un dominio será spoofeable y ver si tendremos éxito o no con la manipulación y creación de un correo electrónico falso en nuestra auditoria.

3 comentarios:

  1. Una excelente herramienta que sin duda estará en mi cajón de hacking

    ResponderEliminar
  2. Hola Pablo,
    Al ejecutar la herrmienta me sale el siguiente mensaje. Me podrias ayudar. Saludos.

    root@kali:~/spoofcheck# ./spoofcheck.py apple.com
    Traceback (most recent call last):
    File "./spoofcheck.py", line 7, in
    import emailprotectionslib.dmarc as dmarclib
    ImportError: No module named emailprotectionslib.dmarc

    ResponderEliminar
  3. Hola Pablo
    Haciendo pruebas con el DMARC en reject para un determinado dominio, también se consigue suplantar la identidad. De hecho la única forma de "pararlo" es la que tienen ciertos proveedores como Google y Microsoft; de forma que el mensaje les llega pero etiquetado como spam.

    ResponderEliminar