In dit artikel zullen we het hebben over de basis van Metasploit en de Metasploit commando’s die gebruikt worden in de commandoregel interface. In het begin lijkt de MSF console commandoregel en het aantal beschikbare commando’s misschien veel en moeilijk te begrijpen en te gebruiken, maar laat je er niet door intimideren. Als je eenmaal het concept en de duidelijke structuur begrijpt, zal het heel gemakkelijk zijn. Als we alles samenvoegen bestaat het Metasploit framework uit de kern en de basis, een heleboel exploits, payloads, modules (Ruby classes), plugin’s, scripts en meerdere user interfaces. Metasploit framework bevat ook een aantal geweldige informatie verzamelende tools genaamd auxiliary modules. Hulpmodules kunnen worden gebruikt voor poortscanning, service identificatie, wachtwoord sniffing en Windows patch opsomming. Metasploit is zeer aanpasbaar voor geavanceerde gebruikers en kan worden aangepast aan je eigen behoeften door het schrijven van je eigen exploits, modules, plugin’s en scripts. Als Metasploit niet standaard de informatie verzamelende module levert die je nodig hebt, dan kun je die gewoon zelf schrijven.

De msfconsole is de gebruikersinterface die bekend staat als de meest stabiele interface en degene waar we mee zullen werken gedurende de Metasploit tutorials op Hacking Tutorials. Afgezien van de stabiliteit, is een ander voordeel van de msfconsole de optie om externe commando’s uit te voeren, zoals het ping commando en de tab auto completion. Er is ook een grafische gebruikersinterface beschikbaar voor Metasploit, genaamd Armitage. We zullen Armitage bekijken en hoe het te gebruiken in plaats van msfconsole in een latere tutorial. Laten we deze Metasploit commando’s tutorial voortzetten met het updaten van het Metasploit Framework indien nodig en dan overschakelen naar de msfconsole om te zien welke commando’s beschikbaar zijn voor ons.

Basic Msfconsole commando’s

Aannemende dat je op Kali Linux 2016 rolling edition zit, kunnen we het Metasploit framework en msfconsole starten door te klikken op het Metasploit icoontje in het dock. Dit zal de PostgreSQL service en Metasploit service automatisch starten.

Metasploit updaten met msfupdate

Laten we beginnen met het updaten van Metasploit door het volgende commando te gebruiken in een terminal sessie (niet in msfconsole):

msfupdate

Dit commando zou het Metasploit framework moeten updaten naar de laatste versie. De updates zeggen dat we wekelijks updates kunnen verwachten. Pas op: Het uitvoeren van msfupdate kan je Metasploit installatie kapot maken. Na het uitvoeren van dit commando voor deze tutorial liepen we tegen fouten aan zoals:

Deze fout had iets te maken met PostgreSQL en om dit probleem op te lossen probeer eerst de volgende commando’s uit te voeren:

apt-get update

apt-get upgrade

apt-get dist-upgrade

Dit loste het probleem aan onze kant op, het had waarschijnlijk iets te maken met een verouderde versie van een pakket. Is je Metasploit installatie kapot na het uitvoeren van een update en heb je hulp nodig om het te repareren? Gebruik de commentaar functie hieronder en we zullen proberen je zo goed mogelijk te helpen. Laten we verder gaan met de msfconsole.

Metasploit msfconsole

Wanneer Metasploit is opgestart en de msfconsole is beschikbaar kunnen we ‘help’ typen om een overzicht te krijgen van de Metasploit core en backend commando’s met een beschrijving:

Metasploit commando’s

Het zou tijdverspilling zijn en buiten het bestek van deze tutorial vallen om elk Metasploit commando in deze tutorial uit te leggen. We willen alleen dat je zo snel mogelijk aan de slag kunt met Metasploit en daarom zou een basiskennis van de basiscommando’s voor dit moment voldoende moeten zijn. Je zult gaandeweg veel meer leren over de geavanceerde opties. Ook zouden de meeste commando beschrijvingen erg duidelijk moeten zijn over wat het commando precies doet en hoe je het moet gebruiken. Voor nu zullen we kijken naar de meest gebruikte basis Metasploit commando’s in deze tutorial zoals:

  • Basic commando’s: search, use, back, help, info en exit.
  • Exploit commando’s: set om variabelen in te stellen en show om de exploit opties, targets, payloads, encoders, nops en de advanced en evasion opties te laten zien.
  • Exploit executie commando’s: run en exploit om exploits uit te voeren tegen een target.

