Gophish: un kit de herramientas de phishing de código abierto

Gophish es un potente marco de phishing de código abierto que simplifica enormemente la simulación de ataques de phishing en el mundo real.

La idea detrás de Gophish es simple: hacer que la capacitación en phishing de grado industrial esté disponible para todos. "Disponible" en este caso significa dos cosas:

  • Barato - Gophish es un software de código abierto completamente gratuito para que lo use cualquiera.
  • Accesible - Gophish está escrito en el lenguaje de programación Go. Esto tiene la ventaja de que las versiones de Gophish son compiladas en binario sin dependencias. En pocas palabras, ¡esto hace que la instalación sea tan simple como "descargar y ejecutar"!
Índice de contenidos

Cómo instalar Gophish

Gophish viene como un binario prediseñado para la mayoría de los sistemas operativos. En este caso, la instalación es tan simple como descargar el archivo ZIP que contiene el binario creado para su sistema operativo y extraer su contenido.

Construyendo Gophish a partir de la fuente

Dado que Gophish está escrito en el lenguaje de programación Go, es extremadamente fácil de crear desde la fuente. Todo lo que necesitará es el lenguaje Go y un compilador C (como gcc).

Para compilar Gophish desde la fuente, simplemente ejecute go get github.com/gophish/gophish. Esto descarga gophish en el tuyo $ GOPATH.

Entonces, ve a $ GOPATH / src / github.com / gophish / gophish y ejecuta el comando ve a construir. Esto crea un binario gophish en el directorio actual.

Entendiendo el config.json

Hay algunas configuraciones que se pueden configurar a través de un archivo llamado config.json, ubicado en el directorio raíz de gophish. Estas son algunas de las opciones que puede configurar según sus preferencias:

Key                          Value (Default)          Description
admin_server.listen_url      127.0.0.1:3333   IP/Port of gophish admin server
admin_server.use_tls         false            Use TLS for admin server?
admin_server.cert_path       example.crt      Path to SSL Cert
admin_server.key_path        example.key      Path to SSL Private Key
phish_server.listen_url      0.0.0.0:80       IP/Port of the phishing server - this is where landing pages are hosted.

Cuidado: De config.json archivo contiene las credenciales de la base de datos, asegúrese de que sea legible solo por el usuario correcto. Para los usuarios de Linux, puede hacer esto usando chmod 640 config.json.

Exponer Gophish a Internet

Por defecto, el phish_server.listen_url está configurado para escuchar en todas las interfaces. Esto significa que si el host en el que se está ejecutando Gophish está expuesto a Internet (por ejemplo, ejecutándose en un VPS), el servidor de phishing estará expuesto a Internet.

Si desea que el servidor de administración también sea accesible a través de Internet, deberá cambiar la entrada para admin_server.listen_url para 0.0.0.0:3333.

CuidadoNota: La exposición del servidor de administración a Internet solo debe utilizarse si es necesario. Antes de exponer el servidor de administración a Internet, se recomienda encarecidamente que cambie la contraseña predeterminada.

Usando MySQL

La base de datos predeterminada en Gophish es SQLite. Esto es completamente funcional, pero algunos entornos pueden beneficiarse del uso de una base de datos más robusta como MySQL.

Se agregó soporte para Mysql comenzando con 0.3-dev. Para configurar Gophish para Mysql, se requieren un par de pasos adicionales.

Actualizar config.json:

Primero, cambie las entradas a config.json para que coincida con su distribución:

Ejemplo:

"db_name" : "mysql",
"db_path" : "root:@(:3306)/gophish?charset=utf8&parseTime=True&loc=UTC",

El formato para db_path la entrada es

username:password@(host:port)/database?charset=utf8&parseTime=True&loc=UTC

Actualizar la configuración de MySQL:

Gophish usa un formato de fecha y hora incompatible con MySQL> = 5.7. Para solucionar este problema, agregue las siguientes líneas en la parte inferior de /etc/mysql/mysql.cnf:

[mysqld]
sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

La configuración anterior son los modos predeterminados para MySQL, pero con NO_ZERO_IN_DATE y NO_ZERO_DATE eliminados.

Crea la base de datos:

El último paso que debe tomar para aprovechar Mysql es crear el gophish Base de datos. Para hacer esto, inicie sesión en mysql y ejecute el comando

CREATE DATABASE gophish CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Después de eso, ¡estarás listo!

Ejecutando Gophish

Ahora que tiene Gophish instalado, está listo para ejecutar el software. Para iniciar Gophish, simplemente abra un shell de comandos y vaya al directorio donde se encuentra el binario de Gophish.

Luego, ejecute el binario gophish. Verá una salida informativa que muestra el inicio de los servidores web de administración y phishing, así como la base de datos que se está creando. Esta salida le indicará los números de puerto que puede utilizar para conectarse a las interfaces web.

[email protected]:~/src/github.com/gophish/gophish$ ./gophish
 2016/01/10 23:13:42 worker.go:34: Background Worker Started Successfully - Waiting for Campaigns
 2016/01/10 23:13:42 models.go:64: Database not found... creating db at gophish.db
 2016/01/10 23:13:42 gophish.go:49: Admin server started at http://127.0.0.1:3333
 2016/01/10 23:13:42 gophish.go:51: Phishing server started at http://0.0.0.0:80

Ejecución de Gophish como servicio

Distribuciones de Linux:

Para ejecutar Gophish como servicio en distribuciones de Linux, deberá configurar un script de servicio. Puede consultar este problema de Github para ver una implementación de ejemplo.

Ventanas:

Para ejecutar Gophish como servicio en Windows, puede utilizar nssm.

Ejecutando Gophish

Ahora que tiene Gophish instalado, está listo para ejecutar el software. Para iniciar Gophish, simplemente abra un shell de comandos y vaya al directorio donde se encuentra el binario de Gophish.

Luego, ejecute el binario gophish. Verá una salida informativa que muestra el inicio de los servidores web de administración y phishing, así como la base de datos que se está creando. Esta salida le indicará los números de puerto que puede utilizar para conectarse a las interfaces web.

[email protected]:~/src/github.com/gophish/gophish$ ./gophish
 2016/01/10 23:13:42 worker.go:34: Background Worker Started Successfully - Waiting for Campaigns
 2016/01/10 23:13:42 models.go:64: Database not found... creating db at gophish.db
 2016/01/10 23:13:42 gophish.go:49: Admin server started at https://127.0.0.1:3333
 2016/01/10 23:13:42 gophish.go:51: Phishing server started at http://0.0.0.0:80

Nota: Si su servidor de phishing está configurado para ejecutarse en el puerto TCP 80, es posible que deba ejecutar Gophish como administrador para que pueda conectarse al puerto privilegiado.

Entrando

Después de iniciar Gophish, puede abrir un navegador y navegar a https://127.0.0.1:3333 para llegar a la página de inicio de sesión.

Las credenciales predeterminadas son:

  • Nombre de usuario: admin
  • Contraseña: gophish

Pantalla de inicio de sesión de Gophish

Contenido relacionado

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir