I denne artikel vil vi tale om det helt grundlæggende i Metasploit og de Metasploit-kommandoer, der bruges i kommandolinjeinterfacet. I første omgang kan MSF-konsolens kommandolinje og antallet af tilgængelige kommandoer virke meget og svært at forstå og bruge, men lad dig ikke skræmme af dem. Når du først får forstået konceptet og den klare struktur, bliver det meget nemt. Hvis vi lægger det hele sammen, består Metasploit-rammen af kernen og basen, en masse exploits, payloads, moduler (Ruby-klasser), plugin’s, scripts og flere brugergrænseflader. Metasploit framework indeholder også nogle gode værktøjer til indsamling af information kaldet auxiliary modules. Hjælpsmoduler kan bruges til portscanning, serviceidentifikation, password sniffing og Windows patch enumeration. Metasploit kan i høj grad tilpasses til avancerede brugere og kan tilpasses til at opfylde dine egne behov ved at skrive dine egne exploits, moduler, plugin’s og scripts. Hvis Metasploit ikke leverer det informationsindsamlingsmodul, du har brug for som standard, kan du blot skrive det selv.

Msfconsole er den brugergrænseflade, der er kendt for at være den mest stabile grænseflade, og det er den, vi vil arbejde med i hele Metasploit-tutorials på Hacking Tutorials. Udover stabiliteten er en anden fordel ved msfconsole muligheden for at udføre eksterne kommandoer som f.eks. ping-kommandoen og den automatiske udfyldelse af fanebladet. Der er også en grafisk brugergrænseflade til rådighed for Metasploit kaldet Armitage. Vi vil se på Armitage, og hvordan man bruger det i stedet for msfconsole i en senere tutorial. Lad os fortsætte denne Metasploit-kommandoer-tutorial med at opdatere Metasploit Framework om nødvendigt og derefter skifte til msfconsole for at se, hvilke kommandoer der er tilgængelige for os.

Basiske msfconsole-kommandoer

Antaget at du er på Kali Linux 2016 rolling edition kan vi starte Metasploit Framework og msfconsole ved at klikke på Metasploit-ikonet i dock’en. Dette vil starte PostgreSQL-tjenesten og Metasploit-tjenesten automatisk.

Opdatering af Metasploit med msfupdate

Lad os starte med at opdatere Metasploit ved at bruge følgende kommando i en terminalsession (ikke i msfconsole):

msfupdate

Denne kommando skulle opdatere Metasploit-rammen til den nyeste version. Opdateringerne siger, at vi skal forvente opdateringer ugentligt(ish). Pas på: Kørsel af msfupdate kan ødelægge din Metasploit-installation. Efter at have kørt denne kommando til denne tutorial løb vi ind i fejl som:

Denne fejl havde noget at gøre med PostgreSQL, og for at løse dette problem prøv først at køre følgende kommandoer:

apt-get update

apt-get upgrade

apt-get dist-upgrade

Dette løste til problemet fra vores side, det havde sandsynligvis noget at gøre med en forældet version af en pakke. Er din Metasploit-installation ødelagt efter at have kørt en opdatering, og har du brug for hjælp til at rette den? Brug kommentarfunktionen nedenfor, og vi vil forsøge at hjælpe dig så godt som muligt. Lad os fortsætte med msfconsole.

Metasploit msfconsole

Når Metasploit er startet op og msfconsole er tilgængelig kan vi skrive ‘help’ for at få en oversigt over Metasploits kerne- og backend-kommandoer med en beskrivelse:

Metasploit-kommandoer

Det ville være spild af tid og uden for rammerne af denne vejledning at forklare hver enkelt Metasploit-kommando i denne vejledning. Vi ønsker blot, at du skal være i gang så hurtigt som muligt i Metasploit, og derfor bør et grundlæggende kendskab til de basale kommandoer være tilstrækkeligt for øjeblikket. Du vil lære en masse mere om de avancerede muligheder undervejs. Desuden bør de fleste kommandobeskrivelser være meget klare om, hvad kommandoen præcist gør, og hvordan den skal bruges. Indtil videre vil vi se på de mest anvendte grundlæggende Metasploit-kommandoer i denne tutorial som:

  • Basis-kommandoer: search, use, back, help, info og exit.
  • Exploit-kommandoer: set for at sætte variabler og show for at vise exploit-indstillingerne, mål, payloads, encoders, nops og de avancerede og evasion-indstillinger.
  • Kommandoer til udførelse af exploits: run og exploit for at køre exploits mod et mål.