Er is ook een uitgebreide Metasploit documentatie meegeleverd met Metasploit die kan worden gebruikt om alles te verduidelijken. Laten we eens kijken naar de Metasploit commando’s.

Metasploit commando’s

We zullen snel door de Metasploit basis commando’s gaan zodat we kunnen beginnen met het leuke gedeelte en leren hoe we de exploits kunnen gebruiken op een kwetsbare machine zoals Metasploitable 2. De basis commando’s bestaan uit help, back, exit en info.

Gebruik, back en exit commando’s

Het gebruik commando in Metasploit wordt gebruikt om een bepaalde module te activeren en verandert de context van de msfconsole naar die bepaalde module. De naam van de exploit wordt in het rood vermeld op de commandoregel als volgt:

In dit voorbeeld hebben we de context van de commandoregel veranderd naar de exploit genaamd realvnc_client. Vanaf hier kunnen we informatie opvragen over deze exploit, de benodigde exploit-parameters instellen en de exploit uitvoeren tegen een doelwit.

Als we de exploit-context willen verlaten en terug willen schakelen naar de msfconsole, moeten we het commando back gebruiken. Het back commando brengt ons terug naar de msfconsole in de algemene context. Vanaf hier kunnen we opnieuw het use commando gebruiken om over te schakelen naar een andere Metasploit module.

Het exit commando sluit de msfconsole en brengt je terug naar de Kali Linux terminal.

Help commando

Zoals we eerder in deze tutorial hebben gezien geeft het help commando een lijst van mogelijke commando’s samen met een beschrijving als je het intypt op de msfconsole. Als er een actieve exploit geselecteerd is kunnen we het help commando gebruiken om een lijst van exploit commando’s op te vragen:

Info commando

Als een exploit geselecteerd is met het use commando kunnen we informatie opvragen zoals de naam, platform, auteur, beschikbare targets en nog veel meer door gebruik te maken van het info commando. In de volgende screenshot gebruiken we het info commando voor een exploit met de naam ie_execcommand_uaf:

Search command

Op het moment van schrijven bevat Metasploit meer dan 1.500 verschillende exploits en er komen er regelmatig nieuwe bij. Met dit aantal exploits wordt de zoekfunctie, en weten hoe deze te gebruiken, erg belangrijk. De eenvoudigste manier om de zoekfunctie te gebruiken is door het commando search te geven gevolgd door een zoekterm, bijvoorbeeld flash om te zoeken naar exploits die te maken hebben met Flash player. Door het zoekcommando te gebruiken zoekt Metasploit naar de opgegeven zoekterm in de modulenamen en beschrijving als volgt:

Zoals verwacht zijn er veel exploits die te maken hebben met de vaak kwetsbare Flash player software. De lijst bevat ook CVE-2015-5122 Adobe Flash opaqueBackground Use After Free zero-day die werd ontdekt in het Hacking Team datalek vorig jaar.

Zoeken naar exploits met trefwoorden

U kunt ook het zoekcommando met een trefwoord gebruiken om te zoeken naar een specifieke auteur, een OSVDB ID of een platform. Het ‘help search’ commando toont de beschikbare trefwoorden in de msfconsole als volgt:

Het gebruik van het zoek commando met een trefwoord is vrij eenvoudig en wordt onderaan de helptekst weergegeven. Het volgende commando wordt gebruikt om te zoeken naar modules met een CVE ID uit 2016:

msf > search cve:2016

Hiermee krijgen we alle exploits met een CVE ID uit 2016 terug, inclusief en hulpmodulescanner voor de zeer recente Fortinet firewall SSH backdoor:

Metasploit commando’s voor exploits

In het vorige hoofdstuk hebben we de Metasploit commando’s geleerd om een exploit te activeren op de msfconsole en de command line context te veranderen naar de exploit met het use commando. Nu gaan we kijken hoe we de exploit parameters kunnen tonen en hoe we ze kunnen veranderen met het set commando. We zullen ook kijken hoe we de payloads, targets, advanced en evasion opties kunnen laten zien. Het commando help show toont de beschikbare parameters voor het commando show:

Show options

Het commando show options toont de beschikbare parameters voor een exploit als het gebruikt wordt wanneer de commandoregel in exploit context staat. Laten we de adobe_flash_shader_drawing_fill exploit gebruiken en de opties bekijken met het volgende commando:

msf >Gebruik exploit/multi/browser/ adobe_flash_shader_drawing_fill

Gevolgd door het show options commando:

msf > show options

De Flash exploit bevat in totaal 6 opties waarvan er slechts 2 vereist zijn:

  • Retries
  • SRVHOST (Vereist)
  • SRVPORT (Vereist)
  • SSL
  • SSLCert
  • URLPath

