Metasploit Pro
Metaspoit, de standaard tooling voor iedere security researcher, pentester en hacker. Waar de meeste van jullie ondertussen al aardig bekend zijn met het Metasploit framework welke gratis is en by default geïnstalleerd is binnen zogenaamde “Pentest” distributies zoals Kali en Parrot. Maar Rapid7, de ontwikkelaar biedt meer dan alleen het Metasploit Framework. Deze Metasploit, de zogenaamde Metasploit Pro biedt nog meer features zoals een (web) GUI, betere evasion technieken, Phishing awareness en standaard baseline pentest rapportages. Hoe Metasploit Pro geïnstalleerd wordt en eruit ziet gaan we in deze post bekijken!
Metasploit is opgezet rond 3 belangrijke eigenschappen, namelijk:
- Collect
- Automate
- Infiltrate
Het Metasploit Framework biedt geen opties om zaken te automatiseren en kent basis features aan de “Collect” en “Infiltrate” kant. Hoewel het Metasploit Framework fantastische tooling is met meer dan 1500 exploits een een goede command-line besturing, Metasploit Pro doet daar nog een grote schep bovenop. Kijk maar eens naar de compare lijst:

De volgende features vallen daarbij op:
- Automatic Network Discovery en Exploitation
- Metamodules
- API mogelijkheden
- Webinterface
- Standaard baseline wizards en rapportages
- Dynamische payloads
- Phishing awareness
- Advanced CLI
Het Metasploit Framework is in 2003 geschreven door HD Moore (in Perl). Later is Metasploit herschreven in de programmeertaal Ruby. Metasploit is in 2009 aangekocht door Rapid7 en Rapid7 biedt sindsdien 2 opties, Metasploit Express (nu Framework) en Metasploit Pro. Metasploit Framework is gratis en Metasploit Pro begint bij 8000 USD per jaar. Metasploit Pro is dus een serieuze aanschaf en alleen voor mensen die dagelijks gebruik maken van Metasploit en hier “de kost mee verdienen”. Laten we eens kijken of al deze features het bedrag waard zijn.
Metasploit Pro Installatie
We kiezen ervoor om Metasploit Pro op een Linux Debian variant (Parrot) te installeren. Ik maak gebruik van een full-featured trail licentie. Na het verkrijgen van de trail licentie is de software gemakkelijk te downloaden. Het eerste wat we nu moeten doen is het “.run” bestand “uitvoerbaar” maken. Dit doen we als volgt:
chmod +x metasploit-latest-linux-x64-installer.run |
Nu gaan we het bestand uitvoeren als root user:
sudo ./metasploit-latest-linux-x64-installer.run |

Vervolgens doorlopen we de default setup en installeren Metasploit Pro op de default locatie “/opt/metasploit” en kiezen ervoor om hem als “service” te installeren. Als default SSL poort kiezen we 3790.

Vervolgens behouden we de default SSL settings en de setup start.

Tijdens installatie maakt Metasploit Pro zelf de database aan en worden de juiste services gestart. De installatie duurt gemiddeld ongeveer 10 minuutjes.
Om Metasploit Pro te verwijderen ga je naar de installatiedirectory, stop je alle Metasploit pro services en draai je vervolgens het “uninstallation” script:
cd /opt/metasploit ./ctlscript.sh.stop ./uninstall |
Om Metasploit later weer te starten gebruik je hetzelfde “ctlscript” script:
sudo /opt/metasploit/ctlscript.sh start #Je moet een paar minuten wachten alvorens je de webconsole kunt benaderen. |
Nadat Metasploit geïnstalleerd is dan is je “first place to go” de configuratiewizard op:
file:///opt/metasploit/apps/pro/ui/public/boot.html |
De configuratiewizard brengt je naar het configuratiegedeelte van de website. Let op dat je een “insecure” melding krijgt van het gebruikte self-signed SSL certificaat. Dit risico accepteren we en vervolgens starten we de configuratie.