Der er også en omfattende Metasploit-dokumentation, der følger med Metasploit, og som kan bruges til at afklare alt. Lad os se på Metasploit-kommandoerne.

Metasploit-kommandoer

Vi vil gennemgå Metasploits grundlæggende kommandoer hurtigt, så vi kan komme i gang med den sjove del og lære, hvordan man bruger exploits på en sårbar maskine som Metasploit 2. Den grundlæggende kommando består af help, back, exit og info.

Use, back og exit kommandoer

Use kommandoen i Metasploit bruges til at aktivere et bestemt modul og ændrer konteksten i msfconsole til det pågældende modul. Exploit-navnet vil blive nævnt med rødt på kommandolinjen som følger:

I dette eksempel har vi ændret konteksten i kommandolinjen til den exploit, der hedder realvnc_client. Herfra kan vi hente oplysninger om denne exploit, indstille de nødvendige exploit-parametre og køre den mod et mål.

Hvis vi ønsker at forlade exploit-konteksten og skifte tilbage til msfconsole, skal vi bruge kommandoen back. Back-kommandoen vil føre os tilbage til msfconsole i den generelle kontekst. Herfra kan vi igen bruge kommandoen use for at skifte til et andet Metasploit-modul.

Kommandoen exit lukker msfconsole og fører dig tilbage til Kali Linux-terminalen.

Help-kommandoen

Som vi har set tidligere i denne vejledning, vil help-kommandoen returnere en liste over mulige kommandoer sammen med en beskrivelse, når den indtastes på msfconsole. Når der er valgt en aktiv exploit, kan vi bruge help-kommandoen til at få en liste over exploit-kommandoer:

Info command

Når en exploit er valgt med use-kommandoen, kan vi hente oplysninger som navn, platform, forfatter, tilgængelige mål og meget mere ved hjælp af info kommandoen. I følgende skærmbillede har vi brugt info kommandoen på en exploit ved navn ie_execcommand_uaf:

Search command

I skrivende stund indeholder Metasploit over 1.500 forskellige exploits, og der tilføjes jævnligt nye. Med dette antal exploits bliver søgefunktionen, og at vide hvordan man bruger den, meget vigtig. Den nemmeste måde at bruge søgefunktionen på er ved at afgive kommandoen search efterfulgt af et søgeord, f.eks. flash for at søge efter exploits, der er relateret til Flash player. Ved at bruge kommandoen search vil Metasploit søge efter det givne søgeudtryk i modulnavne og beskrivelser som følger:

Som forventet er der en masse exploits relateret til den ofte sårbare Flash player-software. Listen omfatter også CVE-2015-5122 Adobe Flash opaqueBackground Use After Free zero-day, som blev opdaget i forbindelse med Hacking Teams databrud sidste år.

Søgning med exploits med nøgleord

Du kan også bruge søgekommandoen med et nøgleord for at søge efter en bestemt forfatter, et OSVDB-ID eller en platform. Kommandoen “help search” viser de tilgængelige nøgleord i msfconsole på følgende måde:

Brug af søgekommandoen med et nøgleord er ret ligetil og vises nederst i hjælpeteksten. Følgende kommando bruges til at søge efter moduler med et CVE-id fra 2016:

msf > search cve:2016

Dette returnerer os alle exploits med et CVE-id fra 2016, herunder en hjælpemodulsscanner til den meget nylige Fortinet firewall SSH-bagdør:

Metasploit-kommandoer til exploits

I det foregående kapitel har vi lært Metasploit-kommandoerne til at aktivere et exploit på msfconsole og ændre kommandolinjekonteksten til exploit’et med kommandoen use. Nu vil vi se på, hvordan vi kan vise exploit-parametrene, og hvordan vi kan ændre dem med set-kommandoen. Vi vil også se på, hvordan man viser nyttelasterne, målene, avancerede og undvigelsesmuligheder. Kommandoen help show viser de tilgængelige parametre for show-kommandoen:

Show options

Kommandoen show options viser dig de tilgængelige parametre for en exploit, hvis den bruges, når kommandolinjen er i exploit-kontekst. Lad os bruge exploit’et adobe_flash_shader_drawing_fill og se på mulighederne med følgende kommando:

msf > Brug exploit/multi/browser/ adobe_flash_shader_drawing_fill

Følges op af kommandoen show options:

msf > show options