Merk op dat het commando show options het huidig geselecteerde doel teruggeeft onder de module opties. Het standaard doel is 0 wat Windows is voor de geselecteerde exploit.

Gebruik het set commando gevolgd door de optie naam en de nieuwe waarde om de standaard waarden te veranderen:

Set SRVHOST 192.168.0.100 om de SRVHOST waarde te veranderen in 192.168.0.100

Set SRVPORT 80 om de poort te wijzigen van 8080 in 80

Door opnieuw het commando show options te gebruiken, kunt u controleren of de SRVHOST- en SRVPORT-waarden zijn gewijzigd. Je kan Booleaanse waarden veranderen door het set commando te gebruiken met optienaam en true of false.

Show payloads

Als we het show payloads commando gebruiken zal de msfconsole een lijst geven van compatibele payloads voor deze exploit. In ons flash player exploit voorbeeld zal het een flink aantal compatibele payloads teruggeven:

Een overzicht van compatibele exploits

Om een bepaalde payload te gebruiken moet je het set commando gebruiken gevolgd door de naam van de payload:

Set payload linux/x86/exec

Toon doelwitten

Het commando toon doelwitten geeft een lijst van besturingssystemen die kwetsbaar zijn voor de geselecteerde exploit. Wanneer we het commando uitvoeren, krijgen we de volgende uitvoer voor de adobe_flash_shader_drawing_fill exploit:

Een overzicht van beschikbare doelwitten voor de geselecteerde exploit.

Deze exploit is gericht op zowel Windows als Linux besturingssystemen. Merk op dat we het info commando kunnen gebruiken om aanvullende informatie over deze exploit en targets te verkrijgen.

Om een doel in te stellen kunnen we het commando set gebruiken gevolgd door het doel ID:

set target 1

Door het doel in te stellen wordt de lijst met payloads een stuk korter omdat alleen payloads worden getoond die compatibel zijn met het doel:

Show advanced

Door het commando show advanced te gebruiken kunnen we de geavanceerde opties voor de exploit bekijken.

Gebruik het commando set gevolgd door de parameter advanced en de nieuwe waarde om de geavanceerde instellingen te wijzigen:

Set displayablepayloadhandler true

Show encoders

Het commando show encoders geeft de compatibele encoders. Encoders worden gebruikt om eenvoudige IDS/IPS-handtekeningen te omzeilen die op zoek zijn naar bepaalde bytes van uw payload. We zullen encoders in detail bekijken in een later hoofdstuk van de Metasploit tutorials.

Om een encoder te gebruiken gebruik je het set commando gevolgd door de naam van de encoder.

Show nops

Het show nops commando geeft een lijst van NOP generatoren. Een NOP is een afkorting van No Operation en wordt gebruikt om het patroon van een NOP-slede te veranderen om zo eenvoudige IDS/IPS signaturen van veel voorkomende NOP-sledes te omzeilen. De NOP generatoren beginnen met de CPU architectuur in de naam. We zullen NOPS in een later hoofdstuk van deze tutorial bekijken.

Om een NOP generator te gebruiken gebruik je het set commando gevolgd door de naam van de NOP generator. Wanneer de exploit wordt gestart, worden de NOP-sleutels van de NOP-generator gehaald.

Toon ontwijking

Het commando toon ontwijking geeft een lijst met beschikbare ontwijkingstechnieken.

Om de ontwijkingsinstellingen te wijzigen, gebruikt u het set-commando gevolgd door de ontwijkingsparameter en de nieuwe waarde.

Metasploit commando’s voor exploit executie

Wanneer alle benodigde opties voor de exploit zijn ingesteld, inclusief een payload en geavanceerde instellingen zoals een NOP generator, evasie opties en encoding, is de exploit klaar om uitgevoerd te worden. De exploit kan worden uitgevoerd met twee commando’s: run en exploit. Typ gewoon run of exploit in de msfconsole en de exploit wordt uitgevoerd.

Dit is het einde van de Metasploit commando’s tutorial voor nu. Als je vragen hebt over een van de genoemde of niet genoemde commando’s, stel ze dan via de commentaar functie onder deze post. In de volgende Metasploit tutorial zullen we de Metasploitable 2 machine opnoemen. Daarna zullen we een vulnerability assessment doen met de verzamelde informatie. Als je Metasploitable 2 nog niet hebt geïnstalleerd, kun je eerst de Metasploitable 2 installatie-tutorial volgen.

Delen op: