În acest articol vom vorbi despre elementele de bază ale Metasploit și comenzile Metasploit folosite în interfața de linie de comandă. La început, linia de comandă a consolei MSF și numărul de comenzi disponibile pot părea foarte multe și greu de înțeles și de utilizat, dar nu vă lăsați intimidat de ele. Odată ce veți reuși să înțelegeți conceptul și structura clară, va fi foarte ușor. Dacă punem totul cap la cap, cadrul Metasploit este format din nucleu și bază, o mulțime de exploit-uri, payload-uri, module (clase Ruby), plugin-uri, script-uri și mai multe interfețe utilizator. Cadrul Metasploit conține, de asemenea, câteva instrumente excelente de colectare a informațiilor numite module auxiliare. Modulele auxiliare pot fi utilizate pentru scanarea porturilor, identificarea serviciilor, adulmecarea parolelor și enumerarea patch-urilor Windows. Metasploit este extrem de personalizabil pentru utilizatorii avansați și poate fi personalizat pentru a răspunde nevoilor dumneavoastră, scriind propriile exploatări, module, plugin-uri și scripturi. Dacă Metasploit nu oferă modulul de colectare a informațiilor de care aveți nevoie în mod implicit, atunci pur și simplu îl puteți scrie singur.
Msfconsole este interfața de utilizator cunoscută ca fiind cea mai stabilă interfață și cea cu care vom lucra de-a lungul tutorialelor Metasploit de pe Hacking Tutorials. În afară de stabilitate, un alt beneficiu al msfconsole este opțiunea de a executa comenzi externe, cum ar fi comanda ping și autocompletarea tab-urilor. Există, de asemenea, o interfață grafică de utilizator disponibilă pentru Metasploit numită Armitage. Vom analiza Armitage și cum să o folosim în loc de msfconsole într-un tutorial ulterior. Să continuăm acest tutorial de comenzi Metasploit cu actualizarea cadrului Metasploit dacă este necesar și apoi să trecem la msfconsole pentru a vedea ce comenzi ne sunt disponibile.
- Comandă de bază Msfconsole
- Actualizarea Metasploit cu msfupdate
- Metasploit msfconsole
- Comandări Metasploit
- Comanda use, back și exit
- Comanda help
- Comandă info
- Comandă de căutare
- Cercetare cu exploit-uri cu cuvinte cheie
- Comenzi Metasploit pentru exploit-uri
- Show options
- Show payloads
- Show targets
- Show advanced
- Show encoders
- Show nops
- Show evasion
- Comenzietasploit pentru executarea exploit-ului
- Share on:
Comandă de bază Msfconsole
Să presupunem că sunteți pe Kali Linux 2016 rolling edition putem porni cadrul Metasploit și msfconsole făcând clic pe pictograma Metasploit din dock. Acest lucru va porni automat serviciul PostgreSQL și serviciul Metasploit.
Actualizarea Metasploit cu msfupdate
Să începem cu actualizarea Metasploit folosind următoarea comandă într-o sesiune de terminal (nu în msfconsole):
msfupdate
Această comandă ar trebui să actualizeze cadrul Metasploit la cea mai recentă versiune. Actualizările spun că ar trebui să ne așteptăm la actualizări săptămânale(ish). Atenție: Rularea msfupdate ar putea să vă strice instalarea Metasploit. După ce am rulat această comandă pentru acest tutorial am dat peste erori de genul:
Această eroare are legătură cu PostgreSQL și pentru a rezolva această problemă încercați mai întâi să rulați următoarele comenzi:
apt-get update
apt-get upgrade
apt-get dist-upgrade
Aceasta a rezolvat problema din partea noastră, probabil că avea legătură cu o versiune depășită a unui pachet. Instalarea Metasploit s-a stricat după ce ați rulat o actualizare și aveți nevoie de ajutor pentru a o repara? Folosiți funcția de comentariu de mai jos și vom încerca să vă ajutăm cât de bine putem. Să continuăm cu msfconsole.
Metasploit msfconsole
Când Metasploit a pornit și msfconsole este disponibil, putem tasta ‘help’ pentru a obține o prezentare generală a comenzilor de bază și backend ale Metasploit cu o descriere:
Comenzi Metasploit
Ar fi o pierdere de timp și în afara scopului acestui tutorial să explicăm fiecare comandă Metasploit în acest tutorial. Vrem doar să fiți operaționali cât mai curând posibil în Metasploit și, prin urmare, o cunoaștere de bază a comenzilor de bază ar trebui să fie suficientă pentru moment. Veți învăța mult mai multe despre opțiunile avansate pe parcurs. De asemenea, majoritatea descrierilor comenzilor ar trebui să fie foarte clare cu privire la ceea ce face exact comanda și la modul de utilizare a acesteia. Deocamdată, în acest tutorial vom analiza cele mai utilizate comenzi de bază Metasploit, cum ar fi:
- Comandă de bază: search, use, back, help, info și exit.
- Comandă de exploatare: set pentru a seta variabile și show pentru a afișa opțiunile de exploatare, țintele, încărcăturile utile, codificatoarele, nops și opțiunile avansate și de evaziune.
- Comenzi de execuție a exploatării: run și exploit pentru a executa exploatări împotriva unei ținte.
Există, de asemenea, o documentație Metasploit cuprinzătoare inclusă cu Metasploit, care poate fi utilizată pentru a clarifica orice. Să aruncăm o privire la comenzile Metasploit.
Comandări Metasploit
Vom trece rapid prin comenzile de bază Metasploit, astfel încât să putem începe cu partea distractivă și să învățăm cum să folosim exploit-urile pe o mașină vulnerabilă precum Metasploitable 2. Comenzile de bază constau din comenzile help, back, exit și info.
Comanda use, back și exit
Comanda use din Metasploit este folosită pentru a activa un anumit modul și schimbă contextul msfconsole-ului în acel anumit modul. Numele exploit-ului va fi menționat cu roșu pe linia de comandă, după cum urmează:
În acest exemplu, am schimbat contextul liniei de comandă în exploit-ul numit realvnc_client. De aici încolo putem prelua informații despre acest exploit, seta parametrii necesari ai exploit-ului și îl putem rula împotriva unei ținte.
Dacă dorim să părăsim contextul exploit-ului și să trecem înapoi la msfconsole trebuie să folosim comanda back. Comanda back ne va duce înapoi la msfconsole în contextul general. De aici încolo putem emite din nou comanda use pentru a trece la un alt modul Metasploit.
Comanda exit va închide msfconsole și vă va duce înapoi la terminalul Kali Linux.
Comanda help
Așa cum am văzut mai devreme în acest tutorial, comanda help va returna o listă de comenzi posibile împreună cu o descriere atunci când este tastată în msfconsole. Atunci când este selectat un exploit activ, putem folosi comanda help pentru a obține o listă de comenzi pentru exploit:
Comandă info
Când un exploit este selectat cu comanda use, putem prelua informații precum numele, platforma, autorul, țintele disponibile și multe altele folosind comanda info. În următoarea captură de ecran am folosit comanda info pe un exploit numit ie_execcommand_uaf:
Comandă de căutare
În momentul redactării acestui articol, Metasploit conține peste 1.500 de exploit-uri diferite, iar altele noi sunt adăugate în mod regulat. Cu un astfel de număr de exploit, funcția de căutare și cunoașterea modului de utilizare a acesteia devine foarte importantă. Cel mai simplu mod de a utiliza funcția de căutare este prin emiterea comenzii search urmată de un termen de căutare, de exemplu flash pentru a căuta exploit-uri legate de Flash player. Prin utilizarea comenzii search, Metasploit va căuta termenul de căutare dat în numele și descrierea modulelor, după cum urmează:
După cum era de așteptat, există o mulțime de exploit-uri legate de software-ul Flash player, adesea vulnerabil. Lista include, de asemenea, CVE-2015-5122 Adobe Flash opaqueBackground Use After Free zero-day, care a fost descoperit în încălcarea securității datelor de către Hacking Team anul trecut.
Cercetare cu exploit-uri cu cuvinte cheie
Puteți utiliza, de asemenea, comanda de căutare cu un cuvânt cheie pentru a căuta un anumit autor, un ID OSVDB sau o platformă. Comanda „help search” afișează cuvintele cheie disponibile în msfconsole după cum urmează:
Utilizarea comenzii de căutare cu un cuvânt cheie este destul de simplă și este afișată în partea de jos a textului de ajutor. Următoarea comandă este utilizată pentru a căuta module cu un ID CVE din 2016:
msf > search cve:2016
Aceasta ne returnează toate exploatările cu un ID CVE din 2016, inclusiv un scanner de module auxiliare pentru foarte recentul backdoor SSH al firewall-ului Fortinet:
Comenzi Metasploit pentru exploit-uri
În capitolul anterior am învățat comenzile Metasploit pentru a activa un exploit pe msfconsole și pentru a schimba contextul liniei de comandă în exploit cu ajutorul comenzii use. Acum vom vedea cum să arătăm parametrii exploit-ului și cum să îi modificăm cu comanda set. Vom vedea, de asemenea, cum să arătăm încărcăturile utile, țintele, opțiunile avansate și de evitare. Comanda help show va afișa parametrii disponibili pentru comanda show:
Show options
Comanda show options vă va arăta parametrii disponibili pentru un exploit, dacă este utilizată atunci când linia de comandă se află în contextul exploit. Să folosim exploit-ul adobe_flash_shader_drawing_fill și să aruncăm o privire asupra opțiunilor cu următoarea comandă:
msf > Folosiți exploit/multi/browser/ adobe_flash_shader_drawing_fill
După ce urmează comanda show options:
msf > show options
Exploatarea Flash conține un total de 6 opțiuni din care numai 2 sunt necesare:
- Retries
- SRVHOST (Necesar)
- SRVPORT (Necesar)
- SSL
- SSLCert
- URLPath
Rețineți că comanda show options returnează ținta curentă selectată sub opțiunile modulului. Ținta implicită este 0, care este Windows pentru exploit-ul selectat.
Utilizați comanda set urmată de numele opțiunii și de noua valoare pentru a schimba valorile implicite:
Set SRVHOST 192.168.0.100 pentru a schimba valoarea SRVHOST la 192.168.0.0.100
Set SRVPORT 80 pentru a schimba portul de la 8080 la 80
Prin utilizarea din nou a comenzii show options puteți verifica dacă valorile SRVHOST și SRVPORT au fost modificate. Puteți modifica valorile booleene folosind comanda set cu numele opțiunii și true sau false.
Show payloads
Când folosim comanda show payloads, msfconsole va returna o listă de payload-uri compatibile cu acest exploit. În exemplul nostru de exploit flash player va returna destul de multe payload-uri compatibile:
O prezentare generală a exploit-urilor compatibile
Pentru a utiliza un anumit payload trebuie să folosiți comanda set urmată de numele payload-ului:
Set payload linux/x86/exec
Show targets
Comanda show targets va returna o listă de sisteme de operare care sunt vulnerabile la exploit-ul selectat. Când executăm comanda, obținem următoarea ieșire pentru exploit-ul adobe_flash_shader_drawing_fill:
O prezentare generală a țintelor disponibile pentru exploit-ul selectat.
Acest exploit vizează atât sistemele de operare Windows, cât și Linux. Rețineți că putem utiliza comanda info pentru a obține informații suplimentare despre acest exploit și ținte.
Pentru a seta o țintă putem folosi comanda set urmată de ID-ul țintei:
set target 1
Prin setarea țintei, lista de sarcini utile se va reduce foarte mult deoarece vor fi afișate doar sarcinile utile compatibile cu ținta:
Show advanced
Prin folosirea comenzii show advanced putem arunca o privire asupra opțiunilor avansate pentru exploit.
Utilizați comanda set urmată de parametrul advanced și de noua valoare pentru a modifica setările avansate:
Set displayablepayloadhandler true
Show encoders
Comanda show encoders va returna codurile compatibile. Codificatoarele sunt utilizate pentru a eluda semnăturile IDS/IPS simple care caută anumiți octeți din sarcina utilă. Vom analiza codificatoarele în detaliu într-un capitol ulterior al tutorialelor Metasploit.
Pentru a utiliza un codificator folosiți comanda set urmată de numele codificatorului.
Show nops
Comanda show nops va returna o listă de generatoare NOP. NOP este prescurtarea de la No Operation (fără operațiune) și este utilizat pentru a schimba modelul unei săniuțe NOP pentru a ocoli semnăturile IDS/IPS simple ale săniuțelor NOP obișnuite. Generatoarele NOP încep cu arhitectura CPU în denumire. Ne vom ocupa de NOPS într-un capitol ulterior al acestui tutorial.
Pentru a utiliza un generator NOP, utilizați comanda set urmată de numele generatorului NOP. Când se lansează exploit-ul, săniile NOP vor fi preluate de la generatorul NOP.
Show evasion
Comanda show evasion returnează o listă a tehnicilor de evaziune disponibile.
Pentru a schimba setările de evaziune folosiți comanda set urmată de parametrul de evaziune și de noua valoare.
Comenzietasploit pentru executarea exploit-ului
Când au fost setate toate opțiunile necesare pentru exploit, inclusiv o sarcină utilă și setări avansate, cum ar fi un generator NOP, opțiuni de evaziune și codificare, exploit-ul este gata să fie executat. Exploatarea poate fi executată cu ajutorul a două comenzi: run și exploit. Trebuie doar să tastați run sau exploit în msfconsole și exploit-ul va fi executat.
Aceasta va încheia tutorialul privind comenzile Metasploit pentru moment. Dacă aveți întrebări cu privire la oricare dintre comenzile menționate sau nemenționate, vă rugăm să le adresați folosind funcționalitatea de comentarii de sub această postare. În următorul tutorial Metasploit vom enumera mașina Metasploit 2. După care vom face o evaluare a vulnerabilității cu ajutorul informațiilor colectate. Dacă nu ați instalat încă Metasploitable 2, puteți urma mai întâi tutorialul de instalare Metasploitable 2.
Lasă un răspuns