Gophish est un framework open-source, vous permettant de créer des campagnes de phishing. L’objectif, ici, est de sensibiliser les collaborateurs au phishing, et pourquoi pas, leur proposer des formations de sécurité informatique suite aux résultats des différentes campagnes de phishing.
Dans cette première partie, nous allons installer GoPhish sur un de nos serveurs. Si c’est déjà fait, je vous invite à passer aux articles suivants :
Gophish : Familiarisez vos employés au phishing ! Part II : Prise en main
Gophish : Familiarisez vos employés au phishing ! Part III : Options avancées
Installation
GoPhish a été développé en langage ‘GO’. Donc premièrement, nous allons télécharger GO :
Téléchargement de la dernière version :
wget https://dl.google.com/go/go1.10.3.linux-amd64.tar.gz
Extraction & création d’une variable
sudo tar -C /usr/local -xzf go1.10.3.linux-amd64.tar.gz export PATH=$PATH:/usr/local/go/bin
Ajout de variable d’environnements
vim ~/.bash_profile export GOBIN="/opt/goapps/bin" export GOPATH="/opt/goapps"
Appliquez les modifications
source /etc/profile && source ~/.bash_profile
Ensuite, on télécharge GoPhish
go get github.com/gophish/gophish
On l’installe :
cd $GOPATH/src/github.com/gophish/gophish go build
On peut updater la conf :
vim ./config.json
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. |
GoPhish / mariadb
Si vous souhaitez executer GoPhish avec Mariadb, c’est tout à fait possible, mais facultatif … SQLite répond parfaitement au besoin.
Voici la marche à suivre :
Editez votre config.json et y modifier les lignes suivantes :
// "db_name": "sqlite3", // "db_path": "gophish.db", "db_name" : "mysql", "db_path" : "login:password@(:3306)/gophish?charset=utf8&parseTime=True&loc=UTC"
Changez login et password, par vos identifiants ;)
Ensuite, ajoutez cette ligne à votre fichier my.cnf :
vim /etc/my.cnf [mysqld] sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
On crée une nouvelle DB pour notre application :
CREATE DATABASE gophish;
GoPhish en service
Maintenant, créons un script permettant d’initialiser GoPhish en mode service :
vim /etc/init.d/gophish #!/bin/bash # /etc/init.d/gophish # initialization file for stop/start of gophish application server # # chkconfig: - 64 36 # description: stops/starts gophish application server # processname:gophish # config:/opt/goapps/src/github.com/gophish/gophish/config.json # define script variables processName=Gophish process=gophish appDirectory=/opt/goapps/src/github.com/gophish/gophish logfile=/var/log/gophish/gophish.log errfile=/var/log/gophish/gophish.error start() { echo 'Starting '${processName}'...' cd ${appDirectory} nohup ./$process >>$logfile 2>>$errfile & sleep 1 } stop() { echo 'Stopping '${processName}'...' pid=$(/usr/sbin/pidof ${process}) kill ${pid} sleep 1 } status() { pid=$(/usr/sbin/pidof ${process}) if [[ "$pid" != "" ]]; then echo ${processName}' is running...' else echo ${processName}' is not running...' fi } case $1 in start|stop|status) "$1" ;; esac
On met les bons droits à notre fichier et on le fait se lancer en mode auto au démarrage :
</pre> <pre class="highlight"><code>cd /etc/init.d/ chmod +x gophish chkconfig --add gophish chkconfig --levels 2345 gophish on mkdir /var/log/gophish/ touch /var/log/gophish/gophish.log touch /var/log/gophish/gophish.error
Puis il ne nous reste plus qu’a démarrer GoPhish
/etc/init.d/gophish start
Ensuite, rendez-vous sur l’interface d’administration ( IP & port configuré dans config.json) :
Voila, GoPhish est maintenant installé. Maintenant je vous propose de vous amuser un peu, avec la prise en main de GoPhish et la création d’une première campagne
One comment
Pingback: Gophish : Familiarisez vos employés au phishing ! Part II : Prise en main | AlexNogard: Tutos IT