I den här artikeln kommer vi att tala om grunderna i Metasploit och Metasploit-kommandon som används i kommandoradsgränssnittet. Till en början kan MSF-konsolens kommandorad och antalet tillgängliga kommandon verka mycket och svårt att förstå och använda, men låt dig inte skrämmas av dem. När du väl har förstått konceptet och den tydliga strukturen kommer det att bli mycket lätt. Om vi lägger ihop allt består Metasploits ramverk av kärnan och basen, en massa exploits, nyttolaster, moduler (Ruby-klasser), insticksmoduler, skript och flera användargränssnitt. Metasploitramverket innehåller också några bra verktyg för informationsinsamling som kallas hjälpmoduler. Hjälpmoduler kan användas för portscanning, identifiering av tjänster, sniffning av lösenord och uppräkning av Windows-patchar. Metasploit är mycket anpassningsbart för avancerade användare och kan anpassas för att tillgodose dina egna behov genom att skriva egna exploits, moduler, insticksmoduler och skript. Om Metasploit inte tillhandahåller den informationsinsamlingsmodul du behöver som standard kan du helt enkelt skriva den själv.

Msfconsole är det användargränssnitt som är känt för att vara det mest stabila gränssnittet och det som vi kommer att arbeta med under hela Metasploit-tutorials på Hacking Tutorials. Förutom stabiliteten är en annan fördel med msfconsole möjligheten att utföra externa kommandon som ping-kommandot och tabb-autokomplettering. Det finns också ett grafiskt användargränssnitt för Metasploit som heter Armitage. Vi kommer att titta på Armitage och hur man använder det istället för msfconsole i en senare handledning. Låt oss fortsätta denna handledning om Metasploit-kommandon med att uppdatera Metasploit-ramverket vid behov och sedan byta till msfconsole för att se vilka kommandon som är tillgängliga för oss.

Basiska msfconsole-kommandon

Antagen att du använder Kali Linux 2016 rolling edition kan vi starta Metasploit-ramverket och msfconsole genom att klicka på Metasploit-ikonen i dockan. Detta kommer att starta PostgreSQL-tjänsten och Metasploit-tjänsten automatiskt.

Uppdatering av Metasploit med msfupdate

Låt oss börja med att uppdatera Metasploit genom att använda följande kommando i en terminalsession (inte i msfconsole):

msfupdate

Detta kommando bör uppdatera Metasploit-ramverket till den senaste versionen. I uppdateringarna står det att vi ska förvänta oss uppdateringar varje vecka (ungefär). Var försiktig: Om du kör msfupdate kan din Metasploit-installation gå sönder. Efter att ha kört det här kommandot för den här handledningen stötte vi på fel som:

Det här felet hade något att göra med PostgreSQL och för att åtgärda det här problemet försök först att köra följande kommandon:

apt-get update

apt-get upgrade

apt-get dist-upgrade

Det här löste problemet från vår sida, det hade antagligen något att göra med en föråldrad version av ett paket. Är din Metasploit-installation trasig efter att ha kört en uppdatering och du behöver hjälp med att åtgärda det? Använd kommentarsfunktionen nedan så ska vi försöka hjälpa dig så gott vi kan. Låt oss fortsätta med msfconsole.

Metasploit msfconsole

När Metasploit har startat och msfconsole är tillgänglig kan vi skriva ”help” för att få en översikt över Metasploits kärn- och backendkommandon med en beskrivning:

Metasploit-kommandon

Det skulle vara slöseri med tid och utanför den här handledningen att förklara varje enskilt Metasploit-kommando i den här handledningen. Vi vill bara att du ska vara igång så snart som möjligt i Metasploit och därför bör en grundläggande kunskap om de grundläggande kommandona räcka för tillfället. Du kommer att lära dig mycket mer om de avancerade alternativen längs vägen. Dessutom bör de flesta kommandobeskrivningar vara mycket tydliga om vad kommandot exakt gör och hur man använder det. För tillfället kommer vi att titta på de mest använda grundläggande Metasploit-kommandona i den här handledningen som:

  • Basiska kommandon: search, use, back, help, info och exit.
  • Exploit-kommandon: set för att ställa in variabler och show för att visa exploateringsalternativ, targets, payloads, encoders, nops och de avancerade och undvikande alternativen.
  • Exploit execution commands: run och exploit för att köra exploits mot ett mål.

