Bună, sunt inamicul: Perspective diferite asupra unui pentest


Pornim o serie de articole care prezintă diferite unghiuri în abordarea unui pentest.

Să începem prin a defini ce este un test de acest fel. Un pentest este un proces de audit ce implică efectuarea de atacuri controlate împotriva mecanismelor de apărare ale mediului, analizat în scopul de a identifica orice tip de vulnerabilitate.

Atunci când o persoană care nu lucrează în domeniul IT întreabă despre acest proces, pentru a-l înțelege mai bine, este o idee bună să i se prezinte conceptul prin comparația cu filmul Jaf în stil italian, unde unul dintre personaje începe să “atace” un seif, pentru a testa cât de sigur este acesta.

[embed]https://youtu.be/thjtHfVkPAU[/embed]

 

În momentul în care se efectuează acest tip de test, este necesară combinarea utilizării metodologiilor “convenționale” – sau formale – cu  “arta” atacatorului (prin punerea în locul acestuia). Acest lucru înseamnă că putem folosi OSSTMM (Open Source Security Testing Methodology Manual) sau OWASP (Open Web Application Security Project) ca bază pentru munca de testare.

Utilizarea metodologiilor formale ne permite să reproducem procesele și procedurile în funcție de diferiții clienții. Dar acest lucru nu este de ajuns.

Atunci când un profesionist de securitate trebuie să se confrunte cu sisteme de apărare complexe sau, pur și simplu, are de-a face cu caracteristicile individuale ale fiecărei companii, este necesar să utilizeze toate “puterile magice” ale acestora.

Să dăm câteva exemple pentru a ilustra diferitele cazuri.

Atacurile pe toate fronturile

Într-un proces de audit pentest începem prin a defini ținta. În conformitate cu diferitele metodologii, această fază poate avea mai multe denumiri, dar cel mai important lucru este reprezentat de concept: pentru a descoperi toate informațiile organizației sau ale sistemului înainte de a se începe atacul.

Din motive variate, aceasta simbolizează cea mai importantă parte. Tipurile de audit sau de pentest pot fi clasificate în funcție de cât de multe informații sunt oferite de către organizație în avans:

  • În cazul în care sunt deținute informații detaliate în avans, este folosit termenul White Box.
  • Dacă sunt primite informații parțiale în avans din partea organizației, situația este definită drept Grey Box.
  • Auditurile efectuate fără nici un fel de informații în avans oferite de către companie, fac parte din categoria Black Box.

Să ne imaginăm o companie tipică a cărei site este găzduit într-un mediu extern. Compania ne contractează pentru efectuarea unui pentest de tip Black Box (fără informații în avans) și descoperim adresa IP a furnizorului de servicii de găzduire. Noi nu avem permisiunea de a efectua un atac de rețea împotriva acestui server, deoarece site-ul este pe un server partajat. Prin urmare, ar fi o greșeală să se definească sau să se pregătească un atac din acest unghi.

Un alt exemplu ar putea fi reprezentat de o situație în care compania are un site găzduit de un serviciu de găzduire, dar la efectuarea WHOIS se descoperă că înregistrarea MX a serverului de mail este stocată pe un IP al unui ISP (Furnizor de servicii de internet) regional.

Sau există posibilitatea ca MX să fie la același furnizor de servicii de găzduire, dar înregistrarea SPF (Sender Policy Framework) arată o adresă IP “externă” față de furnizorul de servicii de găzduire. Aceasta este linia de atac ce trebuie utilizată: adresa IP a companiei și nu cea a serverului web extern.

Dacă realizați această parte fără a obține adresa IP “reală” a țintei, puteți opta pentru trimiterea unui e-mail către companie. Spre exemplu, se pot solicita anumite informații legate de afaceri. Deseori, pot fi identificate servere de mail prost configurate încă de la început, unde poate fi găsită adresa IP a conexiunii de ieșire pentru mail chiar din antetul e-mailului.

În alte cazuri, se poate verifica site-ul companiei în căutarea unui link către intranet, extranet, o zonă de client, HR sau similare, unde vor fi indicate resursele externe pentru serviciul de găzduire; aplicația frecvent întâlnită, ce rulează pe serverul companiei și nu CMS-ul front-end al serverului web.

