Cadrul Metasploit, partea a doua

Păcatul este acoperit și KK Traducere Mukei Vladimir Kuksenok

1. Introducere

Instalat MSF are trei medii de lucru, msfconsole. interfață msfcli și interfața msfweb. Cu toate acestea, primar (și preferat) Mediul de operare MSF este msfconsole. Este un mod eficient de interfață linie de comandă, care are propriile sale mediul de programare și comenzile de sistem. În ciuda faptului că acest cadru a fost proiectat pentru sistemele Unix, Linux sau tipul BSD, acesta va lucra, de asemenea, într-un mediu cu Windows prin Cygwin. instalare Windows cu site-ul metasploit.com include o versiune simplificata-jos configurat Cygwin.

În timpul inițializării se efectuează verificări msfconsole standard. Dacă totul merge bine, vom vedea ce este prezentat în figura 1.

Acum putem vedea linia de comandă. Consola este foarte flexibil, iar în cazul în care utilizatorul introduce orice comandă necunoscută va căuta toate fișierele executabile în directorul specificat în variabila de mediu PATH. Dacă fișierul este găsit, acesta va fi executat, la fel ca în linia de comandă standard de.

Instinctiv, tastând comanda de ajutor. puteți vedea o listă de comenzi disponibile, așa cum se arată în figura 2.

Comanda show-isprăvile listează isprăvile disponibile în prezent. Există exploateaza la distanță pentru diverse platforme și aplicații, cum ar fi Windows, Linux, IIS, Apache, etc. MSF pentru a ajuta la testare și să înțeleagă cum funcționează. Acest lucru este prezentat în Figura 3 de mai jos.

După cum puteți vedea, setarea Metasploit Framework 2.0 implicit contine 18 exploateaza si 27 de sarcini utile, care sunt foarte impresionant stoc.

Unele informații despre exploit pot fi obținute cu informațiile de comandă exploata exploit_name. care afișează informații despre ordinea disponibile, cerințele de a exploata în mod direct detaliile vulnerabilității, chiar și link-uri unde puteți găsi mai multe informații. Acest lucru este prezentat în Figura 5.

În același mod, folosind comanda imya_shelkoda info sarcina utila. informații pot fi obținute cu privire la orice sarcină utilă, așa cum este prezentat în Figura 6. Începând cu versiunea 2.2 MSF, puteți utiliza MODULE_NAME info comanda. fără a specifica tipul de modul.

3. Folosind o exploateze

Acum vom descrie procedura pentru selectarea și executarea unei anumite exploata. Echipele folosesc exploit_name activează mediu pentru exploit_name exploata.

Comanda va arăta sarcini utile toate sarcinile utile compatibile cu selectat exploit. MSF vă împiedică să utilizați sarcina utilă, nepotrivite pentru această exploata.

Apoi, trebuie să se stabilească o sarcină utilă pentru exploit. Vom atribui valoarea winbind sarcină utilă variabilă. folosind comanda winbind set de sarcină utilă. Numele sarcini utile pot varia în diferite versiuni ale MSF, astfel încât întotdeauna verificați după actualizarea comenzii de ieșire afișează sarcinile utile. Această sarcină utilă va determina serverul pentru a asculta un port specific și de a crea un înveliș atunci când este conectată. Acest lucru arată kitul de flexibilitate extensibilitate exploateaza MSF. Fiecare exploit incluse in MSF a, selectați și de a folosi sarcini utile arbitrare, chiar și cele pe care le-ați dezvoltat. Observați modificarea în linia de comandă promptul după selectarea shellcode cu msrpc_dcom_ms03_026 MSF> to msrpc_dcom_ms03_026 MSF (winbind)>. Acum folosim comanda spectacol opțiuni. pentru a verifica ce sunt instalate opțiuni, și ce trebuie încă să fie stabilite. După cum putem vedea, avem încă nevoie să se stabilească valoarea LPORT, așa cum este prezentat în Figura 8. Am stabilit cu ajutorul setului de LPORT 1536 echipa.

EXITFUNC variabilă este disponibil pentru aproape toate versiunile Windows shellcode. Această variabilă determină modul în sarcină utilă „curățat“ după sine o dată finalizat sarcina. Destul de o mulțime de vulnerabilități pot fi eksploytirovany în mod repetat, pur și simplu, folosind valori diferite pentru EXITFUNC. Din fericire, rareori trebuie să se gândească la ea, deoarece multe exploateaza alege automat cea mai bună valoare pentru tine. Dacă nu știi ce faci, această valoare nu trebuie să fie instalat. Setarea valorilor greșite pot cauza sistemului eksploytiruemoy daune.

Acum totul este gata și toate variabilele sunt setate. Efectuați o verificare finală a exploata arată opțiunile și să convingă echipa că suntem pregătiți să mergem mai departe.

Totul arata bine. E timpul să înceapă!

exploata echipa începe să atace, indiferent de ceea ce trebuie să faceți pentru a rula shellcode pe sistemul de la distanță.

Echipa de verificare poate fi utilizat pentru a verifica dacă sistemul țintă este vulnerabil la atac. Această opțiune nu este disponibilă cu fiecare exploata, dar poate fi util pentru a determina dacă sistemul este patch-uri, înainte de a încerca să o atace.

4. Adăugarea de noi exploituri / Module