Det finns också en omfattande Metasploit-dokumentation som ingår i Metasploit och som kan användas för att förtydliga allt. Låt oss ta en titt på Metasploit-kommandona.

Metasploit-kommandon

Vi kommer att gå igenom de grundläggande Metasploit-kommandona snabbt så att vi kan komma igång med den roliga delen och lära oss hur man använder exploits på en sårbar maskin som Metasploitable 2. Grundkommandona består av help, back, exit och info.

Use-, back- och exitkommandon

Use-kommandot i Metasploit används för att aktivera en viss modul och ändrar kontexten i msfconsole till just den modulen. Exploateringsnamnet kommer att nämnas i rött på kommandoraden enligt följande:

I det här exemplet har vi ändrat kontexten för kommandoraden till exploateringen som heter realvnc_client. Härifrån kan vi hämta information om denna exploatering, ställa in de nödvändiga exploateringsparametrarna och köra den mot ett mål.

Om vi vill lämna exploateringskontexten och växla tillbaka till msfconsole måste vi använda kommandot back. Kommandot back tar oss tillbaka till msfconsole i den allmänna kontexten. Härifrån kan vi använda kommandot use igen för att växla till en annan Metasploit-modul.

Kommandot exit stänger msfconsole och tar dig tillbaka till Kali Linux-terminalen.

Help-kommando

Som vi har sett tidigare i den här handledningen kommer help-kommandot att återge en lista över möjliga kommandon tillsammans med en beskrivning när det skrivs in i msfconsole. När det finns en aktiv exploit vald kan vi använda help-kommandot för att få en lista över exploit-kommandon:

Info command

När en exploit väljs med use-kommandot kan vi hämta information som namn, plattform, författare, tillgängliga mål och mycket mer genom att använda info kommandot. I följande skärmdump har vi använt info kommandot på en exploit som heter ie_execcommand_uaf:

Sökkommando

I skrivande stund innehåller Metasploit över 1 500 olika exploits och nya läggs till regelbundet. Med detta antal exploit blir sökfunktionen, och att veta hur man använder den, mycket viktig. Det enklaste sättet att använda sökfunktionen är att utfärda kommandot search följt av en sökterm, till exempel flash för att söka efter exploits relaterade till Flash player. Genom att använda kommandot search kommer Metasploit att söka efter den givna söktermen i modulnamnen och beskrivningen enligt följande:

Som väntat finns det många exploits som är relaterade till den ofta sårbara programvaran Flash player. Listan innehåller även CVE-2015-5122 Adobe Flash opaqueBackground Use After Free zero-day som upptäcktes i Hacking Teams dataintrång förra året.

Sökning med exploits med nyckelord

Du kan även använda sökkommandot med ett nyckelord för att söka efter en specifik författare, ett OSVDB-ID eller en plattform. Kommandot ”help search” visar de tillgängliga nyckelorden i msfconsole enligt följande:

Användningen av sökkommandot med ett nyckelord är ganska enkel och visas längst ner i hjälptexten. Följande kommando används för att söka efter moduler med ett CVE-ID från 2016:

msf > search cve:2016

Detta returnerar oss alla exploits med ett CVE-ID från 2016, inklusive en scanner för hjälpmoduler för den mycket färska Fortinet brandväggens SSH bakdörr:

Metasploit-kommandon för exploits

I föregående kapitel har vi lärt oss Metasploit-kommandon för att aktivera en exploit på msfconsole och ändra kommandoradskontexten till exploit med kommandot use. Nu ska vi titta på hur man visar exploitparametrarna och hur man ändrar dem med set-kommandot. Vi kommer också att titta på hur man visar payloads, targets, advanced och evasion options. Kommandot help show visar de tillgängliga parametrarna för kommandot show:

Show options

Kommandot show options visar de tillgängliga parametrarna för en exploit om det används när kommandoraden är i exploitkontext. Låt oss använda exploiten adobe_flash_shader_drawing_fill och ta en titt på alternativen med följande kommando:

