Inicio
Proyectos
Ver todos Laboratorio SOC
Blog
Tutoriales
Ver todos Servidor LDAP Servidor Web AWS Kubernetes Pandora FMS Descargar VM Fortinet Autenticación LDAP Gophish
CTF
Ver todos Lab 1 — vsftpd + Pivoting Lab 2 — SMB + SQLi + SUID Lab 3 — Upload + Doble Pivot Lab 4 — Doble Pivot Real
Portfolio Consultoría

Instalación de Gophish con Docker

Actualizado: 2026-01-27 · Dificultad: Media · Tiempo estimado: 20 min

Resultado: Gophish desplegado en Docker y configurado con un SMTP relay para enviar campañas.

Requisitos

Objetivo

En este tutorial desplegaremos Gophish utilizando Docker. Gophish es una herramienta open-source diseñada para la gestión y automatización de campañas de concienciación en seguridad mediante correo electrónico.

Usaremos la imagen oficial y configuraremos el envío de correos mediante un SMTP relay externo.

Disclaimer

Este contenido tiene fines educativos y de laboratorio. El uso de Gophish debe realizarse únicamente en entornos controlados, con autorización expresa y cumpliendo la legislación vigente.

Pasos

1) Descarga de la imagen oficial

Descargamos la imagen oficial desde Docker Hub:

sudo docker pull gophish/gophish
Descarga de la imagen oficial de Gophish

2) Levantar el contenedor

Lanzamos el contenedor exponiendo el panel de administración y el puerto del servidor de campañas:

sudo docker run -p 3333:3333 -p 8080:80 --name mygophish gophish/gophish

Durante el arranque se generan automáticamente las credenciales iniciales.

3) Acceso a la interfaz web

Accedemos desde el navegador a:

https://localhost:3333

El certificado es autofirmado, por lo que el navegador mostrará una advertencia.

4) Cambio de contraseña inicial

Al iniciar sesión con las credenciales mostradas en consola, Gophish obliga a cambiar la contraseña.

Credenciales iniciales generadas por Gophish

Validación

Si todo es correcto, verás el dashboard principal con acceso a:

Dashboard principal de Gophish

5) Configuración del perfil de envío (SMTP)

Para enviar correos necesitamos un servidor SMTP. En este caso usaremos un SMTP relay externo mediante SendGrid.

Regístrate en: https://sendgrid.com

5.1) Creación del API Token

Accede a Email API y selecciona SMTP Relay.

Panel Email API SendGrid Configuración SMTP Relay

Asigna un nombre al token y guarda el valor generado. No volverá a mostrarse.

Creación de API Token en SendGrid

5.2) Configuración del Sending Profile

En Gophish ve a Sending Profiles → New Profile y completa los datos proporcionados por SendGrid.

Configuración del Sending Profile en Gophish

El campo SMTP From debe usar un dominio previamente validado en SendGrid al crear la cuenta.

6) Prueba de envío

Si nos dirigimos al perfil de envío, veremos un botón llamado Send Test Email.

Botón de prueba de envío en Gophish

Tras enviar el correo de prueba, deberíamos recibirlo correctamente en nuestra bandeja de entrada.

Correo de prueba recibido

7) Envío de una campaña

Únicamente a modo de prueba, se ha iniciado una campaña utilizando plantillas de correo creadas en HTML.

Para ello, accedemos a Campaigns → New Campaign y rellenamos los campos necesarios.

En el apartado de URL debemos indicar una página web bajo nuestro control que simule, en este caso, el portal de Instagram.

Para ello, podemos bajarnos plantillas de internet y montar un servidor Web con este tutorial ;)

Este es el resultado, un correo suplantando a instagram en mi bandeja de entrada :)

A tener en cuenta

Hay que añadir una serie de anotaciones a esto. Estoy con el plan gratuito de Sendgrid, limitado a 100 correos y con una tasa de entrega que no es del 100%, sobre todo con Outlook. Este tiene unas medidas de protección más fuertes y en ocasiones no llegan a ni siquiera a la carpeta de SPAM.

Para mejorar esto, tendríamos que comprar un plan de Sendgrid, ya que tendríamos alguna IP dedicada de un rango que no esté bloqueado.

Añadido a ello, es importante mencionar que si queremos a hacer una auditoría, no te vale cualquier dominio. Si el dominio de tu cliente es manolo.com, necesitaremos comprar un dominio parecido (mano1o.com) y registrarlo en sendgrid.

Por último, en lo referente a gophish, la funcionalidad de obtener las métricas de clicks y aperturas de correo con este método no funcionan. Al tener el contenedor en local, no tiene manera de mandar los datos.
No funcionaría si levantamos el gophish en cloud, por ejemplo AWS, ya que estos proveedores bloquean el tráfico SMTP precisamente para evitar el mal uso de lo que hemos visto en el tutorial.

En la propia plataforma de Sendgrid, tenemos secciones de estadísticas que nos miden el procentaje de envío, de aperturas, de clicks, bloqueos, reportados como spam... Así que nos puede servir.

Troubleshooting

Notas / Mejores prácticas


Volver a tutoriales.