Flash-udnyttelsen indeholder i alt 6 muligheder, hvoraf kun 2 er påkrævet:

  • Retries
  • SRVHOST (påkrævet)
  • SRVPORT (påkrævet)
  • SSL
  • SSLCert
  • URLPath

Bemærk, at kommandoen show options returnerer det aktuelle valgte mål under modulindstillingerne. Standardmålet er 0, hvilket er Windows for den valgte udnyttelse.

Brug kommandoen set efterfulgt af optionsnavnet og den nye værdi for at ændre standardværdierne:

Set SRVHOST 192.168.0.100 for at ændre SRVHOST-værdien til 192.168.0.0.100

Set SRVPORT 80 for at ændre porten fra 8080 til 80

Gennem at bruge kommandoen show options igen kan du bekræfte, at SRVHOST- og SRVPORT-værdierne er blevet ændret. Du kan ændre boolske værdier ved at bruge kommandoen set med optionsnavn og true eller false.

Show payloads

Når vi bruger kommandoen show payloads vil msfconsole returnere en liste over kompatible payloads til denne exploit. I vores flash player exploit-eksempel vil den returnere en hel del kompatible payloads:

En oversigt over kompatible exploits

For at bruge en bestemt payload skal du bruge set-kommandoen efterfulgt af payload-navnet:

Set payload linux/x86/exec

Show targets

Kommandoen show targets returnerer en liste over operativsystemer, som er sårbare over for den valgte udnyttelse. Når vi kører kommandoen, får vi følgende output for adobe_flash_shader_drawing_fill exploit:

En oversigt over tilgængelige mål for den valgte exploit.

Denne exploit er rettet mod både Windows- og Linux-operativsystemer. Bemærk, at vi kan bruge kommandoen info til at få yderligere oplysninger om denne exploit og målene.

For at indstille et mål kan vi bruge kommandoen set efterfulgt af mål-id’et:

set target 1

Ved at indstille målet vil listen over nyttelaster blive reduceret en del, fordi kun nyttelaster vil blive vist, som er kompatible med målet:

Show advanced

Ved hjælp af kommandoen show advanced kan vi få et kig på de avancerede indstillinger for exploit’et.

Brug kommandoen set efterfulgt af parameteren advanced og den nye værdi for at ændre de avancerede indstillinger:

Set displayablepayloadhandler true

Show encoders

Kommandoen show encoders returnerer de kompatible encoders. Encodere bruges til at omgå simple IDS/IPS-signaturer, der leder efter bestemte bytes i din payload. Vi vil se nærmere på encodere i et senere kapitel i Metasploit-tutorials.

For at bruge en encoder skal du bruge set-kommandoen efterfulgt af navnet på encoderen.

Show nops

Den show nops-kommando vil returnere en liste over NOP-generatorer. En NOP er en forkortelse for No Operation og bruges til at ændre mønsteret for en NOP sled for at omgå simple IDS/IPS-signaturer for almindelige NOP-sleds. NOP-generatorerne begynder med CPU-arkitekturen i navnet. Vi vil se på NOPS i et senere kapitel i denne vejledning.

For at bruge en NOP-generator skal du bruge set-kommandoen efterfulgt af navnet på NOP-generatoren. Når udnyttelsen startes, vil NOP-slæderne blive taget fra NOP-generatoren.

Show evasion

Show evasion-kommandoen returnerer en liste over tilgængelige evasionsteknikker.

For at ændre evasionsindstillingerne skal du bruge set-kommandoen efterfulgt af evasion-parameteren og den nye værdi.

Metasploit-kommandoer til udførelse af exploit

Når alle de nødvendige indstillinger er blevet indstillet for exploit’et, herunder en nyttelast og avancerede indstillinger som en NOP-generator, evasionsindstillinger og kodning, er exploit’et klar til at blive udført. Exploiten kan udføres ved hjælp af to kommandoer: run og exploit. Du skal blot skrive run eller exploit i msfconsole og exploit’en vil blive kørt.

Dette vil afslutte Metasploit kommandoer tutorial for nu. Hvis du har spørgsmål vedrørende nogen af de nævnte eller ikke nævnte kommandoer, bedes du stille dem ved hjælp af kommentarfunktionen under dette indlæg. I den næste Metasploit tutorial vil vi opregne Metasploit 2 maskinen. Herefter vil vi lave en sårbarhedsvurdering med de indsamlede oplysninger. Hvis du ikke har installeret Metasploitable 2 endnu, kan du følge Metasploitable 2 installationsvejledningen først.

Del på: