Gophish – Phishing ético en nuestra empresa
Hoy vamos a ver una herramienta muy completa y sencilla a la par, una herramienta open source que nos ayudará a realizar ejercicios de concienciación sobre la seguridad en nuestra organización. Haremos un phishing interno, una simulación que nos ayudará a conocer el nivel de nuestros queridos usuarios.
Podemos llevar a cabo un ejercicio de concienciación sobre la seguridad dentro de nuestra empresa mediante la realización de simulacros de phishing éticos, con el objeto de para evaluar la preparación de nuestros usuarios y mejorar puntos débiles. Por supuesto siempre con permiso y de manera legal.
Veréis como en menos de 15 minutos podemos tener todo listo, usaremos Gophish que nos aportará todo para realizar el test. No sólo desde el envío de los mails, si no que tendremos una consola completísima: veremos estadísticas, a quién le ha llegado el mail, quién lo ha abierto, quién ha pinchado en el enlace fraudulento e incluso si han metido los credenciales (si queremos), los podríamos ver.
Así que antes de seguir, si eres una persona que va a utilizar esto para hacer el mal, por favor, no lo hagas, no necesitamos gente como tú en este planeta. De verdad, háztelo mirar, puede que tengas un problema psicológico y lo mejor es que contactes con un profesional.
Esta guía está orientada única y exclusivamente para que nosotros internamente hagamos los test que nos ayuden a mejorar la seguridad de nuestras empresas. Fin.
Hay varias maneras de desplegar Gophish, en este post veremos cómo desplegarlo con Docker, así que en 2 minutos estará listo. Descargamos la imagen del contenedor con:
sudo docker pull gophish/gophish
Y directamente arrancamos el contenedor de Gophish:
sudo docker run --name gophish -p 3333:3333 -p 82:80 -d gophish/gophish
En el comando anterior vemos 2 puertos, el 3333 lo usará Gophish como consola de administración, desde ahí nosotros los admin podremos definir las campañas de phishing. Y adicionalmente, en el 80tcp (que yo me lo mapeo en el 82tcp) Gophish servirá por este puerto las webs fraudulentas que queramos simular, vaya, donde el usuario llegará al pinchar el enlace.
Importante, en los logs del contenedor veremos la contraseña del usuario ‘admin’ que sera con el que entremos a gestionar Gophish, así que la consultamos:
sudo docker logs gophish -f ... time="2023-09-28T20:53:10Z" level=info msg="Please login with the username admin and the password af5cj3ccd1e705e8" time="2023-09-28T20:53:10Z" level=info msg="Creating new self-signed certificates for administration interface" time="2023-09-28T20:53:10Z" level=info msg="Background Worker Started Successfully - Waiting for Campaigns" time="2023-09-28T20:53:10Z" level=info msg="Starting IMAP monitor manager" time="2023-09-28T20:53:10Z" level=info msg="Starting phishing server at http://0.0.0.0:80" time="2023-09-28T20:53:10Z" level=info msg="Starting new IMAP monitor for user admin" time="2023-09-28T20:53:10Z" level=info msg="TLS Certificate Generation complete" time="2023-09-28T20:53:10Z" level=info msg="Starting admin server at https://0.0.0.0:3333"
Así que listo, no tenemos más que entrar en https://DIRECCION_IP_DOCKER:3333 para acceder a la gestión de Gophish,
Una ve nos logueemos, nos obligará a cambiar la contraseña de ‘admin’, ponemos la que se nos antoje.
Y empezamos pues!!! Arrancamos primero configurando un perfil de envío, esto es, desde qué servidor de correo enviaremos los mails. Así que pulsamos en “Sending Profiles” > “New Profile”,
Para que entendamos el ejercicio que vamos a hacer en el post, vamos a hacer el Phishing ético contra una empresa llamada Open Services IT (es donde trabajo), y voy a hacerme el tonto y suponer que NO tenemos credenciales de dicha empresa para mandar mails desde @openservices.eus (que sería su dominio público). Así que configuro otro mail, por ejemplo uno personal que nada tiene que ver, usaremos @bujarra.com, desde aquí mandaremos los mails, pero no os preocupéis que no se enterarán los usuarios.
Cumplimentamos los datos de correo y pulsamos en “Send Test Email” para validarlo,
Mandamos un mail de prueba, y veremos que la parte del correo la zanjamos.
A continuación crearemos la página donde llevaremos a los usuarios; en el ejercicio que estamos haciendo voy a simular la web del correo electrónico de la empresa, que sabemos que usa Microsoft Exchange y tiene OWA, así que esto crearemos, vamos a “Landing pages” > “New Page”,
Vais a flipar, veréis que sencillo… le ponemos un nombre, por ejemplo ‘Portal de OWA’. ¿Pero y cómo duplicamos la web del OWA? Muy fácil, dale a “Import Site”…
Ponemos la URL del sitio que queremos copiar/clonar, esto es la del OWA de la empresa y pulsamos en “Import”,
Tachan!!! nos ha copiado el código HTML y nos la dejó exacta, la pera limonera… podremos marcar ambos checks para capturar cualquier dato que escriban, así como la contraseña si es que nos interesase.
Así que esta web será la que se les presenten a los usuarios y cuando escriban sus credenciales… Gophish les redirigirá después al sitio correcto. Los usuarios no sabrán que ha pasado, si han escrito mal la contraseña, si se les refresco el navegador… Así que en el “Redirect to” pondremos la URL buena, donde irán después.
Lo siguiente ya será crear la plantilla de mail, o sea, lo que les llegará por mail a los usuarios. Con el formato de la empresa, fuente, firma… Vamos a “Email Templates” > “New Template”,
Le indicamos un nombre, por ejemplo ‘Plantilla correo Open Services IT’, y para copiar el mismo formato que algún mail que tengamos pulsamos en “Import Email”,
Cogemos un correo con el formato que suele mandar la empresa los mails, le copiamos la firma, el logo… podemos ya escribir un texto… guardamos el mail y copiamos el código en formato HTML.
Total, que en el ‘Import Email’ pegamos el código HTML que nos habrá generado ese mail de plantilla, pulsamos en “Import”,
Tachán de nuevo! Ya tenemos la plantilla de mail que vamos a enviar, con un texto un poco así para que piquen los usuarios, les daré confianza y les pediré que prueben a entrar en el correo, que creo que no funciona. Pero claro que funciona!!!
Indicamos un asunto al mail y MUY importante, en ‘Envelope Sender’ podremos falsear el nombre y el mail del remitente, ahí aunque mandemos el mail desde @bujarra.com le podemos decir que el que lo manda es de @openservices.eus, y el usuario no se enterará, tela marinera…
Total, en el mail les ponemos la URL corporativa donde tendrían que pinchar…
… y creamos un link pero a nuestro sitio de Gophish!!! Por ejemplo, eh, en Protocol ponemos ‘<other>’ y en la URL ponemos la variable de {{URL}}, así Gophish pondrá la URL maligna 😉 Tenéis más variables en su web oficial por si queréis personalizar el mail, y le nombremos por su nombre al usuario, etc…
Y nada, ya sólo nos queda decir a quién le vamos a mandar los mails, en “Users & Groups” podremos dar de alta nuestro primer grupo y añadir varios usuarios para probarlo… pulsamos en “New Group”,
Añadimos manualmente los usuarios o los importamos de un CSV, a estos usuarios les mandaremos nuestro primer test. El nombre, apellido, mail o posición son variables con las que podríais jugar si os interesa.
Y ya estamos listos para crear nuestra primera campaña!!! “Campaigns” > “New Campaign”,
La campaña no es más que donde uniremos todas las piezas del puzle, donde indicaremos la plantilla de correo que vamos a usar, la plantilla de web que usaremos, la URL es la URL del portal web de Gophish, en mi caso es con el puerto 82tcp, por defecto sería en el 80tcp, y lo más normal igual sería no usar direccionamientos IPs internos, si no un FQDN que resuelva externa e internamente. Indicamos la fecha de lanzamiento y el perfil de correo que usaremos. Así como a qué grupo enviaremos el Phishing.. le damos a “Launch Campaign”…
¡Sí! Estamos súper seguros, “Launch”,
Y “OK”, campaña lanzada!!! Los motores se pusieron en funcionamiento!! Ahora a esperar los resultados…
El usuario recibiría este mail, donde dice que viene de una persona de la empresa (aunque el servidor de mail nada tenga que ver), con ese texto que si os fijáis en el enlace por mucho que ellos lean un texto, la URL será otra…. y si pinchan…
Si pinchan les llevaría aquí… fijaros en la URL… ¿creéis que los usuarios se fijarán? No lo sé Rick… total, que si ya encima les da por meter sus credenciales…
Pues… si meten los credenciales… les redireccionará a la web del correo corporativo, y no se habrán dado cuenta de qué ha pasado… dirán… pero si he metido ya los credenciales ¿? eh¿? y a partir de aquí nos da igual… Fijaros en la URL ahora ya estarían en el sitio corporativo…
Bien, y nosotros que veríamos? Pues a parte de un resumen global por si hemos lanzado varias campañas, también tendremos uno específico para este simulacro. Podemos ver cuántos mails se han enviado, se han abierto, usuarios han pinchado en el enlace, usuarios que han enviado datos… o incluso si alguno se dio cuenta y lo reportó como maligno…
En los detalles podremos navegar por cada usuario… y conocer lo que hizo…. en este caso el usuario recibió el mail y tras 3 veces de verlo parece que se ha decidido y ha pinchado en el enlace… y peor aún… ha metido sus credenciales… oh oh… usuario a reeducación!!!
Bueno, habéis visto que fácil, sencillo y para toda la familia podemos implementar una solución de Phishing ético libre y open source, con la que podamos además generar un informe que enseñemos en dirección para fomentar la formación, el uso de metodologías seguras, etc…
Como siempre, os mando un abrazo, que tengáis MUY buena semana y lo dicho, por favor, los que vayan a usar estas herramientas de manera fraudulenta.. ¡que os eduquen a vosotros también!