W poprzedniej części przedstawiłem wam możliwości GoPhish już po zainstalowaniu. Dzisiaj zajmiemy się samym procesem instalacji i konfiguracji na systemie Linux.
W moim środowisku, wykorzystałem VPS zakupiony na OVH za niecałe 20 zł. Jego konfiguracja to 1 core, 2 GB RAM oraz 20 GB dysku. Jako system wybrałem Debiana 11. Dodatkowo zakupiłem domenę, też na OVH. Do domeny dokonfigurowałem też darmowy 3 miesięczny certyfikat SSL na ZEROSSL.com. W tym wpisie na tym blogu znajdziesz instrukcję jak wygenerować taki certyfikat.
Kroki instalacji
Instalacja Go
Jako, że gophish jest napisany w języku GO, najpierw musimy zainstalować Go na serwerze. Najpierw instalujemy curl dzięki któremu pobierzemy najnowszy relase.
1 |
sudo apt install curl |
Następnie, na stronie języka Go sprawdzamy jaka jest najnowsza jego wersja. W zależności od numeru wersji komenda może wyglądać inaczej:
1 |
curl -O https://dl.google.com/go/go1.19.2.linux-amd64.tar.gz |
Krok kolejny to rozpakowanie plików i nadanie odpowiednich uprawnień.
1 2 3 |
tar xvf go1.19.2.linux-amd64.tar.gz sudo chown -R root:root ./go sudo mv go /usr/local |
Instalacja GoPhish
GoPhish można pobrać z githuba. W tym celu należy doinstalować pakiet git. A następnie pobrać pliki gophish.
1 |
sudo apt-get install git |
1 |
wget https://github.com/gophish/gophish/releases/download/v0.12.1/gophish-v0.12.1-linux-64bit.zip |
Pobrane pliki są spakowane do formatu *.zip. Jeśli na naszej maszynie unzip nie jest zainstalowany, należy doinstalować pakiet.
1 |
sudo apt install unzip |
A następnie rozpakować archiwum.
1 |
unzip gophish-v0.12.1-linux-64bit.zip |
Instalacja Sendmail
Zanim przejdziemy do konfiguracji GoPhish, doinstalujmy jeszcze pakiet sendmail, który posłuży nam do wysyłki maili.
1 |
sudo apt-get install sendmail |
Po zainstalowaniu, musimy go skonfigurować. Należy teraz skonfigurować SMTP. Wewnątrz /etc/mail tworzymy nowy katalog oraz nadajemy mu odpowiednie uprawnienia.
1 2 3 4 5 6 |
sudo mkdir /etc/mail/auth sudo chmod -R 700 /etc/mail/auth cd /etc/mail/auth sudo nano gmail-auth |
W pliku gmail-auth wpisujemy dane logowania do konta pocztowego. Korzystając z poczty GMAIL, ale też z o2.pl/wp.pl itp z włączonym logowaniem przez 1login należy utworzyć hasło aplikacji. Dla Google’a instrukcję znajdziecie tutaj. W Gmailu, aby stworzyć hasło aplikacji należy najpierw włączyć MFA. Kiedy już mamy wygenerowane hasło uzupełniamy je w otwartym wcześniej pliku. Format pliku wygląda następująco:
1 |
AuthInfo: "U:root" "I:email-address@gmail.com" "P:password" |
Zapisujemy plik i na jego podstawie przygotowujemy hash database map.
1 |
sudo makemap hash gmail-auth < gmail-auth |
Teraz należy edytować plik /etc/mail/sendmail.mc. Na końcu tego pliku podmieniamy sekcję MAILER_DEFINITIONS na tę poniżej. Jeśli używamy innego konta niż gmail należy użyć innego SMART_HOST.
1 2 3 4 5 6 7 8 9 10 11 |
MAILER_DEFINITIONS #define(`SMART_HOST',`[smtp.office365.com]')dnl define(`SMART_HOST',`[smtp.gmail.com]')dnl define(`RELAY_MAILER_ARGS', `TCP $h 587')dnl define(`ESMTP_MAILER_ARGS', `TCP $h 587')dnl define(`confAUTH_OPTIONS', `A p')dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl FEATURE(`authinfo',`hash /etc/mail/auth/gmail-auth.db')dnl MAILER(`local')dnl MAILER(`smtp')dnl |
Ostatni krok to przebudowa konfiguracji i restart sendmail.
1 2 3 4 |
cd /etc/mail make sudo /etc/init.d/sendmail restart |
Teraz możemy wysłać testowego maila:
1 |
echo "TEST MAIL" | /usr/sbin/sendmail -v myemail@address |
W przypadku gdy pojawi się błąd podobny do tego: 554 5.2.252 SendAsDenied; mail@domena.com not allowed to send as root@vps…
Należy podać parametr from w komendzie.
1 |
echo "TEST MAIL" | /usr/sbin/sendmail -f "adresdowysylki@domena.com" -v myemail@address |
Konfiguracja GoPhish
Gdy mamy już skonfigurowane wszystkie narzędzia, które wykorzystuje GoPhish, teraz należy skonfigurować samego GoPhish.
Konfiguracja GoPhish sprowadza się do edycji pliku config.json, który znajduje się w głownym katalogu. Moja konfiguracja wygląda tak.
Oznaczenie opcji, możliwych do skonfigurowania znajduje się w dokumentacji pod linkiem. Wkleję jednak tutaj co oznaczają poszczególne wpisy.
Po zapisaniu konfiguracji należy uruchomić gophish przy użyciu komendy:
1 |
./gophish |
Przy pierwszym uruchomieniu, w konsoli pojawi się hasło admina, które należy zmienić przy pierwszym logowaniu.
Poniżej dodam również linki do GitHuba gdzie znajdziecie sporo wzorów maili i landing page, które można wykorzystać: