PoFish, un docker para el phishing

Repo: Github Repo

Introducción

Últimamente he realizado varios intentos de phishing. Por una cosa u otra he tenido que realizar la misma configuración de las mismas aplicaciones en diferentes entornos. Por este motivo he creado un DockerFile que una vez construido, se puede desplegar con diferentes opciones para realizar un ejercicio de phishing.

Requisitos previos

Normalmente cuando vamos a realizar un ataque de phishing, lo que nos interesa para obtener un buen resultado es que los correos lleguen a la bandeja de entrada. Para ello tenemos que tener un dominio que tenga la máxima «reputación» posible (hay muchas webs que hablan de cómo elegir el mejor dominio). Una vez que tenemos el dominio y un registro DNS, necesitamos un VPS con una IP pública a la que asociar este dominio.

Construyendo el docker

Lo primero que hay que hacer antes de construir el docker es clonar el repositorio docker. Para ello simplemente tenemos que hacer lo siguiente:

Once we have cloned it we simply have to access inside the directory and execute the following command:

docker build -t pofish .

Simplemente con estas dos líneas ya tenemos una imagen docker lista para ser desplegada.

### Detalles

El proceso de construcción se puede enumerar en 3 fases:

1. Descargar postfix + añadir configuración. 2. Descargando la última versión de gophish, eliminando las cabeceras de gophish (para evitar su detección) y compilando. 3. Instalación de OpenDkim, para poder firmar los correos.

Despliegue

Para poder desplegar la imagen es muy sencillo, lo único que tenemos que saber es el Dominio que queremos utilizar y nuestra IP pública. Además debemos saber que para poder acceder a GoPhish debemos exponer el puerto 3333 y en el caso de querer exponer el propio servidor debemos exponer también el puerto 80.

docker run -it --name pofish -p 80:80 -p 3333:3333 --env DOMAIN=<yourdomain> --env PUBLIC_IP=<your_public_ip> pofish

Postdespliegue

Una vez que hemos deplorado la imagen podemos ver como arranca el servicio postfix, el openkdim que es el que nos firma el mensaje también y propuso que gophish también.

En el caso de gophish veremos la contraseña que debemos utilizar la primera vez que iniciemos sesión en el panel de administrador.

Información después del despliegue.

Información después del despliegue

Una vez desplegado el contenedor, para que se pueda comprobar fácilmente el dkim que hemos generado, es necesario añadir una entrada TXT a nuestro registro DNS. Para obtener lo que hay que añadir podemos escribir en un terminal el siguiente comando:

docker exec pofish cat /etc/opendkim/keys/<yourdomain>/202109.txt

Un ejemplo de cómo debe quedar es el siguiente:

clave DKIM extraída del contenedor

202109._ejemplo. com | TXT | v=DKIM1; h=sha256; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyg9WF/gtyztDW3YuDI/i+y6K+GabxUWQ3wgNCimk8zdmwlYST4KgdvZAbgT9dHjNcccKOUtj/UhvnYsr1PBuY4EHebXreQOM/C9J0gBfr/OAHEGmBq6zsxutXQ/Pv8Z6yKC1UTfpjJra3lhBGdTCZPiRLuznU/YeoFza8KrpU0ROWJYLm733BjdK3NO4IB4LdZy1KHacanTbhIVvKLBB43pfjtfzA6tPSm1bbYF5Dm2o8lATnNLY3+QmqTHlGyFQ5phJhg9VPSsXuW/WZFH15WUp2U3FzPCYlfrT/3xm+LxXMpBi2WOK1DOxrAEJPwaF3fSYX4AOQJ06naSNof0S+QIDAQAB

Una vez que se ha propagado por la red podemos comprobar que nuestro dkim es válido de la siguiente manera:

https://www.dmarcanalyzer.com/es/dkim-3/dkim-record-check/

Otros registros TXT a tener en cuenta

En definitiva, recomiendo añadir el SPF también a los registros DNS. Aquí tienes un pequeño asistente sobre cómo configurarlo.

Ejemplo:

v=spf1 mx a ip4:ip.ip.ip.ip ?all

https://www.spfwizard.net

Y por último DMARC. Básicamente esto te dice qué política seguir en caso de que tu correo haya sido manipulado. Muchas veces te ponen en la lista negra por no tener este registro añadido.

Ejemplo:

_dmarc IN («v=DMARC1; p=quarantine; rua=mailto:[email protected]»)

GoPhish

En caso de que quieras saber más sobre el funcionamiento de esta herramienta, te recomiendo acudir a su documentación oficial. Para probar que los correos se envían correctamente, lo mejor es ir al navegador y acceder a la ip https://127.0.0.1:3333, que es donde estará nuestro panel de administrador e introducir usuario y contraseña que hemos visto anteriormente.

El siguiente paso será cambiar la contraseña, no creo que tengáis problemas con ellas.

Panel principal de Gophish

Entramos en la configuración como se muestra a continuación y pulsamos en enviar un email de prueba. Recomiendo hacerlo a un email de 10 minutos, ya que si nos detectan pruebas, es muy probable que acabe en una lista negra.

Configuración del Perfil de Envío

Enviar correo de prueba

Correo en bandeja de entrada

Enlaces de interés

https://book.hacktricks.xyz/phishing-methodology https://mxtoolbox.com

Espero que haya quedado claro. Si tienes alguna pregunta, no dudes en ponerte en contacto conmigo a través de las redes sociales.