Het eerste scherm brengt ons bij de credential informatie welke Metasploit nodig heeft om in te loggen. Deze maak je zelf aan.

Vervolgens moeten we onze licentiegegevens invoeren:

Nadat de activatie succesvol is moeten de Metasploit Pro instances opnieuw gestart worden.
Na configuratie kunnen we de webinterface benaderen om het werk te starten. Dit kan via de SSL poort welke we tijdens setup gekozen hebben. In ons geval:
https://localhost:3790 |

Nadat de initiële configuratie is afgerond en je bent ingelogd is het handig om eerst de settings in de config na te lopen. Stel in hoe je bij voorkeur payloads wilt distribueren (HTTPS of HTTP), stel je SMTP settings in en maak eventueel “persistent listeners” aan, ofwel listeners die ook na een reboot weer actief zijn. Daarnaast kun je Metasploit Pro ook koppelen met NexPose en kun je backups maken van je projecten.

Vervolgens kun je via de homepage een nieuwe “Quick Pentest” starten, een phishing campaign opzetten, WebApp test starten en een validatie starten op gevonden vulnerabilities. Voor deze laatste is een vulnerability export nodig van NexPose. Daarnaast kunnen we via de GUI payloads maken via de generator. Ook is het mogelijk om een netwerk segmentatie test te doen. Dit is een test op egres verkeer en werkt d.m.v. een eigen egres server of een egres server welke door Rapid7 gehost wordt. De meest logische stap is echter om een “Project” aan te maken.

Binnen het project krijg je een breed scala aan opties. Je hebt je fingerprinting ofwel je “discovery” opties, pentest projecten, web aps en social engineering campagnes. Meestal zul je eerst diverse hosts toe willen voegen. Dit kun je automatisch doen of geautomatiseerd. Metasploit Pro gebruikt hiervoor Nmap.

Vervolgens kun je op de geidentificeerde hosts een NexPose scan starten of een bruteforce task welke random en/of pre-generated credentials gebruikt.

De Metasploit Pro GUI maakt duidelijk inzichtelijk waar zwakheden liggen en in hoeverre een target exploitable is. Uiteraard kun je een target ook automatisch proberen te exploiten wat feitelijk een exploit brute-force is:

Nieuw in Metasploit Pro is de mogelijkheid om web-apps inzichtelijk te krijgen en om deze te exploiten of te auditten.

Ook bestaat de mogelijkheid om rapportages over je project te draiien. Je hebt zelf de keuze of je dit doet over alle onderdelen of alleen over selecte onderdelen. Metasploit Pro komt met een default rapport maar geeft de gebruiker ook de mogelijkheid om zelf “report-templates” aan te maken voor een custom look-and-feel. Het default report ziet er als volgt uit:

Waar ik echter zelf erg benieuwd naar ben is de mogelijkheid om een phishing campagne op te zetten. Deze feature bevindt zich onder de “Campaigns” optie welke ook de mogelijkheid geeft om andere campagnes te maken.

Metasploit Pro geeft je vervolgens de mogelijkheid om je e-mail te customizen, een mailserver en een webserver in te stellen.

Daarna kun je via via een gemakkelijke (HTML) editor je landingspagina aanpassen:

Na het maken van de landingspagina kun je een redirect pagina instellen via dezelfde configurator. Na het configureren van de SMTP settings kun je de campagne lanceren. Uiteraard ontvangt de gebruiker een e-mail en na het klikken op de link en het invullen van het wachtwoord zijn de gegevens van ons.


De phishing module lijkt dus prima te werken.
Om de Metasploit Pro features nog wat uit te breiden heb je de beschikking tot additionele modules (meta modules). Persoonlijk vind ik het aanbod nog een beetje karig maar ze werken prima zonder additionele installatie:

