Ez a cikk a Metasploit alapjairól és a parancssori felületen használt Metasploit parancsokról fog szólni. Elsőre az MSF konzol parancssora és a rendelkezésre álló parancsok száma soknak és nehezen érthetőnek és használhatónak tűnhet, de ne ijedjünk meg tőlük. Ha egyszer megérti a koncepciót és a világos struktúrát, nagyon könnyű lesz. Ha mindent összerakunk, a Metasploit keretrendszer a magból és az alapból, rengeteg exploitból, payloadokból, modulokból (Ruby osztályok), pluginokból, szkriptekből és több felhasználói felületből áll. A Metasploit keretrendszer tartalmaz néhány nagyszerű információgyűjtő eszközt is, amelyeket segédmoduloknak neveznek. A segédmodulok port szkennelésre, szolgáltatás azonosításra, jelszó szimatolásra és Windows javítások számbavételére használhatók. A Metasploit nagymértékben testreszabható a haladó felhasználók számára, és saját exploitok, modulok, pluginok és szkriptek írásával testre szabható, hogy megfeleljen az egyéni igényeknek. Ha a Metasploit alapértelmezés szerint nem biztosítja a szükséges információgyűjtő modult, akkor egyszerűen megírhatja saját maga.
A msfconsole a legstabilabbnak ismert felhasználói felület, amellyel a Hacking Tutorials-on található Metasploit oktatóanyagok során végig dolgozni fogunk. A stabilitás mellett az msfconsole másik előnye a külső parancsok, például a ping parancs és a lap automatikus kitöltésének lehetősége. A Metasploithoz elérhető egy grafikus felhasználói felület is, az Armitage. Az Armitage-et és annak használatát az msfconsole helyett egy későbbi bemutatóban fogjuk megvizsgálni. Folytassuk ezt a Metasploit parancsok bemutatót a Metasploit keretrendszer frissítésével, ha szükséges, majd váltsunk át az msfconsole-ra, hogy megnézzük, milyen parancsok állnak rendelkezésünkre.
- Basic Msfconsole parancsok
- A Metasploit frissítése az msfupdate segítségével
- Metasploit msfconsole
- Metasploit parancsok
- Use, back és exit parancsok
- Help parancs
- Info parancs
- Keresési parancs
- Keresés exploitokkal kulcsszavakkal
- Metasploit parancsok exploitokhoz
- Show options
- Show payloads
- Show targets
- Show advanced
- Show encoders
- Show nops
- Show evasion
- Metasploit parancsok az exploit végrehajtásához
- Megosztás:
Basic Msfconsole parancsok
Feltéve, hogy a Kali Linux 2016 rolling edition-t használjuk, a Metasploit keretrendszert és az msfconsole-t a dokkolóban lévő Metasploit ikonra kattintva tudjuk elindítani. Ez automatikusan elindítja a PostgreSQL szolgáltatást és a Metasploit szolgáltatást.
A Metasploit frissítése az msfupdate segítségével
Kezdjük a Metasploit frissítését a következő paranccsal egy terminál munkamenetben (nem az msfconsole-ban):
msfupdate
Ez a parancs frissíti a Metasploit keretrendszert a legújabb verzióra. A frissítések azt mondják, hogy hetente(kb.) kellene frissítéseket várnunk. Vigyázat! Az msfupdate futtatása tönkreteheti a Metasploit telepítését. Miután lefuttattuk ezt a parancsot ehhez a bemutatóhoz, olyan hibákba futottunk bele, mint:
Ez a hiba a PostgreSQL-hez volt köze, és a probléma megoldásához először próbáljuk meg a következő parancsokat futtatni:
apt-get update
apt-get upgrade
apt-get dist-upgrade
Ez megoldotta a problémát nálunk, valószínűleg egy csomag elavult verziójához volt köze. A Metasploit telepítése elromlott egy frissítés futtatása után, és segítségre van szüksége a javításhoz? Használd az alábbi megjegyzés funkciót, és mi megpróbálunk segíteni, amennyire csak tudunk. Folytassuk az msfconsole-lal.
Metasploit msfconsole
Amikor a Metasploit elindult és az msfconsole elérhető, beírhatjuk a ‘help’ parancsot, hogy áttekintést kapjunk a Metasploit core és backend parancsairól leírással:
Metasploit parancsok
Időpocsékolás lenne és kívül esne ennek a bemutatónak a keretein, ha minden egyes Metasploit parancsot elmagyaráznánk ebben a bemutatóban. Csak azt szeretnénk, hogy a lehető leghamarabb beinduljon a Metasploit, ezért egyelőre elegendőnek kell lennie az alapvető parancsok alapszintű ismeretének. A haladó lehetőségekről a későbbiek során sokkal többet fogsz megtudni. Emellett a legtöbb parancs leírásának nagyon világosnak kell lennie, hogy pontosan mit csinál az adott parancs, és hogyan kell használni. Egyelőre a leggyakrabban használt alapvető Metasploit parancsokkal fogunk foglalkozni ebben a bemutatóban, mint például:
- Basic parancsok: search, use, back, help, info és exit.
- Exploit parancsok: set a változók beállításához és show az exploit opciók, célpontok, payloadok, kódolók, nops és a fejlett és kitérési opciók megjelenítéséhez.
- Exploit végrehajtási parancsok: run és exploit az exploitok futtatásához egy célpont ellen.
A Metasploithoz egy átfogó Metasploit dokumentáció is tartozik, amely bármit tisztázhat. Nézzük meg a Metasploit parancsokat.
Metasploit parancsok
Gyorsan végigmegyünk a Metasploit alapparancsain, így rátérhetünk a szórakoztató részre, és megtanulhatjuk, hogyan használjuk az exploitokat egy sebezhető gépen, mint a Metasploitable 2. Az alapvető parancsok a help, back, exit és info parancsokból állnak.
Use, back és exit parancsok
A use parancs a Metasploitban egy adott modul aktiválására szolgál, és megváltoztatja az msfconsole kontextusát az adott modulra. Az exploit neve piros színnel lesz feltüntetve a parancssorban a következőképpen:
Ebben a példában a parancssor kontextusát a realvnc_client nevű exploitra változtattuk. Innentől kezdve lekérdezhetünk információkat erről az exploitról, beállíthatjuk a szükséges exploit paramétereket és futtathatjuk egy célpont ellen.
Ha ki akarunk lépni az exploit kontextusából és vissza akarunk váltani az msfconsole-ra, akkor a back parancsot kell használnunk. A back parancs visszavisz minket az általános kontextusban lévő msfconsole-hoz. Innentől kezdve ismét kiadhatjuk a use parancsot, hogy egy másik Metasploit modulra váltsunk.
Az exit parancs bezárja az msfconsole-t, és visszavezet a Kali Linux terminálhoz.
Help parancs
Mint azt már korábban láttuk ebben a tananyagban, a help parancs az msfconsole-ban begépelve a lehetséges parancsok listáját adja vissza egy leírással együtt. Ha egy aktív exploit van kijelölve, a help paranccsal lekérhetjük az exploit parancsok listáját:
Info parancs
Ha a use paranccsal kiválasztottunk egy exploitot, akkor az info parancs segítségével olyan információkat kérhetünk le, mint a neve, platformja, szerzője, elérhető célpontjai és még sok más. A következő képernyőképen az info parancsot az ie_execcommand_uaf nevű exploitra használtuk:
Keresési parancs
Az írás pillanatában a Metasploit több mint 1500 különböző exploitot tartalmaz, és rendszeresen jönnek hozzá újak. Ennyi exploit mellett a keresési funkció és a használatának ismerete nagyon fontossá válik. A keresési funkciót a legegyszerűbben úgy használhatod, hogy kiadod a search parancsot, amelyet egy keresési kifejezés követ, például a Flash playerrel kapcsolatos exploitok kereséséhez a flash. A keresés parancs használatával a Metasploit a megadott keresési kifejezésre fog keresni a modulnevekben és a leírásban a következőképpen:
Mint várható volt, rengeteg exploit van a gyakran sebezhető Flash player szoftverhez kapcsolódóan. A lista tartalmazza a CVE-2015-5122 Adobe Flash opaqueBackground Use After Free nulladik napot is, amelyet a Hacking Team tavalyi adatbetörése során fedeztek fel.
Keresés exploitokkal kulcsszavakkal
A kulcsszóval ellátott keresőparanccsal egy adott szerző, egy OSVDB azonosító vagy egy platform keresésére is lehetőség van. A ‘help search’ parancs az alábbi módon jeleníti meg az elérhető kulcsszavakat az msfconsole-ban:
A kulcsszóval történő keresés parancs használata meglehetősen egyszerű, és a súgószöveg alján jelenik meg. A következő parancsot a 2016-os CVE azonosítóval rendelkező modulok keresésére használjuk:
msf > search cve:2016
Ez az összes 2016-os CVE azonosítóval rendelkező exploitot visszaadja nekünk, beleértve a nagyon friss Fortinet tűzfal SSH backdoor segédmodul szkennerét is:
Metasploit parancsok exploitokhoz
Az előző fejezetben megtanultuk a Metasploit parancsokat egy exploit aktiválásához az msfconsole-on és a parancssori környezet megváltoztatásához az exploithoz a use paranccsal. Most azt fogjuk megvizsgálni, hogyan jeleníthetjük meg az exploit paramétereit, és hogyan változtathatjuk meg azokat a set paranccsal. Azt is megnézzük, hogyan lehet megjeleníteni a hasznos terhelést, a célpontokat, a fejlett és a kitérési opciókat. A help show parancs megjeleníti a show parancs elérhető paramétereit:
Show options
A show options parancs megmutatja az exploit elérhető paramétereit, ha a parancssor exploit kontextusban van használva. Használjuk az adobe_flash_shader_drawing_fill exploitot, és nézzük meg az opciókat a következő paranccsal:
msf > Use exploit/multi/browser/ adobe_flash_shader_drawing_fill
Majd a show options parancs következik:
msf > show options
A Flash exploit összesen 6 opciót tartalmaz, amelyek közül csak 2 szükséges:
- Retries
- SRVHOST (Kötelező)
- SRVPORT (Kötelező)
- SSL
- SSLCert
- URLPath
Megjegyezzük, hogy a show options parancs a modul opciók alatt az aktuálisan kiválasztott célt adja vissza. Az alapértelmezett cél 0, ami a Windows a kiválasztott exploit számára.
Az alapértelmezett értékek módosításához használja a set parancsot, amelyet az opció neve és az új érték követ:
Set SRVHOST 192.168.0.100 az SRVHOST érték 192-re történő módosításához.168.0.100
Set SRVPORT 80, hogy a portot 8080-ról 80-ra változtassa
A show options parancs ismételt használatával ellenőrizheti, hogy az SRVHOST és SRVPORT értékek megváltoztak. A Boolean értékeket a set paranccsal változtathatjuk meg az opció nevével és true vagy false értékkel.
Show payloads
Ha a show payloads parancsot használjuk, az msfconsole visszaadja az exploithoz kompatibilis payloadok listáját. A mi flash player exploit példánkban elég sok kompatibilis payloadot fog visszaadni:
A kompatibilis exploitok áttekintése
Az adott payload használatához a set parancsot kell használni, amelyet a payload neve követ:
Set payload linux/x86/exec
Show targets
A show targets parancs visszaadja azon operációs rendszerek listáját, amelyek sebezhetőek a kiválasztott exploitra. A parancs futtatásakor az adobe_flash_shader_drawing_fill exploit esetében a következő kimenetet kapjuk:
A kiválasztott exploit elérhető célpontjainak áttekintése.
Ez az exploit mind a Windows, mind a Linux operációs rendszereket célozza. Megjegyezzük, hogy az info paranccsal további információkat kaphatunk erről az exploitról és a célpontokról.
A célpont beállításához használhatjuk a set parancsot, amelyet a célpont azonosítója követ:
set target 1
A célpont beállításával a hasznos terhek listája jelentősen csökken, mivel csak a célponttal kompatibilis hasznos terhek jelennek meg:
Show advanced
A show advanced parancs használatával megtekinthetjük az exploit speciális beállításait.
A set paranccsal, majd az advanced paraméter és az új érték megadásával módosíthatjuk a speciális beállításokat:
Set displayablepayloadhandler true
Show encoders
A show encoders parancs a kompatibilis kódolókat adja vissza. A kódolókat arra használják, hogy kikerüljék az egyszerű IDS/IPS aláírásokat, amelyek a hasznos teher bizonyos bájtjait keresik. A Metasploit oktatóanyagok egy későbbi fejezetében részletesen foglalkozunk a kódolókkal.
A kódoló használatához használja a set parancsot, amelyet a kódoló neve követ.
Show nops
A show nops parancs a NOP generátorok listáját adja vissza. A NOP a No Operation rövidítése, és arra szolgál, hogy megváltoztassa a NOP szán mintáját, hogy megkerülje a gyakori NOP szánok egyszerű IDS/IPS aláírásait. A NOP-generátorok neve a CPU-architektúrával kezdődik. A NOPS-okkal az oktatóanyag egy későbbi fejezetében foglalkozunk majd.
A NOP-generátor használatához használja a set parancsot, amelyet a NOP-generátor neve követ. Az exploit indításakor a NOP-szánok a NOP-generátorból kerülnek átvételre.
Show evasion
A show evasion parancs az elérhető kitérési technikák listáját adja vissza.
A kitérési beállítások módosításához használjuk a set parancsot, amelyet az evasion paraméter és az új érték követ.
Metasploit parancsok az exploit végrehajtásához
Ha az exploithoz szükséges összes opciót beállítottuk, beleértve a hasznos terhet és a speciális beállításokat, például a NOP generátort, a kitérési opciókat és a kódolást, az exploit készen áll a végrehajtásra. Az exploit két parancs segítségével hajtható végre: run és exploit. Csak írja be a run vagy exploit parancsot az msfconsole-ban, és az exploit futni fog.
Ezzel a Metasploit parancsok bemutatója egyelőre befejeződik. Ha bármilyen kérdése van az említett vagy nem említett parancsokkal kapcsolatban, kérjük, tegye fel őket a hozzászólás alatti hozzászólási funkció segítségével. A következő Metasploit bemutatóban a Metasploit 2 gépet fogjuk felsorolni. Ezt követően egy sebezhetőségi értékelést fogunk végezni az összegyűjtött információkkal. Ha még nem telepítette a Metasploitable 2-t, akkor először kövesse a Metasploitable 2 telepítési bemutatót.
Vélemény, hozzászólás?