martes, 17 de mayo de 2016

Phishing. Un caso práctico con Phishing Frenzy


Buenas a todos,

En ocasiones durante una auditoría nos podemos encontrar con la necesidad de lanzar una campaña de phishing, para ganar acceso, por estar realizando un APT o simplemente dentro de un programa para concienciar a los trabajadores.

En la entrada de hoy vamos a ver Phishing Frenzy un framework escrito en Ruby para realizar campañas de phishing que nos permite llevar a cabo todas las fases del proceso.


Configuración


Para la prueba de concepto vamos a utilizar Docker por su sencillez y comodidad.
El siguiente comando descarga la imagen de Docker Hub y crea un contenedor.

docker run -d -p 80:80 b00stfr3ak/ubuntu-phishingfrenzy

Comprobamos que el contenedor esta corriendo.




La imagen de docker que estamos ejecutando esta configurada con el Virtual Host phishingfrenezy.local. Para ajustarlo a nuestras necesidades podemos incluir dicho registro en nuestro archivo hosts local o bien modificar la configuración del contenedor, nosotros vamos a optar por la segunda.


Para ello, iniciamos una Shell interactiva en nuestro contenedor y modificamos los siguientes archivos;

/etc/apache2/pf.conf linea ServerName
/var/www/Phishing-Frenzy/config/application.rb linea SITE_URL
y añadir en el hosts del contenedor.




Reiniciamos Apache, service apache2 reload y accedemos con el navegador a la interfaz web de Phishing Frenzy y las credenciales por defecto admin:Funt1me!



Por tanto, lo primero es cambiar la password de admin. [Menu: Admin → Manage Users → Manage Account]


La Trampa, el correo y la página


Una vez terminada la configuración lo tenemos todo listo para realizar nuestra primera campaña de phishing.
Para el ejemplo vamos a utilizar la web de nuestros compañeros como prueba de concepto.

El primer paso es clonar la página web con Phishing-Frenzy. [Menu: Resources → Website Cloner → Clone Website]


Cuando termine el proceso podemos visualizar y descargar la página.

Ahora creamos un Template, que es la pieza clave de nuestra campaña. [Menu: Template → Create]
Le ponemos nombre y modificamos sus propiedades


Vamos por partes: Nombre, descripción y Notas, está claro.
Index, especifica cual será la página de inicio y en Template Files añadimos todos los archivos necesarios.

tss.jpg – Imagen para dar mejor apariencia al correo de phishing.

tss.html.erb – Correo de phishing usando la imagen que añadimos e invitando a los usuarios a que hagan login en el sitio.


Aquí la clave son las etiquetas "<%= image_tag attachments['tss.jpg'].url %>" para incluir la imagen y "<a href="http://<%= @url %>">" donde Phishing Frenzy inserta el vinculo hasta nuestro sitio espejo.

index.php – la copia de la página descargada con Phishing Frenzy.
Es imprescindible modificar el formulario de la página para que los campos User y Pass se llamen UsernameForm y PasswordForm sino Phishing Frenzy será incapaz de registrar los logins.


Además, modificamos el código de la página para conservar lo más posible el aspecto y redirigir el formulario a redirect.php.

redirect.php – redireccionamos a las víctimas a la página de Login fallido del sitio original con la intención de no alertar al usuario.


rounded-white.png – este archivo es necesario para la página que estamos clonado.

Guardamos y ya tenemos listo el Template.


Los Destinatarios


Phishing Frenzy dispone de una herramienta integrada para buscar los objetivos que funciona con el motor de Bing. Lo primero que tenemos que hacer es introducir nuestra Api Key en la configuración. [Admin → Global Setting → Bing API Key]

Para obtener la API key debemos registrarnos aquí o usar la de algún desarrollador descuidado. Por supuesto hemos optado por la primera.
Con la key configurada vamos a [Resources → Email Enumeration → Enumerate] y rellenamos el campo con el dominio thesecuritysentinel.es.

Cuando finaliza la búsqueda tenemos un listado con los resultados y la URL de donde han sido obtenidos.


La Campaña


Ya podemos lanzar nuestra campaña. [Campaigns → New Campaign] y vamos configurando opciones

Rellenamos los destinatarios y el correo de pruebas. Seleccionamos el Template que hemos creado y marcamos Active.
Cuando Phishing Frenzy activa la campaña crea en Apache un virtual host asociado al FQDN que rellenamos más abajo.

Debemos crear/registrar un registro DNS público apuntando a nuestro servidor de phishing.

Nosotros, a modo de ejemplo, lo haremos con un domino que tiene un error tipográfico más o menos imperceptible a simple vista.


Salvamos la campaña y podemos visualizar y modificar el cuerpo del mensaje. Además podemos lanzar una prueba a la dirección que hayamos configurado. Esto último es especialmente útil para ir afinando los detalles.
Cuando estemos listos pulsamos Launch para lanzar la campaña.

Los Resultados


Nuestros objetivos reciben el siguiente correo de phishing

Cuando la víctima pulsa el enlace es direccionada a nuestro servidor de phishing, en el que si hace login, caerá en la trampa


Para ser finalmente redirigido a la página original como si hubiese escrito mal las credenciales.

Pero si en Phishing Frenzy vamos a [Reports → Stats] vemos como se están recogiendo las credenciales de las víctimas.


Conclusiones


Para asegurar el éxito y realizar una buena campaña de phishing es necesario cuidar bien los detalles e intentar que tanto el correo como la página y el dominio sea lo más parecido al objetivo.
También es importante configurar bien los registros MX, SPF y DKIM para evadir los filtros de Spam.

Como defensa es importante realizar campañas contra nuestros propios usuarios con el objetivo de concienciar al personal frente a futuros ataques.






3 comentarios:

  1. Hola buenos días, he intentado realizar la configuración pero los primero pasos no me quedan claros. Saludos.

    ResponderEliminar
  2. Buenas tardes Salvador Vargas. Te refieres a docker? Te explico, docker es un software que te permite virtualizar aplicaciones, es decir, seguro que usas máquinas virtuales con las que probar diferentes sistemas operativos. Pues la función de docker es lo mismo pero orientado a programas. Es un contenedor que tiene todo lo necesario para que puedas ejecutar dicho programa, del cual de otro modo para probarlo, necesitarías por ejemplo instalar librerías, versiones de java, etc. Pero de esta forma, solo con tener instalado docker(que solo corre bajo Linux), puedes ejecutar por ejemplo el framework Frenzy sin tener que instalar y configurar cosas a parte. Lo único que necesitas es tener Docker instalado y configurar los pasos arriba mencionados para poder correr el framework Frenzy. Espero haber despejado tus dudas, sino es así, no dudes en ponerte en contacto con nosotros. Saludos.

    ResponderEliminar
  3. Muchas gracias, voy a ejecutar los pasos nuevamente y cualquier cosa les aviso. Saludos.

    ResponderEliminar

Google Analytics