Een andere mooie feature is de “Dynamic Payload” module welke je in staat stelt om een payload te maken (beperkte keuze verschillende stagers en stage soorten). Na het invullen van de gewenste gegevens genereerd Metasploit Pro een dynamische payload die er speciaal op gericht is om anti-virus systemen te omzeilen. In de praktijk lijkt dit echter nog niet zo goed te werken omdat alle mailscanners de mail detecteren als malicious en eveneens alle systemen waar ik de payload op geprobeerd heb geven deze payload de “malicious” flag. Misschien ligt het aan mij maar dit werkt met de moderne e-mailscanners niet vlekkeloos en hier moeten dus andere technieken voor toegepast worden.

Ben je vertrouwd met het Metasploit console (jaaaaaa msf) dan kan dat natuurlijk nog steeds. Metasploit Pro komt met een eigen console. Deze msf pro console kun je als volgt openen:
cd /opt/metasploit sudo msfpro |
Nadat de console gestart is zie je de vertrouwde msf console maar dan met als prefix “msf pro>”:


Tenslotte wil ik het nog hebben over een zeer fantastische feature, de mogelijkheid om een VPN tunnel op te zetten tussen jou en de comprimised host. Dit noemen we VPN Pivoting. Metasploit Framework maakt het mogelijk om Proxy Pivot toe te passen waardoor je de compromised host gebruikt om het overige netwerk te scannen. VPN Pivoting in Metasploit Pro maakt een virtuele ethernet adapter aan welke een veilige layer2 tunnel opbouwt met de compromised host. Via deze VPN tunnel kun je elk verkeer naar keuze routeren naar je slachtoffer. Zo ben je nu ook in staat om andere applicaties die niet native Metasploit zijn te transporteren en weder te gebruiken.
Conclusie
Het is moeilijk om na het testen van Metasploit Pro een eenduidige conclusie te geven omdat ik een beetje dubbel gevoel heb bij Metasploit Pro. Op de eerste plaats is het natuurlijk een fantastisch mooi pakket met meer opties dan het Metasploit Framework en een zeer duidelijke GUI. Voor Metasploit Pro mag je echter op jaarbasis best diep in de buidel tasten. Denk aan +/- tussen de 8.000 euro en 15.000 euro per jaar (afhankelijk van het type licentie. Hiervoor krijg je wel een paar fantastische featurs. De ingebouwde campagne feature (phishing e.a.) is een fantastische aanvulling die erg goed werkt. Ook de mogelijkheid om een VPN tunnel op te zetten en om op die manier naar de compromised machine te pivoten is een zeer krachtige aanvulling. De GUI is ontzettend compleet en misschien wel duidelijker dan alle andere Metasploit en Metasploit-like GUI’s. Zelf was ik minder te spreken over de dynamische payloads (kan aan mij liggen) maar deze kreeg ik niet door de anti-virus heen (5 verschillende geprobeerd). En natuurlijk zijn de ingebouwde rapportages en audit mogelijkheden een prachtige aanvulling. Maar wat ik eigenlijk echt had willen zien in een Pro variant van Metasploit zijn simpelweg meer payloads. Meer zwakheden om te misbruiken. In ieder geval een 3 maanden voorlooptijd op niet-pro gebruikers. Dat zou toch een fantastisch verkooppraatje zijn? “Wil je de nieuwste payloads gebruiken, koop dan de pro…. kun je 3 maanden wachten dan kom je met Metasploit Framework ook een heel eind”. Maar nee, niets van dit alles. Ik kan alleen maar concluderen dat Metasploit Pro een prachtig product is maar eigenlijk alleen voor echt professionele security bedrijven. Voor deze bedrijven zouden ook de collaboration mogelijkheden van Metasploit Pro volledig benut worden waardoor de meerwaarde nog groter wordt. Echter voor arme hobbyisten zoals ikzelf 😉 kunnen beter Metasploit Framework gebruiken. Metasploit Pro is prachtig maar Rapid7 we zijn jullie sowieso oneindig dankbaar voor Metasploit Framework!