Phishing Simulator op ProxMox

Phishing Simulator op ProxMox

Disclaimer
Deze phishing simulator draait op mijn eigen server en is alleen beschikbaar binnen mijn privé netwerk. Er is geen verbinding met het internet.

Ik heb deze simulator gebouwd om beter te begrijpen hoe phishing technisch werkt en om dit project te gebruiken als showcase van mijn technische vaardigheden.

Het is nadrukkelijk niet de bedoeling dat deze setup wordt nagebouwd of ingezet op het internet. Phishing misbruiken voor verkeerde doeleinden is onethisch en bovendien strafbaar.

Gebruik van de informatie in deze blog is volledig op eigen risico; ik ben niet verantwoordelijk voor wat anderen ermee doen.

In deze blog loop ik stapsgewijs door mijn proces heen van de phishing simulator op mijn ProxMox server.

Het proces bestaat uit 3 stappen:

  1. Ubuntu server installeren
  2. GoPhish & Mailpit installeren
  3. Phishingcampagne maken

Ubuntu server aanmaken in ProxMox

Voorwaarden:

  • Download Ubuntu Server 24.04.3 .ISO van de officiële website
  • Upload deze ISO naar je ProxMox in de correcte opslag
Uploaden van de Ubuntu ISO naar ProxMox

Vervolgens gaan we de virtual machine aanmaken:

Klik op 'Create VM'

Geef de server een naam

Klik op 'next'

Kies de Ubuntu ISO en selecteer de storage waarin deze staat opgeslagen

Klik op 'next'

Default settings

Klik op 'next'

Onder Disks kun je de Disk size op 32GB zetten. Bus/Device op VirtIO Block.

Klik op 'next'

Je hoeft maar 1 core toe te wijzen

Klik op 'next'

2048GB memory is voldoende

Klik op 'next'

Alles staat nu goed geconfigureerd en de VM is aangemaakt. Tijd om de Ubuntu server te booten. Kies voor 'Try or Install Ubuntu Server'.

Je ziet de VM als het goed is verschijnen aan de linkerkant bij je andere VM's
Kies voorkeurstaal
Kies voor 'Ubuntu Server'
Als je DHCP gebruikt je de IPV4 zo laten, anders kun je het aanpassen voor een static IP.
Als je geen proxy gebruikt kun je deze leeg laten. (Bij mij is die leeg)
Ubuntu voegt automatisch Ubuntu archive mirror toe op basis van lokatie die ik kies.
De opslag die we bij het aanmaken van de VM bepaald hebben.
Confirm om door te gaan met de installatie.
Vul in.
Installeer de OpenSSH server.
AWS optioneel direct installeren voor als je ooit een online phishing campagne moet draaien. Deze kunnen worden opgezet via AWS.

De installatie wordt afgerond en na inloggen zie je het onderstaande:

GoPhish en mailserver installeren

#Je hebt GO nodig om de tool te installeren
sudo apt install -y golang-go git
cd /opt
#Dowload de tool van github
sudo git clone https://github.com/gophish/gophish.git
cd gophish
#Bouw de tool met GO
sudo go build
Als de installatie succesvol is dan kun je de versie checken.

Open de config.json met nano en pas deze aan naar het volgende:

Admin_server is waar we zo gaan inloggen.

Sla het bestand op.

Boot GoPhish:

sudo ./gophish
Let goed op dat je het admin wachtwoord opslaat om mee te kunnen inloggen.
Open een browser op poort 3333 en login met je credentials.

Admin dashboard - hier gaan we straks de campagne in aanmaken

Nu gaan we de mailserver opzetten om de phishingmails te kunnen ontvangen. Deze zetten we op in Docker voor Ubuntu Server. De mailserver die we gaan gebruiken is Mailpit. Een simpele e-mail tool om mee te oefenen zonder registraties en extra beveiligingen.

sudo apt update
sudo apt install -y docker.io
sudo systemctl enable --now docker

sudo docker run -d --name mailpit \
  --restart unless-stopped \
  -p 8025:8025 -p 1025:1025 \
  axllent/mailpit
Surf naar de 8025 poort op het IP van je ProxMox om Mailpit te vinden.

Test mail sturen om te kijken of alles goed geconfigureerd staat.

Ga in GoPhish naar ‘Send Test Email’, vul in de pop-up dezelfde waarden in en klik op ‘Send’.

Als het goed is zie je nu deze testmail in Mailpit binnenkomen

Alles doet het, tijd om te Phishen!

Phishingcampagne aanmaken in GoPhish

In je admin dashboard ga naar 'Users&Groups'. Klik op 'New Group'.

Geef de nieuwe groep een naam. In dit geval 'Lab-Targets' en voeg gebruikers toe aan groep.

Klik op 'Save changes'

Ga terug naar het admin dashboard.

Klik op 'Email Templates' en dan op 'New Template'

In de 'Edit Template' sectie maken we in HTML een e-mail aan inclusief header.

Verzin hier een mooi verhaaltje of laat de inhoud genereren door je favoriete LLM.

Als je alles ingevuld hebt klik op je 'save'.

Terug in je admin dashboard gaan we naar 'Landing Pages'. Dit is de pagina waar het slachtoffer op terechtkomt om zijn/haar credentials achter te laten.

Ook deze pagina kun je door een LLM laten genereren als je niet heel erg thuis bent in HTML. Zorg dat er input mogelijkheden op de pagina zijn. Je wilt immers de username en password binnenhengelen.

Klik op 'Save Page'

Als laatste gaan we een campagne opzetten onder het kopje 'Campaigns'.

  • Kies een naam voor de campagne
  • Kies de email template die we zojuist gemaakt hebben
  • Kies de landingspagina die we zojuist gemaakt hebben
  • Kies de groep die we aangemaakt hebben

Als alles klaar is dan klik je op 'Launch Campaign'.

Een notificatie..
Oei! een urgente mail. Er is iets mis met mijn wachtwoord. Snel kijken.
Ik moet snel mijn wachtwoord veranderen anders verloopt mijn account.

Ik klik op de link die in de mail is bijgevoegd.

Ik kom terecht op een absoluut geen sketchy uitziende login pagina dus ik voer gewoon mijn email en wachtwoord in.

Ik klik op inloggen en... niks. De pagina doet niet veel.

Het resultaat

Terug in GoPhish gaan we naar 'Campaigns'. Daar vinden we de resultaten voor onze campagne.

Onder 'status' zien we een 'Submitted Data' notificatie staan.

Als we nader inspecteren zien we de ingevulde data van de gebruiker Shane. We hebben succesvol een wachtwoord opgevangen en kunnen deze nu gebruiken om zelf in te loggen op het account van deze gebruiker.

Maar dat gaan we niet doen want dat is niet ethisch :)