Pentru a naviga pe site, poate fi utilizat fie un Spider, cum ar fi Burp Proxy sau se poate naviga în mod manual. Desigur, este nevoie să se treacă prin fișierul robots.txt file și să se încerce o zonă de transfer cu un utilitar precum HackerTarget.

Odată ce adresa IP a “sediului central” sau a liniei de date principale a fost identificată, putem folosi serviciul WHOIS menționat mai sus pentru detectarea tuturor seturilor de adrese închiriate de către companie.

De obicei, companiile mijlocii au o mulțime de adrese IP publice și au tendința de a le “proteja” pe cele principale, acelea care prezintă cea mai mare expunere și serviciile care rulează pe acestea.

Un alt aspect important în momentul în care se lucrează în faza de recunoaștere inițială este observarea capacităților. Efectuarea testelor într-un mediu extrem de sigur, nu este la fel precum testarea unei companii despre care se cunoaște dinainte că nu are nici un mecanism de securitate.

Ce se întâmplă dacă trebuie să abordăm un mediu moderat în securitate?

Într-un mediu moderat din punct de vedere al securității, cu firewall-uri web și sisteme de detecție sau de prevenire, trebuie să fim precauți în ceea ce privește executarea testelor pentru aplicațiile web, scanarea de porturi, atacuri de tip forță brută și așa mai departe. Sistemele sunt predispuse la detectarea “zgomotului” pe care îl facem și va activa un mod defensiv, astfel încât cercetarea în cazul definirii procesului de atac să fie una minimă.

De exemplu, putem utiliza un browser pe rețeaua Tor și putem trimite interogări de la un user-agent malițios, cum ar fi Nikto, Openvas sau alte versiuni similare. Putem executa un atac de bază XSS/SQLi, rula o scanare de port standard, încerca forța brută împotriva serviciilor necontrolate și trimite 10 interogări pe secundă.

În funcție de rezultate, putem configura utilitarele folosite pentru a asigura o evaziune mai mult sau mai puțin profundă. Trebuie ținut cont de faptul că sarcinile de evaziune tind să necesite mai mult timp, iar o scanare mai lentă din rețeaua Tor – rețeaua fiind deja lentă – poate dura mai multe ore în cadrul proiectului.

În calitate de auditori, vrem să “pătrundem în castel” prin orice modalitate. În general, castelul va avea un zid, o poartă rezistentă și o defensivă frontală bună, astfel încât, în cazul în care nu este posibilă intrarea pe ușa din față, se va recurge la încălcarea acestei apărări prin atacarea pe toate fronturile. Trebuie încercată pătrunderea prin toate mijloacele posibile, inclusiv prin a ocoli ușa, a crea un tunel sau a intra pe fereastră…

Atunci când o companie solicită consiliere cu privire la tipul de audit sau de pentest pe care să îl aleagă, de recomandat este întotdeauna Black Box (fără informații în avans). Au fost întâmpinate cazuri cu organizații cu aveau 10 adrese IP publice, care doreau să facă un audit pentru cea mai expusă dintre acestea și au fost identificate defecte serioase de securitate la restul adreselor.

Acesta este un mod greșit de abordare a problemei, deoarece un atacator dintr-o țară îndepărtată, care nu caută să atace o anumită organizație, ci mai degrabă să găsească una predispusă la atacuri, nu face distincția între adresele IP care se termină cu 103, 104, or 105…

O recomandare ar fi atacarea sau auditul întregului set. Procesul de audit Black Box necesită aprobarea din partea clientului, în conformitate cu cele spuse mai sus. Nu vom ataca un partener sau un furnizor fără o permisiune obținută în prealabil.

În următorul articol din această serie, vom vorbi mai mult despre aceste “trucuri” sau abordări într-o altă fază a unui test de penetrare sau a unui pentest.

 

JOAQUÍN MOLINA

CORESPONDENT INDEPENDENT 

oana July 13, 2016

Lasa un comentariu