msf > Använd exploit/multi/browser/ adobe_flash_shader_drawing_fill

Följt av kommandot show options:

msf > show options

Flash-exploiten innehåller totalt 6 alternativ varav endast 2 krävs:

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

Nota att kommandot show options returnerar det aktuella valda målet under modulalternativen. Standardmålet är 0 vilket är Windows för den valda exploateringen.

Använd set-kommandot följt av alternativnamnet och det nya värdet för att ändra standardvärdena:

Set SRVHOST 192.168.0.100 för att ändra SRVHOST-värdet till 192.168.0.100

Set SRVPORT 80 för att ändra porten från 8080 till 80

Om du använder kommandot show options igen kan du kontrollera att värdena för SRVHOST och SRVPORT har ändrats. Du kan ändra boolska värden genom att använda kommandot set med optionsnamn och true eller false.

Show payloads

När vi använder kommandot show payloads kommer msfconsole att returnera en lista över kompatibla nyttolaster för denna exploit. I vårt exempel på flash player exploit kommer det att återge ganska många kompatibla nyttolaster:

En översikt över kompatibla exploits

För att använda en viss nyttolast måste du använda set-kommandot följt av nyttolastens namn:

Set payload linux/x86/exec

Show targets

Kommandot show targets ger en lista över operativsystem som är sårbara för den valda exploiten. När vi kör kommandot får vi följande utdata för adobe_flash_shader_drawing_fill exploit:

En översikt över tillgängliga mål för den valda exploateringen.

Den här exploateringen riktar sig mot både Windows- och Linux-operativsystem. Observera att vi kan använda kommandot info för att få ytterligare information om den här exploateringen och målen.

För att ställa in ett mål kan vi använda kommandot set följt av mål-id:

set target 1

Då vi ställer in målet kommer listan över nyttolaster att reduceras mycket eftersom endast nyttolaster som är kompatibla med målet kommer att visas:

Show advanced

Med hjälp av kommandot show advanced kan vi ta en titt på de avancerade alternativen för exploiten.

Använd set-kommandot följt av parametern advanced och det nya värdet för att ändra de avancerade inställningarna:

Set displayablepayloadhandler true

Show encoders

Kommandot show encoders returnerar de kompatibla encoders. Kodare används för att kringgå enkla IDS/IPS-signaturer som letar efter vissa bytes i din nyttolast. Vi kommer att titta närmare på encoders i ett senare kapitel i Metasploits handledning.

För att använda en encoder använder du kommandot set följt av namnet på encodern.

Show nops

Kommandot show nops returnerar en lista över NOP-generatorer. En NOP är en förkortning för No Operation och används för att ändra mönstret för en NOP-slide för att kringgå enkla IDS/IPS-signaturer för vanliga NOP-slides. NOP-generatorerna börjar med CPU-arkitekturen i namnet. Vi kommer att titta på NOPS i ett senare kapitel i den här handledningen.

För att använda en NOP-generator använder du kommandot set följt av namnet på NOP-generatorn. När exploiten startas kommer NOP-slenorna att tas från NOP-generatorn.

Show evasion

Kommandot show evasion returnerar en lista över tillgängliga evasionstekniker.

För att ändra evasionsinställningarna använder du set-kommandot följt av evasion-parametern och det nya värdet.

Metasploitkommandon för exekvering av exploatering

När alla nödvändiga alternativ har ställts in för exploateringen, inklusive en nyttolast och avancerade inställningar som en NOP-generator, evasion-alternativ och kodning, är exploateringen redo att exekveras. Exploateringen kan exekveras med hjälp av två kommandon: run och exploit. Skriv bara run eller exploit i msfconsole så kommer exploiten att köras.

Detta avslutar handledningen om Metasploit-kommandon för tillfället. Om du har frågor om någon av de nämnda eller icke nämnda kommandona kan du ställa dem med hjälp av kommentarsfunktionen nedanför det här inlägget. I nästa Metasploit handledning kommer vi att räkna upp Metasploit 2 maskinen. Därefter kommer vi att göra en sårbarhetsbedömning med den insamlade informationen. Om du inte har installerat Metasploitable 2 ännu kan du följa Metasploitable 2 installationshandledningen först.

Share on: