Introducere
maparea vulnerabilității este o activitate efectuată pentru a identifica defectele de securitate care pot duce la compromiterea unui sistem. Uneori, cercetătorii vor folosi termenul ” evaluarea vulnerabilității „în loc de „cartografierea vulnerabilității”.”Sunt, totuși, același lucru.
în pentesting și hacking rău intenționat, cartografiere vulnerabilitate este un pas care urmează după tester sau hacker a efectuat în mod adecvat colectarea de informații și enumerarea rețelei țintă sau gazdă.
în acest articol, vom analiza modul în care pot fi implementate diferite instrumente din cadrul sistemului de Operare Kali Linux pentru a descoperi vulnerabilități care ar putea duce la compromiterea țintelor și, astfel, la încălcarea confidențialității, integrității și disponibilității unui sistem de afaceri.
tipuri de vulnerabilități
astăzi, există trei clase principale de vulnerabilități din care se poate face o distincție clară. Cele trei clase sunt:
- vulnerabilități de proiectare: Acestea vor fi descoperite prin punctele slabe care rezultă din specificațiile software-ului. Acestea sunt de departe cele mai greoaie de rezolvat, deoarece necesită aplicarea de patch-uri pe baza cerințelor de securitate date de pentester
- vulnerabilități de implementare: ori de câte ori sunt descoperite erori în codul software, Acestea sunt clasificate aici.
- vulnerabilități operaționale: aceste vulnerabilități vor rezulta din configurarea și implementarea necorespunzătoare a software-ului.
clasele de vulnerabilități de mai sus vor apărea fie local, fie de la distanță în mediul țintă.
vulnerabilitățile locale vor necesita ca testerul sau atacatorul să aibă acces local la sistemul țintă pentru a le exploata. Un bun exemplu în acest sens este CVE-2013-0232, altfel cunoscut sub numele de GP Trap Handler nt!KiTrap0D, care ar permite unui atacator sau tester cu acces la o mașină vulnerabilă Windows Server 2008 să obțină acces privilegiat escaladat.
vulnerabilitățile de la distanță permit exploatarea fără acces fizic la sistemul țintă. Acestea ar putea apărea de pe Internet sau în cadrul rețelei pe care se află sistemul vulnerabil. Un exemplu comun în acest sens este vulnerabilitatea serviciului MS08-067 Windows Server, care afectează sistemele Windows XP.
taxonomia vulnerabilității
pe măsură ce numărul de tehnologii crește zilnic, au existat numeroase încercări de a proiecta o taxonomie care ar putea răspunde cel mai bine vulnerabilităților identificabile în mod obișnuit. În ciuda acestor eforturi, într-adevăr încă nu este posibil să se țină cont de toate greșelile de codificare care pot fi făcute.
organizațiile au venit cu următoarele standarde care au fost chiar implementate în multe instrumente care pot fi utilizate în timp ce caută vulnerabilități.
taxonomie de securitate | link de resurse |
enumerarea comună a slăbiciunilor | http://cwe.mitre.org/data/index.html |
OWASP Top 10 | https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project |
Clasificarea amenințărilor WASC | http://projects.webappsec.org/w/page/13246978/Threat%20Classification |
Baza Națională de date privind vulnerabilitățile | https://nvd.nist.gov/vuln |
baza de date de Hacking Google (GHDB) | https://www.exploit-db.com/google-hacking-database/ |
Scanare vulnerabilitate cu Kali Linux
Kali Linux vine la pachet cu numeroase instrumente pentru tester de penetrare. Unele dintre aceste instrumente pot fi utilizate în mod eficient în timpul unui angajament pentest pentru a efectua cartografierea vulnerabilității în cele trei clase discutate mai sus.
scanarea vulnerabilităților aplicațiilor Web
aplicațiile Web sunt generate zilnic, dar majoritatea programatorilor nu respectă principiile de codificare sigură care trebuie respectate în timpul proiectării aplicațiilor. Următoarele instrumente permit unui dezvoltator sau pentester să descopere vulnerabilități care se încadrează în documentația disponibilă în tabelul de mai sus.
Nikto2
Nikto2 este un scanner foarte simplu vulnerabilitate aplicație web construit pe LibWhisker2, ceea ce înseamnă că are numeroase capabilități. De exemplu, poate fi implementat pe mai multe platforme, acceptă SSL, poate gestiona autentificarea gazdei prin NTLM și poate chiar gestiona evaziunea IDS.
lansarea Nikto împotriva unei gazde așa cum se arată mai sus cu comanda „nikto-h” va returna rezultate care vor varia în funcție de cât de vulnerabilă este ținta. Puteți fi sigur că Nikto va detecta implementări învechite ale serverului, fișiere de instalare implicite, Configurări greșite ale serverului și numeroase alte probleme de securitate. De asemenea, puteți specifica portul adăugând „-p ” după specificarea țintei pentru a găsi probleme la porturile dorite.
OWASP ZAP
Proxy-ul de atac OWASP ZED (ZAP) este creat de proiectul OWASP, una dintre părțile din tabelul de mai sus. Este un instrument proxy pentru aplicații web open-source și oferă unele funcționalități bune, cum ar fi scanarea vulnerabilității aplicațiilor web.
pe Kali Linux, pur și simplu îl porniți prin emiterea comenzii de mai jos în terminal:
#owasp-zap
vi se va prezenta ecranul principal. Efectuarea unei scanări este însă destul de simplă. Ați emite ținta care urmează să fie scanată așa cum se arată mai jos:
odată ce ați apăsat butonul” atac”, scanarea va începe și veți vedea o activitate în secțiunea de mai jos pe ecran.
OWASP ZAP accesează cu crawlere site-ul țintă în căutarea vulnerabilităților. De asemenea, va identifica unele configurări greșite care vor apărea în fila Alerte, așa că urmăriți și fila respectivă. OWASP ZAP vă va permite să restrângeți legăturile afectate, așa cum se arată mai jos:
un concurent comercial al ZAP este BurpSuite, care oferă funcționalități similare cu versiunea sa gratuită, dar mult mai mult în versiunea sa comercială.
Nessus
Nessus vă va oferi o Scanare automată a vulnerabilității aplicațiilor Web pentru acele situații în care sunteți limitat în timp și aveți nevoie de o evaluare rapidă a vulnerabilității sau pentest.
Nessus poate fi rulat gratuit cu capacități limitate sau ca un instrument comercial cu mult mai multe capacități care pot fi utile — în special pentru echipele și angajamentele mari pentest.
pentru a efectua o scanare a vulnerabilității, va trebui mai întâi să instalați versiunea gratuită a Nessus, apoi să navigați în browser la https://localhost:8834. Vezi mai jos:
apoi apăsați butonul” Scanare nouă ” de mai sus și selectați tipul de scanare de efectuat din numeroasele șabloane disponibile.
șabloanele prezentate mai sus vor fi limitate în versiunea gratuită a Nessus dacă rulați acest lucru, dar sunt mult mai multe în număr și capacitate în versiunea comercială.
apoi ți-ai emite țintele. Nessus este capabil să efectueze scanări pe mai multe ținte separate prin virgule sau emise în format CIDR.
după ce ați terminat completarea câmpurilor obligatorii, vi se va prezenta ecranul de mai sus. Faceți clic pe pictograma” Redare ” pentru a lansa scanarea.
vulnerabilitățile vor fi prezentate în modul din ecranul de mai sus, rezumând gravitatea și instanțele problemelor descoperite.
Nessus vă permite chiar să detaliați la gazde și vulnerabilități specifice și să obțineți mai multe informații despre modul în care au fost descoperite, împreună cu recomandări despre cum să remediați riscurile identificate.
scanarea vulnerabilității rețelei
Kali Linux oferă, de asemenea, instrumente capabile să scaneze dispozitive de rețea, cum ar fi baze de date, routere, comutatoare și protocoale, cum ar fi SNMP și SMB. Există numeroase instrumente, dar vom arunca o privire asupra celor mai frecvente.
analiza CISCO
dispozitivele CISCO sunt susceptibile la o serie de vulnerabilități care pot fi evaluate cu câteva instrumente. La auditarea routerelor, Kali Linux este livrat cu Cisco Auditing Tool (Cat), care poate ajuta un atacator sau un tester de penetrare să identifice vulnerabilități, de la șiruri de comunitate SNMP la bug-uri CISCO vechi și acreditări implicite care pot fi utilizate pentru a obține acces ilegal la router.
pentru a testa gazda noastră pe Kali, am executat comanda de mai jos:
#CAT -h 192.168.67.73 -w lists/community -a lists/passwords -i
cat procedează la audit pentru acreditările implicite și siruri de caractere comunitate SNMP așa cum se arată mai sus.
analiza SNMP
Kali Linux permite, de asemenea, atacatorilor și pentesterilor să obțină informații de la gazde cu protocolul Simple Network Management Protocol (SNMP). Acest lucru poate fi extrem de vital în pregătirea altor atacuri care vizează gazda.
pe mașina noastră de atac, am executat comanda de mai jos și am reușit să obținem o mulțime de informații despre ținta noastră.
după cum se poate vedea mai sus, am reușit să identificăm informațiile cardului ethernet, cât timp a fost conectat sistemul prin intermediul cardului respectiv, numele gazdei și, după cum se arată mai jos, numărul de interfețe de rețea cu informațiile respective.
evaluarea bazei de date în Kali Linux
Kali Linux permite testarea bazelor de date MySQL, Oracle și Microsoft MSSQL pentru vulnerabilități precum SQL injection. Testele privind politicile de parolă și verificările implicite ale parolei sunt, de asemenea, acceptate de unele instrumente.
SQLMap
sqlmap este un instrument elegant în Kali Linux, care este capabil de a efectua diverse teste de injecție SQL împotriva unui cuplu de baze de date, cum ar fi PostgreSQL, MSSQL, Oracle și MySQL. Este capabil să detecteze și să exploateze defectele detectate, făcându-l un instrument foarte comun pentru atacatori și testeri. SQLMap vă poate ajuta rapid în efectuarea următoarelor atacuri, care altfel ar fi dificile și consumatoare de timp:
- Inferential Blind SQL injection
- Union query SQL injection
- Stacked query SQL injection
- time-based blind SQL injection
pe sistemul nostru Kali Linux, am executat comanda de mai jos pentru a încerca să descoperim informații despre Baza noastră de date de bază în cadrul sistemului nostru țintă.
# sqlmap -u "http://192.168.0.30/mutillidae/index.php?page=view-someones-blog.php" --forms --batch --dbs
rezultatul de mai sus ne arată bazele de date disponibile și, de asemenea, ne permite să cunoaștem parametrii injectabili din aplicația noastră Web la adresa URL dată.
pentru a găsi conținutul bazei de date „owasp10”, vom emite comanda de mai jos:
# sqlmap -u "http://192.168.0.30/mutillidae/index.php?page=view-someones-blog.php" --forms --batch -D owasp10 –tables
opțiunea-D specifică baza de date de utilizat și-tables solicită sqlmap să listeze tabelele disponibile.
SQLMap oferă mult mai multe funcționalități care nu vor fi acoperite, dar pe care ar trebui să le verificați în documentația de ajutor cu comanda „sqlmap-h”.
există și alte instrumente, cum ar fi SQLNinja, care sunt similare în funcționalitate cu SQLMap.
concluzie
după ce ați cartografiat vulnerabilitățile folosind instrumentele disponibile discutate mai sus, puteți trece acum la următoarea fază care în timpul unui test de penetrare sau atac ar fi exploatare. Cu toate acestea, ați putea fi interesat doar de enumerarea vulnerabilităților pentru o evaluare a vulnerabilității. În acest caz, instrumentele de mai sus vor funcționa.