După încărcarea exploit, utilizatorul trebuie să acorde o atenție la numele exploateaza module Perl. Numele fișierului trebuie să fie același ca numele pachetului, cu alte cuvinte, MFF :: Exploit :: iis5x_ssl_pct ar trebui să fie salvat ca iis5x_ssl_pct.pm. Acum, copiați exploateaza modulul director (dacă utilizați Windows, acest /home/framework-2.0/exploits). Odată ce fișierul a fost copiat, este gata de utilizare și nici măcar nu au nevoie pentru a reporni consola. Utilizați comanda show-exploateaza. care asigură că modulul a fost încărcat corect. Un exploata a fost adăugat cu succes la lista. Acesta poate fi rulat precum și orice alte exploata în MSF. MSF versiunea 2.2 permite utilizatorilor să aibă propriile lor directoare pentru Exploit-uri, sarcini utile, codificatoare și NOP. Un nou exploit poate fi setat pentru întregul sistem sau pentru un anumit utilizator.

5. Consola surround

În secțiunile anterioare am menționat destul de câteva variabile și medii, fără a explica cum arata. Setarea este doar spațiul de nume de variabile. Când setați o variabilă în MSF, un nou record este creat în mediul actual. exploituri de mediu sunt utilizate pentru a determina parametrii și setările diferitelor părți ale sistemului. MSF este împărțit în două mediu de mediu logic global (global de mediu) și de mediu temporare (Temporary Mediu). Fiecare exploata, după ce a fost ales, are un mediu temporar, care este primar la mediul global.

5.1 Contextul mondial

Prin mediul global pot fi accesate prin comanda si unsetg setg. setg apel fără parametri arată mediul global actual, și unsetg elimină toate setările mediului la nivel global.

Mai jos, în Figura 9 arată cum ne-am stabilit valoarea variabilelor LHOST. LPORT si sarcina utila mediu global și de a salva modificările folosind comanda de salvare.

Salvați comanda scrie toate mediul curent într-un fișier de pe disc. Versiunile 2.0 și 2.1 a informațiilor stocate în fișierul $ HOME / .msfconfig, și versiunea 2.2 în $ HOME / .msf / config. mediu salvate încărcate la pornirea oricare dintre interfețele de utilizator MSF. O practică comună pentru a stabili variabile și LPORT LHOST mediu global și să le salvați, eliminând necesitatea de a le instala pentru fiecare exploata.

5.2 Locuri temporare

mediu temporar este mediul, care au propriile lor setări, primare pentru mediu la nivel mondial. Mediul temporar este legat de un anumit exploituri selectate. Setarea exploata fiecare izolat de celelalte, permițând utilizatorului să treacă cu ușurință între exploit configurate cu comanda de utilizare.

5.3 Setare avansată de mediu

MSF are o mulțime de setări avansate, care sunt configurate folosind variabile de mediu. Aceste setări includ sistemul de logare, opțiunile de prize și opțiuni de depanare.

5.3.1 Setări jurnal

5.3.2 Opțiuni prize

Diferite setări de expirare și proxy poate fi schimbat setarea următoarelor variabile de mediu.

MFF :: Socket :: Proxies (nume la nivel mondial) sau proxy-uri (nume temporar): Această variabilă poate fi utilizată pentru a seta setările unui proxy (SOCKS4 și HTTP) pentru conexiunea la rețea. Aceasta susține înlănțuire proxy, care urmează să fie specificat în tipul de format: gazdă: port, separate prin virgulă pentru fiecare proxy.

MFF :: Socket :: RecvTimeout (nume la nivel mondial) sau RecvTimeout (nume temporar): Specifică numărul maxim de secunde pentru a citi datele de la priza.

MFF :: Socket :: ConnectTimeout (nume la nivel mondial) sau ConnectTimeout (nume temporar): Setați timeout priză atunci când se încearcă să se conecteze (implicit 10 secunde).

MFF :: Socket :: RecvTimeoutLoop (nume la nivel mondial) sau RecvTimeoutLoop (nume temporar): Setați timpul maxim (în secunde) să aștepte pentru conexiunea înainte de priza este închis. Această valoare este redusă după fiecare recepție de date.

5.3.3 Setări Debug

DebugLevel variabilă de mediu stabilește nivelul de depanare opțiuni de ieșire și mai multe informații pentru MSF și module. Cantitatea de informații suplimentare crește în conformitate cu valoarea unei variabile care ia valori între 0 și 5.

5.3.4 Opțiuni shellcode

În mod implicit, procesul de codificare este de a vizualiza toate modulele până când găsește una, în care nu există un anumit set de caractere interzise pentru a exploata. Modulele de codare precedență pot fi instalate în ordine, separate prin virgulă, mediu Codificare variabilă. În mod similar Nop variabilă este utilizată pentru a determina vechimea în muncă rutine de generare a NOP. Acest lucru poate fi util pentru fraudă unor IDS.

RandomNops variabile indică utilizarea modulo generarea secvenței nop nop-aleatorie a acestor comenzi în loc de NOP opcode standardul. Acesta poate fi, de asemenea, folosit pentru a induce în eroare semnăturile IDS. Versiunea 2.2 include suport pentru noul NOP generator de aleatoriu, în care pentru fiecare exploata poate specifica registrele care nu trebuie să fie modificate Opcodes-NOP cum ar fi.

6. Concluzie

Dupa ce a citit a doua parte a acestui articol, aveți nevoie pentru a obține o idee fermă a ceea ce cadru Metasploit și modul în care puteți începe să utilizați-l. Vom descrie interfața msfconsole, primar mijloace pentru selectarea și utilizarea exploata, și modul în care sistemul mediu de lucru.