Academia Tehnică Militară Ferdinand I [628244]
NECLASIFICAT
NECLASIFICAT
din ROMÂNIA
MINISTERUL APĂRĂRII NAȚIONALE
Academia Tehnică Militară „Ferdinand I”
Facultatea de Sisteme Informatice și Securitate Cibernetică
Departamentul de Calculatoare și Securitate Cibernetică
Programul de Licență:
Calculatoare și Sisteme Informatice pentru Apărare și Securitate Național ă
Tehnici de testare și penetrare a securității rețelelor de calculatoare conectate
la rețeaua Internet folosind conceptul de RedTeam
CONDUCĂTOR ȘTIINȚIFIC:
Lect. dr. ing. Alin PUNCIOIU ABSOLVENT: [anonimizat]. Leonard -Florin SFETCU
Conține ___ _________file
Inventariat sub nr. ___ ___
Poziția din indicator: ____
Termen de păstrare: _ ____
NECLASIFICAT
NECLASIFICAT
din Cuprins
1. INTRODUCERE ………………………….. … Error! Bookmark not defined.
1.1. Rezumat ………………………….. ………………………….. …………………………. 3
1.2. Abstract ………………………….. ………………………….. …………………………. 3
1.3. Motivația lucrării ………………………….. ………………………….. …………….. 4
1.4. Obiectivele lucrării ………………………….. ………………………….. ………….. 4
1.5. Structura pe capitole ………………………….. ………………………….. ………… 5
1.6. Acronime. Abrevieri. Notații. Definiții ………………………….. ………….. 6
1.7. Prezentarea conceptuală a testării de penetrare ………………………….. .. 7
1.8. Prezentarea conceptului de Red Teaming ………………………….. ……….. 9
2. Arhitect ura generală a unei rețele de calculatoare conectată la Internet 10
2.1. DMZ ………………………….. ………………………….. …………………………. 11
2.2. Firewall ………………………….. ………………………….. …………………….. 12
2.3. IDS/IPS ………………………….. ………………………….. …………………….. 13
2.4. Switch ………………………….. ………………………….. ……………………….. 14
2.5. VLAN ………………………….. ………………………….. ……………………….. 15
2.6. Router ………………………….. ………………………….. ……………………….. 16
2.7. Proxy ………………………….. ………………………….. ………………………… 17
2.8. VPN ………………………….. ………………………….. ………………………….. 18
3. Studiu tehnic al tehnicilor de testare a rețelelor ………………………….. ….. 20
3.1. Prezentarea etapelor testării de penetrare ………………………….. ……… 22
3.2. Soluțiile tehnice cel mai des utilizate ………………………….. …………… 24
3.3. Prezentarea scenariului de testare ………………………….. ………………… 39
3.4. Desfășurar ea scenariului ………………………….. ………………………….. … 46
4. Concluzii și perspective ………………………….. ………………………….. ………. 53
5. Bibliografie ………………………….. ………………………….. ……………………….. 54
NECLASIFICAT
NECLASIFICAT
din
1. INTRODUCERE
1.1. Rezumat
Prezenta lucrare reprezintă o introducere în domeniul securității informatice.
Aceasta prezintă noțiuni legate de testarea de penetrare a rețelelor de calculatoare
folosind conceptul de red team. În cadrul lucrării sunt detaliate aspecte ce țin de
metodologia de testare , atât din punct de vedere teoretic, cât și într -o manieră
practică.
La nivelul lucrării se realizează familiarizarea cititorului cu termenii tehnici
specifici domeniului , urmând ca pe parcurs să se intre în problematici mult mai
punctuale ce țin de zona tehnică. În acest sens, lucrarea prezintă o diagramă
conceptuală care modelează o rețea de calculatoare, pe baza căreia se vor discuta
aspecte ce țin de securitatea informatică. În final, lucrarea prezintă o situație ipotetică
asupra căreia se vor aplica noțiunile menționate în prima parte , exemplificând astfel
desfășurarea unei testări de penetrare.
1.2. Abstract
This paper is an introduction in In formation Security field. It presents notions
related to pentesting and red teaming. In the paper are detailed aspects related to
pentesting methodology, both theoretically and technically. The paper purpose is to
familiarize the reader with specific technical terms and then to approach more
technic al issues specific to the field of IT security.
Thus, the paper presents a diagram which models a general computer network
architecture on the edge of which are discussed information security related subjects.
Finally, the paper presents a hypothetical scenario in which are used the theoretical
notions prese nted at the beginning to conduct an experimental pentesting assessment .
NECLASIFICAT
NECLASIFICAT
din 1.3. Motivația lucrării
Emergența sistemelor informatice , precum și tendința de interconectare a
acestora , au favorizat apariția unor noi provocări. Securitatea sistemelor informatice
a devenit un obiectiv prioritar ce trebuie avut în vedere la proiectarea unui nou sistem
sau actualizarea celor existente. Din când în când apar povești despre mari companii
ce au fost victime ale unor atacuri cibernetice . În cele mai multe cazuri, atacatorii nu
folosesc cele mai noi vulnerabilități descoperite sau așa numitele ”zero day
vulnerability ”. Din rapoartele celor mai cunoscuți actori din domeniul apărării
cibernetice, marile companii, în ciuda bugetelor generoase alocate securizării, suferă
daune semnificative pe baza unor vulnerabilități foarte cunoscute , precum SQL
Injection, ori sunt viza te de campanii de social -engineering , ori pur și simplu devin
vulnerabile prin utilizarea unor parole slabe pentru servicii le conectate la Internet.
Astfel, motivația alegerii prezentei lucrări de diplomă rezultă dintr -o reacție
firească la noile provocăr i ale secolului 21, unde războaiele nu se mai duc pe câmpul
de luptă, ci se desfășoară într-un spațiu complex numit spațiu cibernetic. Marii actori
statali duc împotriva inamicilor ceea ce numim în ziua de astăzi ”război hibrid”.
Această nouă abordare privind noțiunea de război implică o activitate în spațiul
cibernetic extrem de intensă . Această activitate poate conduce la blocarea sistemelor
publice ale unui stat, compromiterea diverselor capabilități de apărare (lansatoare de
rachete, turnuri de control), blocarea sistemelor energetice naționale etc. Evident ,
toate aceste efecte pot duce la punerea în pericol a vieților omenești, iar ca viitor
specialist în sisteme informatice al Armatei României mă văd nevoit să acord un
interes major domeniului de securitate informatică.
1.4. Obiectivele lucrării
Lucrarea își propune să familiarizeze testerul cu noțiunile legate de pentesting,
red teaming, tehnici utilizate pentru testarea rețelelor de calculatoare și aplicațiilor,
arhitectura generală a unei rețele de calculatoare , tipuri de echipamente de protecție
precum și cu metodologia de testare pe care trebuie să o aplice.
Finalitatea lucrării este reprezentată de un scenariu fictiv pe baza căruia
elementele teoretice sunt puse în practică într -o manieră simplă, dar bine
documentată. Fiecare etapă pe care testerul trebuie să o parcurgă în cadrul scenariului
NECLASIFICAT
NECLASIFICAT
din prezintă mici secțiuni unde sunt explicate oportunitatea utilizării an umitor soluții
software, scopul utilizării acestora și modul cum acționează asupra sistemului
informatic vizat. În urma acestui experiment se va putea aprecia nivelul de securitate
implementat la nivelul sistemelor informatice implicate.
Astfel, ultimul ob iectiv este cel legat de sedimentarea unor aptitudini practice în
ceea ce presupune procesul de pentesting.
1.5. Structura pe capitole
Lucrarea este structurată pe cinci capitole , dispuse într -o ordine logică, care
urmăresc atingerea obiectivelor menționate an terior.
În primul capitol sunt prezentate aspecte ce țin de motivația alegerii acestei lucrări
de diplomă , obiectivele pe care lucrarea și le stabilește, precum și o scurtă prezentare
a modului cum lucrarea a fost proiectată pe capitole. În continuare, pri mul capitol
abordează două subiecte teoretice care explică din punct de vedere conceptual
elementele specifice testării de penetrare, precum și cele legate de red teaming.
Cel de -al doilea capitol abordează un subiect mai apropiat zonei tehnice care se
referă la prezentarea unei arhitecturi generale de rețea de calculatoare. În cadrul
acestui capitol este expusă o diagramă care modelează arhitectura de rețea propusă
spre analiză. Pe baza acestei diagrame sunt luate în discuție o serie de măsuri de
siguranță ce se pot regăsi într -o rețea , fiecare element fiind discutat individual.
Al treilea capitol prezintă în prima parte metodol ogia de testare prin abordarea
fiecărei etape în mod individual și explicarea pe larg a implicațiilor acest eia. În cea
de-a doua parte a capitolului trei , lucrarea prezintă cele mai cunoscute instrumente
software pe care comunitatea specialiștilor în secur itate informatică le utilizează.
Prezentarea instrumentelor se face în concordanță cu etapele stabilite de metodologia
de testare , încercând să se facă o clasificare a acestora în funcție de oportunitatea
utilizării. În ultima parte a capitolului se realiz ează o testare de penetrare
experimentală pe baza unui scenariu fictiv descris la nivelul acestui capitol.
Al patrulea capitol prezin tă concluziile finale și perspectivele de dezvoltare ale
temei abordate în cadrul pro iectului de diplomă.
NECLASIFICAT
NECLASIFICAT
din 1.6. Acronime. Abrevieri. Notații . Definiții
SQL Structured Query Language
IDS/IPS Intrusion Detection/Prevention System
DMZ Demilit arized zone
DNS Domain Name System
DHCP Dynamic Host Con figura tion Protocol
VPN Virtual Private Network
WAF Web Application Firewall
XSS Cross -site scripting
HTTP Hypertext Transfer Protocol
NIDS Network Intrusion Detection System
CAM Content Addressable Memory
MAC Media Access Control
VLAN Virtual Local Area Network
IEEE Institute of Electrical and Electronics Engineers
ISO-OSI International Organization for Standardization – Open
Systems Interconnection
RIP Routing Information Protocol
EIGRP Enhanced Interior Gateway Routing Protocol
OSPF Open Shortest Path First
IS-IS Intermediate System to Intermediate System
BGP Border Gateway Protocol
IP Internet Protocol
IPsec Internet Protocol Security
AH Authentication Header
ISAKMP Internet Security Association and Key Management
Protocol
IKE Internet Key Exchange
SSL Secure Sockets Layer
WEP Wired Equivalent Privacy
WPA PSK Wi-Fi Protected Access Pre -Shared Key
URL Uniform Resource Locator
PHP Php: Hypertext Preprocessor
PDF Portable Document Format
NSE Nmap Scripting Engine
CVE Common Vulnerabilities and Exposures
XML Extensible Markup Language
NECLASIFICAT
NECLASIFICAT
din FPDF Free PDF
TCP Transmission Control Protocol
UDP User Datagram Protocol
BSOD Blue Screen Of Death
RAM Random Access Memory
PID Process Identification number
ESP Encapsulation Security Payload
1.7. Prezentarea conceptuală a testării de penetrare
Testarea de penetr are reprezintă realizarea de teste manuale sau automate ,
având drept țintă sisteme informatice, rețele de calculatoare sau aplicații web, cu
scopul de a descoperi vulnerabilități pe care un atacator real le p oate exploata. Testele
de penetrare sunt realizate de persoane specializa te, cunoscute și sub denumirea de
”ethical hackers ” ori ”white hat hackers ”.
Scopul principal al testelor de penetrare îl reprezintă descoperirea
vulnerabilităților în vederea stabilirii nivelului de securitate al infrastructurii
informatice vizate . Ceea ce face testarea de penetrare mult mai eficientă decât alte
tipuri de teste este asigurarea unui mediu care să simuleze exact condițiile în care
sistemele se află în timpul unui atac real. Această abordare a securității sistemelor
informatice din perspectiva atacatorului duce la descoperirea vectorilor de atac ce ar
putea fi folosiți împotriva sistemelor evaluate. Astfel, principalul beneficiu adus de
testele de penetrare îl reprezintă descoperirea timpurie a punctelor slabe înaintea unor
atacatori adevărați care ar putea periclita confidențialitatea , integritatea sau
disponibilitatea sistemelor informatice .
Testarea de pen etrare nu se rezumă îns ă doar la încercări de a trece de sistemele
de securitate implementate la nivelul unei organizații. Având în vedere faptul că
există atât persoane specializate care lucrează pe cont propriu, dar și firme care au
drept domeniu de activitate consultanț a în domeniul securit ății informatic e, produsul
final obținut în urma contractării unui serviciu de testare a securității informatice este
reprezentat de o serie de rapoarte tehnice care să reflecte starea de secur itate a
sistemelor evaluate la un anumit moment de timp. Statisticile arată că peste 50%
dintre afaceri le mici sunt vizate de atacuri cibernetice, iar în jur de 60% din tre acestea
ajung să dea faliment în primele 6 luni ("According to the U.S. National Cyber
Security Alliance, 60 percent of small businesses go bankrupt six months after a
NECLASIFICAT
NECLASIFICAT
din cyberattack," said Lamar Smith, R -Texas., chairman of the House Science, Space
and Technology Committee) . Se observă astfel nevoi a tot mai acută de a inve sti în
securitatea sistemelor informatice , lucru ce trebuie făcut într-un mod profesionist,
întrucât instalarea unui antivirus și a unui firewall este insuficientă pentru garantarea
protecției informatice. Pe baza rapoarte lor generate în urma tes tării de penetrare ,
factorii decizionali ai organizației pot observa cu ușurință ce zone de securitate
necesită investiții suplimentare , concentrându -se către adevăratele probleme de
securitate ale organizației.
Un alt beneficiu adus de testarea de penetrare îl rep rezintă asigurarea unei
viziuni din exterior asupra securității . De cele mai multe ori, partea de securitate
informatică es te asigurată de specialiștii departamentului de IT ai organizației. Faptul
că nu se solicită o a doua opinie referi toare la măsurile necesare a fi luate pentru a
asigura protecția informatică a organizației poate duce la apariția unor puncte slabe
la nivelul securității informatice. La fel cum viteza unui sistem de calcul este dată de
cea mai lentă componentă a acestuia, nivelu l de protecție împotriva amenințărilor
informatice este stabilit de cel mai vulnerabil element al sistemului informatic , fiind
astfel suficientă o mica scăpare pentru a compromite un întreg sistem . Specialiștii
organizației responsabili de asigurarea protecției informatice pot face greșeli , ca
oricare alții , de aceea solicitarea unui punct de vedere din exteriorul companiei
devine un lucru ce trebuie luat în calcul cu prioritate .
Din punct de vedere financiar, deși la prima vedere pare contra -intuitiv,
contractarea de servicii de testare a securității poate reduce foarte mult costurile
totale alocate protecției informatice. Direc ționarea precisă a bugetului pentru
securitate informatică pe baza rezultatelor obținute în urma testării de penetrare
optimizează costurile . Reducerea riscului ca sistemul informatic al organizației să fie
victima unui atac cibernetic în urma căruia informații sensibile să fie compromise ,
iar clienții să își piardă astfel încrederea în compa nie, se transformă în câștiguri în
calculele financiare anuale.
NECLASIFICAT
NECLASIFICAT
din 1.8. Prezentarea conceptului de Red Teaming
În ceea ce privește conceptul de Red Team , acesta face referire la totalitatea
acțiunilor ofensive desfășurate împotriva unei anumite ținte , având scopul de a prelua
controlul asupra acesteia . În domeniul securității informatice, Red Teaming
reprezintă o particularitate a testării de penetrare . Dacă în c azul testării de penetrare
finalitatea o reprezintă descoperirea a cât mai multor vulnerabilități pe care
beneficiarul să fie în măsură să le securizeze, Red Teaming -ul are drept scop
îndeplinirea obiectivului stabilit împreună cu beneficiarul cu orice preț și cu orice
mijloace.
Principal ii clienți ai serviciilor de Red Teaming sunt de obicei companii
mature care își doresc să testeze capacitatea de reacție a propriilor echipe de
securitate în condiții reale ale unui atac cibernetic sau chiar să î și antreneze echipele
de securitate sub îndrumarea echipei ce desfășoar ă operațiuni de Red Teamin g.
Figura 1.8.1
Așa cum reiese și din Figura 1.8.1, desfășurarea unei operațiuni de Red Team
presupune un proces laborios pe parcursul căruia trebuie urmați o serie de pași.
Obiectivul pe care testarea și-l propune să îl atingă este stabilit împreuna cu
beneficiarul . Totodat ă, informațiile la care echipa de testare are acces încă de la
început sunt stabilite în faza incipientă când are loc încheierea unei înțelegeri între
părți. Pentru a-și îndeplini misiunea, Red Tea m uzează de tactici, tehnici și proceduri
observate în atacuri reale . O acțiune de Red Teaming condusă împotr iva unei
organizații cu scopul de a -i stabili nivelul de securitate presupune un atac concentrat
NECLASIFICAT
NECLASIFICAT
din și coordonat asupra mai multor zone de securitate. Zonele de securitate asupra cărora
operează testarea sunt compuse din trei componente: tehnologic, fizic și uman. Din
punct de vedere tehnologic, o testare profesionistă va pune sub presiune sistemele de
apărare hardware și software constituite din firewall -uri, switch -uri, routere,
antivir uși, sisteme de prevenire și dete cție a intruziunilor etc.
Pentru a facilita ofensiva împotriva organizației vizate, echipa de testare poate
recurge la verificarea sistemelor fizice de apărare a le beneficiarului, încercând să se
infiltreze în zone cu acces restricționat prin clonare de carduri de acces , introducerea
de echipamente hardware de spionaj, ori infectarea din interior a sistemelor. Factorul
uman reprezintă un element complementar celor enunțate anterior, care poate deveni
chiar un factor decisiv. Prin tehnici de social -engineering , se pot obține informații
prețioase chiar de la angajații companiei cu privire la politicile de securitate .
2. Arhitectura generală a unei rețele de calculatoare conectată la
Intern et
O abordare des întâlnită în mari le organizații o reprezintă proiectarea de rețele
de calculatoare , având în minte principiul apărării în profunzime . Acest principiu
presupune existența unor soluții de securitate multiple în cadrul rețelei, dispuse în
mai multe puncte, realizând o apărare în cascad ă împotriva eventualelor amenințări
la care rețeaua va fi supusă. Practic, o infrastructură critică este apărată de o serie de
soluții software și hardware (an tivirus, host firewall, switch, router, network firewall,
IDS/IPS etc) dispuse pe mai multe niveluri în așa manieră încât, compromiterea unui
nivel de securitate nu va crea o expunere totală a rețelei în fața atacatorului, ci doar
o slăbire a capacității d e apărare cibernetică. Această abordare s -a dovedit a fi o
alegere eficientă deoarece atacatorul este încetinit suficient de mult timp pentru ca
echipa de răspuns la incidente informatice să contracareze acțiunile ostile și să
protejeze sistemul informatic .
Pentru a prezenta principiul de apărare în profunzime într-o manieră cât mai
realistă, este propusă arhitectura de rețea din Figura 2.1. Prin intermediul acest ei
diagrame se urmărește prezentarea un ui model de rețea ce se poate regăsi într -o
organizație de dimensiune mare , care pune la dispoziția utilizatorilor o serie întreagă
de servicii , dar și modalități de apărare împotriva atacurilor informatice.
NECLASIFICAT
NECLASIFICAT
din
Figura 2.1
2.1. DMZ
O practică des întâlnită în organizații o reprezintă separare a logică sau fizică a
unei rețele locale interne de rețeaua Internet sau alte rețele care nu sunt de încredere.
Pentru a realiza această segregare , se stabilește o zonă demilitarizată în interiorul
căreia se regăsesc serverele care interacționează cu Internetul. Exemplul propus de
Figura 2.1 prezintă o astfel de zonă ce conține servere c are pun la dispoziția
utilizatorilor din Internet, dar și a celor din rețeaua local ă, o serie de servicii precum
Email , DHCP, DNS , File Server , precum și un concentrator VPN . Deoarece aceste
servicii sunt accesibile din exteriorul rețelei , probabilitatea de a fi ținta unor atacuri
este extrem de mare.
Pentru a securiza serverele din zona demilitarizată , acestea sunt protejate cu
ajutorul unor soluții dedicate , precum WAF , dispozitiv de nivel 7 , specializat în
analiza rea traficului HTTP și blocarea atacurilor de tipul XSS, SQL Injection și
altele . De asemenea, sunt utilizate și Email Security Appliance , soluție software sau
hardware folosită pentru a bloca emailurile cu conținut malițios , precum și Honeypot ,
un sistem care colectează informații despre traficul generat de persoane rău
intenționate ce interacționează cu serviciile puse la dispoziție în zona demilitarizată.
NECLASIFICAT
NECLASIFICAT
din 2.2. Firewall
Așa cum se observă și în Figura 2.1, zona demilitarizată este delimitată de
doua dispozitive firewall. Un firewall este un sistem ce realizează protejarea rețelei
de calculatoare prin filtrare a traficului pe baza un ui set de reguli definite de utilizator.
Există diferite tipuri de sisteme firewall ; unele pot filtra traficul numai în funcție de
adresele sursă și destinație, portul utilizat, precum și protocolul folosit de acesta,
fiind cunoscut sub denumirea de stateless firewall sau packet firewall.
Totodat ă, există sisteme firewall mai noi , care sunt capabile să observe traficul
nu doar ca o înșiruire de pachete individuale , ci din perspectiva conexiuni lor ce se
realizează între clien t și server pe baza pachetelor de control trimise între entitățile
implicate în comunicație . Acest sistem este denumit stateful firewall. Scopul
principal al unui sistem firewall este de a reduce traficul nedorit . Deși este un sistem
puternic ce oferă o protecție sporită rețelei printr-o configura re corespunzătoare,
existența firewall -ului ca unic sistem de protecție nu este recomandat ă. Dispunere a
celor dou ă dispozitive firewall din diagrama prezentată anterior reprezintă un
exemplu de bune practici întâlnit în industria IT .
Justificarea acesteia este următoarea:
– protejarea zonei demilitarizate de eventuale atacuri provenite din exterior
prin intermediul firewall -ului cel mai apropiat de Internet
– protejarea rețelei interne de cel de -al doilea firewall, în cazul în care zona
demilitarizată a fost compromisă
Această dispunere respectă principiul apărării în profunzime deoarece o
compromitere a primului firewall nu va afecta securitatea întregii rețele . Astfel,
rămân suficiente mecanisme de protejare a acesteia peste care un atac cibernetic va
trebui să treacă pentru a ajunge să afecteze re țeaua internă.
NECLASIFICAT
NECLASIFICAT
din 2.3. IDS/IPS
Segmentarea re țelei și utilizarea echipamentelor firewall care să filtreze traficul
nu garantează un nivel de securitate satisfăcător. Chiar și un stateful firewall poate fi
„păcălit ” de anumite conexiuni ce generează trafic în rețea , permițând astfel trecerea
pachetelor . În acest caz, o soluție ce se încadrează în paradigma apărării în
profunzime este reprezentată de introducerea unui nou nivel de securitate ,
reprezentat de IDS/IPS .
Analizând diagrama rețelei din Figura 2.1, se observă că sistemul de detectare și
prevenire a intruziunilor în rețea este plasat cât mai aproape de rețeaua externă ,
Internetul, care nu este de încredere. Sistemele de detectare și prevenire a
intruziunilor sunt dedicate atât rețelelor, cât și dispozitivelor gazdă (calculatoare
personale, servere) sub denumirea de HIDS . Scopul celor dou ă tipuri de sisteme este
similar: analizează activitatea rețelei sau a dispozitivului gazd ă, iar în cazul în care o
amenințare este detectată, sistemul blochează sursa atacului. Atât NIDS, cât și HIDS
cataloghează traficul sau aplicațiile care rulează drept normale sau malițioase pe baza
semnăturilor și a comportamentului acestora .
Observarea b azată pe semnături utilizează o bază de date ce conține semnăturile
tuturor atacurilor cunoscute, iar o potrivire între o înregistrare din baza de date cu
cea observată în rețea sau pe computer va declanșa o alertă, traficul ori aplicația
vizată fiind bloc ate înaintea producerii de pagube. Această modalitate de operare a
IDS/IPS prezintă o rată destul de scăzută a alarmelor false generate de traficul normal
sau activitatea normală a unui dispozitiv de calcul etichetate ca fiind malițioase .
Apariția unui ata c ce nu se regăsește în baza de date nu va genera nicio alarmă , fiind
deci vulnerabil.
Cel de -al doilea mod de operare al sistemelor de detectare și prevenire a
intruziunilor se bazează pe analiza comportamentală . Apariția unui trafic suspect
care în mod normal nu ar fi existat pe un anumit port sau către un anumit serviciu,
ori apelarea unor funcții de sistem, deschiderea anormală de fișiere, modificarea
regiștrilor face ca IDS/IPS să considere activitatea ca fiind malițioasă . În acest
context, sistemul I DS/IPS va bloca sursa generatoare de evenimente anormale.
Comparativ cu modul de operare bazat pe semnături, acesta prezintă o rata mai mare
de apariție a alarmelor false . Inexistența unei baze de date cu care s ă compare atacu l
face ca sistemul să fie mult mai sigur în cazul unui nou tip de amenințare.
NECLASIFICAT
NECLASIFICAT
din 2.4. Switch
Un alt echipament de rețea utilizat în arhitectura de rețea propusă în Figura 2.1
este switch -ul. Rolul acestui echipament este de a interconecta dispozitivele aflate în
aceeași rețea . Spre deosebire de echipamentele folosite în trecut (hub, bridge), care
extindeau domeniile de coliziune , încetinind astfel comunicația, switch -urile
realizează comutarea cadrelor în interiorul rețelei într -un mod inteligent. Ceea ce stă
la baza comutării ”inteligente” a cadrelor este tabela CAM .
CAM este un tip special de memorie care poate realiza căutări paralele cu o viteză
foarte mar e. Adresele MAC ale dispozitivelor conectate la porturile switch -urilor
sunt stocate în tabelele CAM, iar pe baza acestora se iau deciziile privind comutarea
cadrelor în interiorul rețelei. Popularea tabelei de comut are se face în mod dinamic,
pe măsură ce dispozitivele conectate comunică. Această funcționalitate a switch -ului
asigură eliminarea coliziunilor între cadre, domeniul de coliziune fiind redus la
minimum , așa cum se poate observa și în Figura 2.4.1 .
Figura 2.4.1
În ceea ce privește modul de comutare , switch -urile utilizează metodele Cut –
Through , Store and Forward și Fragment -Free Switch ing.
Cea dintâi metoda este mai rapidă deoarece nu așteaptă primirea întregului cadru
pentru a -l comuta. Este de ajuns să primească doar o parte din cadru l Ethernet care
să conțină câmpu l de adresă destinație pentru a lua decizia comutării acestuia pe
interfața corespunzătoare , fără alte verif icări. Acest mod de comutare are avantajul
vitezei mari de transmisie, însă rata erorilor este mai mare comparativ cu metoda
Store and Forward.
Cea de -a doua metodă este mai lentă deoarece principiul de funcționare are în
vedere să comute doar cadrele valide . Prin metoda Store and Forward se salvează
fiecare cadru primit într -o memorie temporară, se calculează suma de control, iar în
cazul în care se verifică cu suc ces integritatea cadrului , acesta este comutat pe
interfața corespunzătoare. Ultima metodă de comutare este o formă avansată a Cut –
NECLASIFICAT
NECLASIFICAT
din Through, care combină modul de funcționare de bază cu citirea a cel puțin 64 de
octeți din cadru. Această dimensiune reprezintă lungimea minimă a unui cadru
Ethernet valid, îmbunătățindu -se astfel rata erorilor generată de comutarea unor
cadre incomplete.
2.5. VLAN
Aspectele ce țin de securitatea rețelelor sunt prezente și la nivelul switch -urilor.
Faptul că traficul generat de un dispozitiv este direcționat în cea mai mare parte doar
către omologul său cu c are este angrenat în comunicație îmbunătățește semnificativ
securitatea rețelei . Un atac ce are drept scop analiza pasivă a traficului din rețea
(sniffing) este mai dificil de realizat decât în cazul hub-urilor.
Switch -urile performante pun la dispoziția utilizatorului posibilitatea de a fi
administrate , atât local, cât și la distanță. O caracteristică importantă din perspectiva
securității informatice o reprezintă introducerea standardului IEEE 802.1Q . Acesta
asigură o metodă de virtualizare a rețelelor locale bazată pe etichetare (VLAN
tagging). Practic, se creează o rețea logică (VLAN) care conține o colecție de
dispozitive aparținând mai multor rețele fizice diferite.
Cu ajutorul VLAN -urilor se po t partiționa rețele mari fără a ține cont de
dispunerea lor fizică . Utilizarea VLAN -urilor aduce îmbunătățiri la capitolul ușurinț ă
în administrare, precum și controlul mult mai bun asupra dispozitivelor prin gruparea
într-un VLAN a celor ce comunică cel mai frecvent. Totodată, administratorul de
rețea poate pune restricții pe porturi pentru a limita accesul dispozitivelor în funcție
de adresa MAC, ori să dezactiveze anumite porturi ce nu sunt utilizate pentru a
preveni accesul neautorizat.
NECLASIFICAT
NECLASIFICAT
din 2.6. Router
Figura 2.6.1
După cum se poate observa în figura ce ilustrează arhitectura rețelei unei
companii, Figura 2.1, primul echipament de rețea ce interacționează cu Internetul
este router -ul. Acesta este un dispozitiv hardware de nivel 3 pe stiva modelului ISO –
OSI, care realizează interconectarea diferitelor rețele de calculatoare. Funcția de bază
pe care router -ele o îndeplinesc este aceea de rutare a pachetelor pe baza unei tabele
de rutare. Popularea acesteia se poate face atât manual, cât și dinamic.
Popularea manuală este realizată de către administratorul de rețea prin
introducerea rutelor statice direct în tabelă. Acest tip de rutare este cel mai sigur,
întrucât rutele stabilite nu sunt făcute publice. Totodată, introducerea manuală a
rutelor elimină consumu l adițional de resurse computaționale, precum și cel al lățimii
de bandă. Dificultatea apare atunci când vorbim despre rețele mari, deoarece această
metoda nu este scalabilă, iar în cazul în care un router devine indisponibil sau apare
o schimbare în topol ogie, toate rutele trebuie actualizate de administratorul de rețea.
Metoda dinamică de stabilire a rutelor se bazează pe existența unor protocoale de
rutare, precum RIP, EIGRP, OSPF, IS -IS, BGP. Prin intermediul acestora, router -ele
comunică între ele și se înștiințează reciproc cu privire la rețele pe care le pot accesa.
Pe baza acestor informații se aleg cele mai bune rute în mod dinamic, iar o modificare
de topologie nu va afecta funcționarea acesteia, routerele fiind capabile să găsească
alte căi, indi ferent de dimensiunea rețelei. În Figura 2.6.1 se poate observa o
exemplificare a modului de funcționare a protocoalelor de rutare dinamice prin
existența a 3 rute între sursă și destinație.
Metoda dinamică are la rândul său o serie de dezavantaje:
NECLASIFICAT
NECLASIFICAT
din • consumul de resurse computaționale generat de calculul optim al rutelor
• consum de lățime de bandă generat de pachetele trimise între router -e de
protocoalele de rutare
• nivel mai scăzut de protecție din cauza vulnerabilităților protocoalelor folosite.
2.7. Proxy
Serve rele Proxy sunt întâlnite frecvent la nivelul organizațiilor mari, însă există
și în afara acestora, ca serviciu separat. Rolul unui server proxy este de a intermedia
conexiunile între clienți și serverele cu resurse pe care încearcă să le acceseze. Astfel,
un client care dorește sa acceseze o anumită pagină web va trimite cererea către
serverul proxy. Acesta va comunica direct cu server -ul web solicitat fără ca
utilizatorul să fie implicat în conexiune. Utilizarea proxy urmărește o serie de
beneficii printre care:
• Ascunderea adresei IP a clientului
• Creșterea performanțelor prin stocarea resurselor cel mai des cerute
• Restricționarea accesului la a numite resurse precum și monitorizarea
traficului
• Ocolirea restricțiilor de securitate și filtrel or impuse de administratorii de
rețea
• Ocolirea restricțiilor regionale bazate pe filtrarea IP -urilor în funcție de
zona geografică în care clientul se află
În ceea ce privește tipurile de servere proxy, există câteva tipuri foarte bine
cunoscute, deși acestea variază foarte mult și asigură servicii dintre cele mai
complexe .
• Proxy anonim → ascunde identitatea celui ce solicită un serviciu,
înlocuindu -i adresa IP cu propria adresă
• Proxy cu anonimitate ridicată → asigură un grad de anonimizare ridicat
prin faptul că ascunde adresa IP original și nu se identifică ca fiind server
proxy , făcând ca resursa țintă să aib ă impresia că proxy -ul este de fapt
clientul
• Proxy transparent → unul dintre cele mai rar folosite tip uri, nu asigură
anonimitate ci doar intermediază conexiunile între clienți și resurse
NECLASIFICAT
NECLASIFICAT
din • Proxy inversat → utilizat în rețelele izolate pentru a intermedia cererile
dinspre Internet către clienții din rețeaua privată pentru a controla accesul
la date sensibile din exterior.
2.8. VPN
VPN reprezintă o modalitate prin care organizațiile stabilesc conexiuni sigure la
distanță pentru a crește mobilitatea angajaților sau pentru a spori securitatea
comunicațiilor între departamente, sedii, puncte de lucru etc. Din punct de vedere
tehnologic, VPN poate fi împărțit în două categorii: Site -to-site VPN și Remote
Access VPN. În funcție de nevoile organizației se identifică tipul de rețea privată ce
urmează a fi implementată.
În ceea ce privește Site -to-site VPN, dispozitive de rețea numite care asigură
funcționalitatea de concentratoare VPN (router, firewall, dispozitiv de sine stătător
etc.) se configurează astfel încât se realizează o conexiune criptată între două puncte
de lucru. Astfel, se realizeaz ă un „tunel” între cele două rețele, așa cum este prezentat
în Figura 2.8.1, ce are la bază mecanismele criptografice puse la dispoziție de
arhitectura IPsec .
În principiu, este vorba despre doua protocoale, unul utilizat în criptarea
pachetelor IP, denumit ESP și celălalt pentru semnarea digitală a pachetelor, denumit
AH. Se folosește totodată și un protocol numit ISAKMP, având doua versiuni IKEv1
și IKEv2 . Scopul acestuia este de a realiza asocierea de securitate în mod dinamic
prin obținerea unui set de c unoștințe comune participanților, referitoare la identitatea
acestora, seria exactă de algoritmi de criptare și de autentificare ce vor fi folosiți,
parametrii acestora și reprezentarea traficului ce va fi supus securizării prin IPsec.
Această modalitate de stabilire a unei rețele private face posibilă lipsa necesității
de a con figura rețele VPN pentru fiecare utilizator în parte din cadrul acestora, orice
dispozitiv aflat în spatele echipamentului de rețea ce realizează „tunelul” criptat fiind
în siguranț ă. Totodată, existența unui echipament ce realizează o rețea VPN Site -to-
site elimină necesitatea dispozitivelor din rețea de a efectua operațiuni criptografice
pentru criptarea traficului.
Astfel, gateway -ul VPN este responsabil de încapsularea și criptar ea traficului și
trimiterea acestuia printr -un „tunel” către gateway -ul VPN pereche al rețelei țintă.
NECLASIFICAT
NECLASIFICAT
din
Figura 2.8.1
Cea de -a doua tehnologie VPN este orientată în principal către angajații
companiilor ce realizează operațiuni de la distanță. Pentru a avea acces la resursele
rețelei interne ale organizației, angajații trebuie mai întâi să stabilească o conexiune
sigură p rin intermediul VPN. Spre deosebire de „tunelul” creat între două gateway –
uri, Remote Access VPN realizează conexiunea sigură între utilizator și gateway -ul
VPN al rețelei țintă.
Securizarea conexiunii se face utilizând suita de protocoale ale IPsec, precu m și
prin intermediul SSL. Pentru a stabili o rețea privată la distanță, este necesară
instalarea unui modul de client VPN care se va conecta la gateway -ul rețelei vizate
(Figura 2.8.2). Clientul se va ocupa de realizarea schimbului de date în vederea
stabil irii asocierii de securitate, precum și de criptarea propriu -zisă a traficului și
încapsularea pachetelor.
NECLASIFICAT
NECLASIFICAT
din
Figura 2.8.2
3. Studiu tehnic al tehnicilor de testare a rețelelor
În funcție de nivelul inițial de cunoștințe referitoare la sistemul informatic
vizat de testarea de penetrar e, se disting trei categorii principale de teste :
• Black Box
• Gray Box
• White Box
Black Box Testing → simulează cel mai bine un atac real asupra infrastructurii
informatice a unei companii. Inițial, ”a tacatorul” nu deține informații cu privire la
rețeaua pe care urmează să o testeze . Această abordare este foarte răspândită în
competițiile de securitate cibernetică sau în etapele de verificare periodică a
capacităț ii de atac si reacție a echipelor de specialiști în securitate informatică. În
urma căutărilor pe care le desfășoară, tester -ul va fi capabil să identifice modalități
prin care să compromită rețeaua studiată. Totodată, acest tip de testare se identifică
cel mai bine cu abordarea de tip Red team .
Gray Box Testing → acest tip de testare presupune cunoașterea preliminară a unei
serii de informații de bază precum adrese IP valide , date de autentificare a unor
NECLASIFICAT
NECLASIFICAT
din utilizatori etc. Având aceste informații, tester -ul poate determina tipurile de atacuri
la care rețeaua ar putea fi vulnerabil ă. Este o metodă eficientă prin care se poate
observa riscurile la care rețeaua este expusă în urma unor atacuri conduse de un
utilizator din interiorul rețelei.
White Box Testing → toate informațiile relevante despre rețeaua ce urmează a fi
testată sunt cunoscute încă de la început. Cunoașterea în detaliu a topologiei de rețea,
a IP-urilor alocate calculatoarelor etc poate evidenția riscurile de securitate la care
este supusă infrastructura informatică în cazul unui atac condus de un utilizator cu
drepturi de administrare.
Desfășurarea unui test de penetrare implică parcurgerea unei serii de pași.
Conform standardelor dezvoltate în domeniul securității infor matice, testarea de
penetrare presupune 6 faze:
Figura 3.1
Încheierea unui acord
Trebuie avut în vedere faptul că legea din România stabilește foarte clar faptul că
”Accesul, fără drept, la un sistem informatic se pedepsește cu închisoare de la 3 luni
la 3 ani sau cu amendă” ( [15] Art. 360 – Legea 286/2009 ). Astfel, întocmirea unor
NECLASIFICAT
NECLASIFICAT
din documente cu valoare juridică în care să fie specificate foarte clar ce anume îi este
permis tester -ului să testeze, ce își propune să testeze, perioada desfășurării tes telor,
riscurile pe care beneficiarul și le asumă (pierderea/coruperea de date, întreruperea
unor servicii, accesul la informații cu diferite grade de clasificare) este obligatorie.
3.1. Prezentarea etapelor testării de penetrare
Planificarea si culegerea de informații
Procesul de culegere de informații poate fi unul activ sau pasiv . Culegerea pasivă
de informații implică obținerea de date cu potențial de exploatare fără ca țint a să fie
conștientă că se află sub observație. Un exemplu extrem de simplu îl presupune
observarea intrării sediului unei companii pentru a studia programul de lucru al
angajaților. Totuși, obținerea de informații într -un mod pasiv se realizează de cele
mai multe ori prin căutări pe Internet folosind motoare de căutare precum Google.
Social Engineering reprezintă de asemenea o modalitate prin care un atacator
poate ajunge să aibă acces la infor mații sensibile despre victima sa. Procedeul de
captare a traficului de rețea ( network sniffing ) este foarte util în faza de culegere de
informații, prin analizarea traficului generat într -o rețea putând fi descoperite
intervale de adrese IP, convenții privind denumirile, rețele și servere ascunse și alte
servici i ce rulează pe sistem sau în rețea . Captarea traficului de rețea este
asemănătoare observării intrării în sediul companiei. Atacatorul analizează fluxul de
date pentru a determina momentul când anumite tranzacții au loc și unde ajunge tot
acest trafic gen erat.
Culegerea de informații în mod activ presupune sondarea rețelei în vederea
descoperiri i stațiilor de lucru conectate, adreselor IP și prezența anumitor servicii în
rețea. Acest lucru implică de cele mai multe ori un risc mult mai mare de a fi detecta t
decât culegerea pasivă.
Atât recunoașterea activă cât și cea pasivă pot conduce la obținerea de informații
extrem de utile în derularea atacului. Spre exemplu, simpla descoperire a tipului de
sistem de operare sau a celui de server web reprezintă date im portante pe baza cărora
se pot realiza atacuri știind ce vulnerabilități sunt disponibile.
NECLASIFICAT
NECLASIFICAT
din Modelarea amenințării și identificarea vulnerabilităților
Pe baza informațiilor obținute în pasul anterior, specialistul care se ocupă de
testarea rețelei stabilește vectorul de atac corespunzător îndeplinirii obiectivului
asumat de testul de penetrare. Cele mai importante obiective pentru un atacator sunt
informațiile despre companie, clienți, angajați și cele tehnice. De obicei, în această
etapă, tester -ul utilizează instrumente pentru a identifica vulnerabilități , iar din lista
astfel obținută va alege acele vulnerabilități ce pot fi exploatate.
Exploatare a
Având la dispoziție un întreg arsenal compus din puncte de intrare în rețea și
vulnerabilități , specialistul începe să testeze exploit -urile identificate. Scopul fiecărui
tester de securitate este de a vedea cât de mult poate compromite infrastructura
informatică , ce date sensibile poate accesa, prec um și păstrarea anonimatului. Dintre
principalele tipuri de atacuri, menționăm următoarele :
• Web Application attacks
• Network attacks
• Memory -based attacks
• Wi-Fi attacks
• Zero -day attacks
• Physical attacks
• Social engineering
Post-exploatarea
După ce faza de exploatare a vulnerabilităților este parcursă, specialistul care a
condus testele de penetrare trebuie să întocmească documentația specifică cu ajutorul
căreia să cuantifice rezultatele obținute. În acest punct se realizează analiza risculu i
bazată pe importanța sistemelor compromise, precum și pe importanța datelor la care
tester -ul a avut acces. Totodată, testerul poate decide în acest punct să își consolideze
poziția obținută prin exploatarea sistemului aplicând diverse metode prin care să își
asigure persistența, escaladarea privilegiilor , mișcare laterală etc. La finalul acestei
NECLASIFICAT
NECLASIFICAT
din etape, tester -ul trebuie să readucă sistemul la starea inițială prin ștergerea de
executabile, script -uri, recon figura rea setărilor la parametrii inițiali etc.
Raportarea
Poate unul dintre cele mai critice aspecte, raportarea este etapa în car e compania
care a efectuat teste de penetrare livrează documente clientului în care acesta poate
observa rezultatele testării. Conținutul documentelor trebuie să includă o lista cu
toate vulnerabilitățile depistate, modul în care acestea au condus la compromiterea
sistemului, datele la care s -a avut acces etc. Totodată , compania care a realizat
testarea trebuie să facă și recomandări cu privire la securizarea sistemelor
informatice ale clientului.
3.2. Soluțiile tehnice cel mai des utilizate
Având în vedere că scopul lucrării este de a dezvolta un framework cu ajutorul
căruia să se realizeze teste privind nivelul de securitate implementat la un moment
de timp într -o rețea, în continuare se vor prezenta instrumentele software propuse
pentru fie care etapă a testării . La final se va prezenta o procedură completă de
pentesing utilizând parte din aplicațiile prezentate mai jos, precum și aplicația
dezvoltată în cadrul proiectului.
Culegerea de informații
Deși este un domeniu pe care s -a pus accentul de relativ puțin timp, industria
dezvoltată în jurul securității informatice prezintă o ofertă bogată de instrumente
software și hardware utile în realizarea de testări de securitate. Pentru fiecare etapă a
procesului de testare de penetrare există instrumente specializate care vin în ajutorul
specialistului.
O etapă critică în orice testare de penetrare o reprezintă culegerea de informații .
Este extrem de important ca ”atacatorul” să cunoască cât mai multe det alii despre
ținta lui. Fiind o activitate etapizată, toate etapele trebuie parcurse minuțios pentru
NECLASIFICAT
NECLASIFICAT
din ca testarea să aibă succes. Colectarea de informații valoroase despre compania vizată,
conduce la descoperirea unor aspecte de interes pentru tester care vo r fi valorificate
în faza de analiză a vulnerabilităților. În urma analizei, specialistul determină
posibilele vulnerabilități ale infrastructurii testate, pe care le va exploata în
următoarea fază a testării de penetrare. Se observă astfel importanța acor dării unei
atenții deosebite asupra colectării de informații.
Printre cele mai cunoscute instrumente software pentru culegerea de informații
publice enumeram: theHarvester, Maltego, dig, whois, motoarele de căutare , rețelele
de socializare etc.
Figura 3.2.1
theHarvester
theHarvester este un instrument software open -source care are drept obiectiv
obținerea de adrese de email, informații despre subdomenii, host -uri, numele
angajaților, porturi deschise etc. Acesta poate fi exploatat atât de persoane rău
intenționate , cât și de testeri cu scopul de a determina elementele de identificare în
Internet specifice țintei sau clientului.
theHarvester este în esență un instrument software în linie de comandă care
realizează agrega rea surse lor deschise de informații disponibile deja în Internet dintre
care putem enumera: baidu, google, bing crtsh, dnsdumpster, hunter, linkedin,
netcraft, securityTrails, shodan, threatcro wn, trello, vhost, virustotal , DNS brute
force, DNS reverse lookup, DNS TDL expansion etc.
NECLASIFICAT
NECLASIFICAT
din
Figura 3.2.2
Maltego
Maltego face parte din suita de instrumente utilizate în procesul de culegere de
informații. Cu ajutorul acestuia se pot extrage informații valoroase despre companii,
persoane, infrastructuri etc. Maltego este un instrument interactiv de data mining care
utilizeaz ă numeroase surse de informații disponibile pe Internet . Rezultatele obținute
sunt reprezentate în cadrul unor grafuri , fiecare informație relevantă fiind
reprezent ată drept un nod în graf. Acest mod de reprezentare al datelor ajut ă la
înțelegerea mai ușoa ră a conexiunilor dintre anumite noduri ale grafului, acestea fiind
stabilite automat de către Maltego.
Figura 3.2.3
Google Dorks
Binecunoscutul motor de căutare Google ne face viața mai ușoara zi de zi găsind
răspunsuri la toate întrebările noastre. Pe lângă căutările uzuale, Google poate fi
utilizat î n acțiuni de ethical hacking, pentesting sau chiar în scopuri ilicite. O căutare
Google Dork reprezintă o interogare avansată ce conține operatori special i. Sintaxa
de bază pentru operatorii avansați este operator:keyword . Cu ajutorul interogărilor
Dork se pot descorperi vulnerabilități, informații ascunse etc. Dintre operatorii
disponibili amintim:
• site – returnează pagini doar de la domeniul specificat
• allintitle și intitle – returnează pagini c u titlul specificat
NECLASIFICAT
NECLASIFICAT
din • inurl – returnează pagini doar de la url -ul specificat
• filetype – returnează pagini cu formatul specificat
• intext – returnează pagini ce conțin șirul de caracter e specificat
O bază de date extrem de bine populată cu interogări avansate concentrate pe
obținerea de rezultate în vederea compromiterii de entități este disponibilă la adresa
https://www.exploit -db.com/google -hacking -database .
Figura 3.2.4
IntelTechniques
IntelTechniques este o platformă online ce pune la dispoziția utilizatorilor o serie
de instrumente capabile să extragă informații despre adrese de email, profile de
Facebook , Twitter, Instagram, nume de domenii, IP -uri etc. Chiar dacă sursele de
informații par la prima vedere inofensive, prin corelarea și analiza temeinică a datelor
obținute din diverse surse se pot realiza profile complexe despre persoane, companii.
Platforma se poate accesa la adresa https://inteltechniques.com/menu.html .
NECLASIFICAT
NECLASIFICAT
din
Figura 3.2.5
Nmap
Nmap reprezintă standardul de facto pentru scanarea rețelelor de calculatoare.
Acest instrument software este extrem de puternic și pune la dispoziție specialistului
o mulțime d e modalități de parametrizare a scanării în vederea obținerii de informații
vitale despre țintă. Cu ajutorul lui Nmap se pot descoperi host -urile active dintr -o
rețea, porturile deschise, serviciile care rulează, sistemul de operare etc. Aceste
acțiuni pot fi rafinate de către tester în funcție de scopul propus printr -o gamă foarte
largă de modalități de scanare.
Figura 3.2.6
Unicornscan
Unicornscan este un instrument software utilizat în faza de culegere a
informațiilor în cadrul unui test de penetrare. Spre deosebire de analizoarele de
porturi obișnuite, Unicornscan injectează în rețea o serie de impulsuri pe baza cărora
măsoară răspunsul provenit de la dispozitivul de rețea vizat.
Din punct de vedere arhitectural, Unicornscan este un instrument multiproces ,
având un proces Master (Unicornscan), un proces care se ocupă de trimiterea
impulsurilor în rețea (unisend), precum și un proces care ascultă ceea ce se transmite
în rețea (unilisten). Procesul master se ocupă de gestiunea pachetelor ce urmează a fi
trimise, de răspunsul primit și de gestiunea conexiunilor. Procesul ”sender„
asamblează pachetele și le trimite în rețea. Procesul ”listener” aștea ptă răspuns pentru
NECLASIFICAT
NECLASIFICAT
din impulsurile trimise și transmite meta informațiile primite către procesul master.
Această arhitectură software face ca Unicornscan să fie un instrument extrem de util
în detectarea rapidă și precisă a porturilor deschise ale host -urilor.
Figura 3.2.7
Wireshark
La fel ca Nmap, Wireshark reprezintă un standard de facto în industria de
securitate cibernetică. Wireshark este cel mai cunoscut instrument de interceptare si
analiză a traficului dintr -o rețea de calculatoare . Este capabil să captureze traficul de
pe diverse interfețe în timp real, iar apoi să analizeze la nivel microscopic fiecare
pachet în parte. Wireshark este utiliz at în depanarea rețelelor, analizarea traficului
din rețea, observarea traficului ne criptat în vederea obținerii de informații etc.
Figura 3.2.8
Fierce
Fierce este un instrument de scanare folosit în etapa de recunoaștere cu ajutorul
căruia se colectează informații folosindu -se de serverele DNS. Acest scan ner a fost
gândit pentru a fi utilizat în atacuri ce au o țintă precisă. Cu ajutorul său se
localizează ținte din interiorul sau exteriorul companiei vizate utilizând o serie de
tactici precum DNS Zone Transfer sau DNS Brute Force.
NECLASIFICAT
NECLASIFICAT
din
Identificarea vulnerabilităților și modelarea amenințării
Având la dispoziție datele colectate în etapa de recunoaștere, următorul pas
obligatoriu este identificarea de vulnerabilități în vederea modelării vectorului de
atac. Dacă în prima etapă am restrâ ns spațiul de căutare la zonele de interes, acum
urmează să stabilim modalitățile optime de a compromite sistemul țintă. În funcție
de natura sistemului pe care îl testăm, există numeroase instrumente software care
permit identificarea vulnerabilităților c e ar putea conduce la compromiterea acestuia.
Dintre acestea enumerăm urm ătoarele:
Figura 3.2.9
Nessus
Nessus este un scanner de vulnerabilități dezvoltat de Tenable Network Security.
Potrivit studiului realizat de sectools.org în 2009, Nessus este cel mai popular
scanner de vulnerabilități la nivel mondial . Nessus dispune de o arhitectură modulară
conținând mai multe servere responsabil e de căutarea vulnerabilităților și de realizare
a interacțiunii cu utilizatorul prin intermediul unui server web care p une la dispoziția
utilizatorului o interfață grafică cu ajutorul căreia pot fi particularizate căutările și se
pot vizualiza rezultatele scanării.
NECLASIFICAT
NECLASIFICAT
din
Figura 3.2.10
Nikto
Nikto face parte din categoria scannerelor de vulnerabilități specializat în căutarea
vulnerabilităților serverelor web. Cu ajutorul acestui scanner se pot testa numeroase
aspecte ce țin de securitatea unui server web , incluzând peste 6700 de fișiere sau
progra me posibil periculoase, verificarea a peste 1250 d e servere web neactualizate
și probleme specifice a peste 270 de servere. Totuși, Nikto nu poate fi considerat un
scanner silențios , diversele teste pe care le efectuează împotriva serverelor
regăsindu -se în fișierele de log al acestora.
Figura 3.2.11
Aircrack
Aircrack reprezintă o suită de instrumente software specializate în monitorizarea,
atacarea, testarea și compromiterea rețelelor WiFi. În ceea ce privește partea de
monitorizare, Aircrack pune la dispoziția utilizatorului aplicații care realizează
captarea traficu lui wireless și exportarea datelor în fișiere text într -o formă ce permite
interpretarea de către alte instrumente specializate.
NECLASIFICAT
NECLASIFICAT
din Pentru partea de atac, Aircrack dispune de capabilități de injectare de pachete în
rețea cu ajutorul cărora se pot lansa atacu ri de tip Man -in-the-middle, deautentificări ,
punct e de acces false etc . Testarea se referă la verificarea capabilităților plăcilor de
rețea ori a driverelor acestora prin captare de trafic și injectare de pachete. O
caracteristică importantă este cea lega tă de compromiterea rețelelor wireless.
Protocoalele de securitate ale rețelelor WiFi de tip WEP, WPA PSK (WPA 1 și 2)
sunt vulnerabile în fața instrumentelor de compromitere ale suitei Aircrack.
Figura 3.2.12
OpenVAS
OpenVAS este un scanner de vulnerabilități extrem de cunoscut, al ături de
Nessus . Acesta este capabil să realizeze testări neautentificate, testări autentificate,
testarea numeroaselor protocoale de nivel înalt sau scăzut, reglaje de performanță
pentru scanări ce vizează rețele mari. Totodată, pune la dispoziția utilizatorilor un
limbaj de programare intern extrem de puternic pentru a dezvolta diverse tipuri de
teste de vulnerabilități. Scannerul vine preinstala t cu peste 50.000 de teste de
vulnerabilități ce sunt actualizate zilnic de Greenbone Community Feed, o
comunitate care se ocupă de dezvoltarea și mentenanța OpenVAS.
Exploatarea vulnerabilităților
Toate etapele anterioare au pus bazele acestui pas defi nitoriu pentru testarea de
penetrare, respectiv etapa de exploatare. Prin intermediul acestei etape, tester -ul
încearcă să compromită ținta pe care și -a stabilit -o, având suficiente informații despre
aceasta. La fel ca în etapele anterioare, nu există o so luție standardizată care să
funcționeze de fiecare dată. În funcție de situație, pe baza a ceea ce se cunoaște despre
țintă, a vulnerabilităților prezente , a serviciilor care rulează , a mecanismelor de
securitate implementate, exploatarea se poate realiza utilizând mai multe medii de
exploatare. În continuare sunt prezentate o serie de medii de exploatare dintre cele
mai cunoscute .
NECLASIFICAT
NECLASIFICAT
din
Figura 3.2.13
BeFF
Browser Exploitation Framework este un instrument de pentesting care se
concentrează asupra browser -elor web. Pe fond ul preocupărilor crescânde asupra
atacurilor împotriva clienților de web, incluzând terminale mobile, BeEF pune la
dispoziția tester -ului posibilitatea de a evalua situația de securitate a unei ținte,
folosind vectori de atac bazați pe client. Spre deosebi re de alte framework -uri de
securitate, BeEF pare să treacă peste perimetrul securizat și examinează posibilitatea
de a exploata ușa deschisă numită browser web. Prin prinderea ca într -o plasă a mai
multor browsere web, BeEF dispune de o interfață de comandă și control care
facilitează comunicația cu browserele prinse în plasă, numite si browsere zombi.
BeEF este gratuit și este disponibil pentru Windows, Linux și MAC OS X.
Figura 3.2.14
Core Impact
Core Impact este considerat a fi cel mai important instrument de exploatare
disponibil pe piață. Dispune de o bază de date cu exploit -uri imensă care este
actualizată regulat și poate realiza o serie de trucuri prin care exploatează un sistem.
În continuar e, creează un tunel criptat prin intermediul acelui sistem cu ajutorul
căruia exploatează alte sisteme mai departe. Dispune de capabilități de testare multi
vector pentru rețele, web, mobile și wireless. Spre deosebire de alte medii de
NECLASIFICAT
NECLASIFICAT
din exploatare prezentat e anterior, Core Impact nu este disponibil gratuit, ci costă
aproximativ 30.000$.
Figura 3.2.15
Dradis
Dradis Framework este un instrument software open -source care pune la
dispoziția utilizatorilor o modalitate eficientă și rapidă de a partaja informații și date
pe durata testelor de penetrare. Dintre facilitățile oferite se numără generarea cu
ușurință a rapoartelor , suport asupra atașamentelor, integrarea cu o gama largă de
sisteme și instrumente. Este totodată un instrument web ce oferă un mod centralizat
de control al datelor în depozite de date, ținând cont de ceea ce s -a realizat și ce a
mai rămas de făcut. Dradis este disponibil în mod gratuit pe majoritatea sistemelor
de operare, precum Windows, Linux și MAC OS X.
Figura 3.2.16
Metasploit
Metasploit este un framework de pentesting extrem de ușor și intuitiv de folosit
de cei care sunt la început, dar și pentru profesioniști. Este o unealtă esențială atât
pentru atacatori, cât și pentru apărători. Dezvoltatorii framework -ului spun că este
atât de ușor de folosit încât trebuie doar să îți stabilești ținta, alegi încărc ătura
(payload ) pe care să o detonezi și apeși Enter.
NECLASIFICAT
NECLASIFICAT
din Partea esențială a framework -ului Metasploit este gr atuită și vine preinstalată pe
distribuția Kali Linux. Metasploit Framework pune la dispoziția utilizatorilor numai
o interfață în linie de comandă, interfața grafică fiind disponibilă numai pe
Metasploit Pro , varianta comercială. Prima versiune a proiectului a apărut în 2003 și
a fost scrisă în limbajul Perl. Framework -ul a cunoscut o creștere foarte mare de
atunci, ajungând de la 11 exploit -uri câte erau disponibile în versiunea 1 din 2003, la
peste 1800 disponibile în prezent, plus peste 500 de payload -uri. Pe lângă exploit –
uri, Metasploit mai conține și o serie de module auxiliare extrem de utile în fazele de
colectare de informații, identificare de vulnerabilități, precum și pentru asigurarea
persistenței și post -exploatare.
Figura 3.2.17
Netsparker
Netsparker un scanner specializat pentru aplicațiile web care pune la dispoziția
utilizatorilor posibilitatea de a scana site -uri web, aplicați i precum și servicii web
într-o manieră automatizată. Ce îl face mult mai eficient decât concurența este faptul
că are un mecanism prin care orice vulnerabilitate detectată este testată cu scopul de
a nu produce rezultate fals pozitive. În urma verificării, Netsparker prezintă și o
scurtă demonstrație a conceptului pe care l -a utilizat . Cu al te cuvinte, se reduce
drastic timpul alocat de tester pentru a verifica vulnerabilitățile descoperite.
Social Engineering Toolkit (SET)
SET este un instrument software open source scris în limbajul Python care se
concentrează asupra domeniului de inginerie socială din cadrul unui proces de
pentesting. SET este foarte popular în rândul comunităților de specialiști în securitate
informatică, acesta fiind prezentat la o serie de conferințe precum: DerbyCOn,
Defcon, ShmooCon și Blackhat . Acest instrument software are peste 2 milioane de
descărcări, fiind standardul testelor de penetrare. Scopul în care este folosit este de a
automatiza și de a îmbunătății multe dintre atacurile ce vizează ingineria socială . Cu
NECLASIFICAT
NECLASIFICAT
din ajutorul SET se pot genera automat mesaje email ascunse, precum și pagini web.
Social Engineering Toolkit este disponibil în mod gratuit pe Linux, MAC OS X și
Windows.
Figura 3.2.18
SQL map
SQLmap este un instrument open source utilizat în detectarea automată și
exploatarea erorilor de proiectare a aplicațiilor ce lucrează cu baze de date cunoscute
și sub denumirea de SQL Injection. Prezintă o plajă largă de facilități dintre care
enumerăm prezența unui motor de detecție extrem de puternic, foarte multe
caracteristici ce ajută pentester -ul la identificarea sistemului de gestiune al bazei de
date, obținerea de date din baza de date, accesarea sistemului de fișiere al sistemului
de operare și execu tarea de comenzi pe sistemul de operare. În ceea ce privește modul
de utilizare, SQLmap primește un URL vulnerabil pe baza căruia poate exploata baza
de date și poate realiza o serie de acțiuni malițioase precum extragerea numelor de
baze de date, de tabele, coloane, ori toat e datele din tabele. Totodată, are capacitatea
de a scrie și a citi fișiere pe sistemul de fișiere unde este instalat serverul de baze de
date. Cu alte cuvinte, SQLmap este precum Metasploit pentru SQL Injection.
NECLASIFICAT
NECLASIFICAT
din
Figura 3.2.19
W3AF
W3AF este unul dintre cele mai populare, flexibile și puternice instrumente pentru
identificarea și exploatarea vulnerabilităților pentru web . Este ușor de utilizat și
oferă numeroase plugin -uri pentru partea de exploatare a țintelor. Unii specialiști
consideră W3AF drept versiunea orientată către web a Metasploit -ului. Plugin -urile
sunt clasificate în mai multe tipuri: identificare, bruteforce, audit, evitare , grep, atac,
ieșire și denaturare. W3AF este disponibil gratuit pentru Windows, Linux și MAC
OS X.
Post exploatare
Post exploatarea reprezintă etapa succesoare a exploatării în care atacatorul își
consolidează poziția obținută prin exploatare asupra sistemului, escaladează
privilegiile, asigură persistența, realizează mișcări pe laterală în vederea obținerii de
informații valoroase , înțelege victima, curăță urmele lăsate de exploatare , pivotează
în vederea penetrării altor rețele interne etc. Este o etapă esențială în conceptul de
Red Teaming, în care atacatorul încearcă să își dea seama cum poate utiliza
informațiile obținute de la sistemul c ompromis al victimei. La fel ca în cazul
celorlalte etape, există o serie de instrumente care să vină în ajutorul tester -ului
pentru a realiza post exploatarea.
PowerSploit
PowerSploit reprezintă o colecție de module Microsoft PowerShell care pot fi
utilizate de testeri în toate fazele verificării de securitate. PowerSploit conține
module pentru ”Code Execution ” prin care se poate executa cod pe mașina țintă ,
NECLASIFICAT
NECLASIFICAT
din ”Script Modification ” prin care se pot modifi ca sau pregăti script -uri pentru a putea
fi executate pe mașina compromisă , ”Persistence ” prin adăugarea capabilităților de
asigurare a persistenței , ”Antivirus Bypass ”, ”Exfiltration ” etc.
Linux Post Exploitation Command List
Pentru distribuțiile de Linux există o listă de comenzi extrem de utilă care
vine în ajutorul tester -ului pentru a -și atinge scopurile legate de post exploatarea
țintei.
Figura 3.2.2 0
NECLASIFICAT
NECLASIFICAT
din 3.3. Prezentarea scenariului de testare
Diagrama rețelei
Pentru a prezenta într -un mod practic finalitatea prezentului proiect de
diplomă, a fost elaborat scenariul prezentat mai jos implementat sub forma unui
laborator virtual .
Figura 3.3.1
Așa cum se poate observa și în Figura 3.3.1 , presupunem existența a 3 host-
uri(PC1, PC2 și Atacator) , conectate la cele două rețele locale , iar host -ul atacatorului
conectat și la Internet . Cele două rețele au următoarele adrese : rețeaua internă cu
adresa 10.10.0.0/24 , rețeaua externă cu 192.168.161 .0/24 . PC1 este un server bazat
pe sistemul de operare Windows care oferă numeroase servicii atât utilizatorilor din
rețeaua externă, cât și celor din rețeaua internă. PC2 este tot un server, bazat pe
sistemul de operare Ubuntu, care pune la dispoziția utilizator ilor din rețeaua internă
o serie de servicii. PC1 este unicul punct de legătură între cele două rețele, atacatorul
neavând posibilitatea fizică de a accesa niciun computer din rețeaua internă. Scopul
asumat de atacator este de a compromite punctul de legăt ură dintre rețeaua internă și
cea externă, iar odată compromis să se extindă astfel încât să poată accesa PC2.
Această tehnică poartă numele de pivotare , computerul PC1 devenind practic pivotul
cu ajutorul căruia se va putea compromite rețeaua internă.
NECLASIFICAT
NECLASIFICAT
din Tehnologii utilizate
• Nmap
• Unicornscan
• Metasploit Framework
• VirtualBox
• Metasploitable3
• Veil Framework
• Visual One -Two Punch
• XAMPP
• PHP
• MySQL
• jQuery
• Bootstrap
Pentru implementarea digramei de mai sus s -a utilizat aplicația software de
virtualizare VirtualBox .
În meniul Host Network Manager din Figura 3.3.2 au fost definite cele două interfețe
de rețea corespunzătoare rețelei interne și celei externe.
NECLASIFICAT
NECLASIFICAT
din
Figura 3.3.2
Pentru simularea PC1 și PC2 s-au folosit distribuțiile Metasploitable3 puse la
dispoziție de comunitatea Rapid7 . PC1 este reprezentat de un sistem bazat pe
Windows Server 2008 R2 și unul bazat pe Ubuntu 14.04 . Aceste distribuții de sisteme
de operare au fost realizate în ideea de a realiza teste de securitate în deplină legalitate
asupra unor sisteme care prezintă numeroase vulnerabilități.
Computerul atacato rului este simulat printr -o distribuție de Kali Linux de pe care se
vor rula o serie de instrumente software ofensive cu ajutorul cărora se va prelua
controlul PC1.
În urma configurării laboratorului virtual vor rezulta 3 mașini virtuale . PC1 este
reprezentat de mașina virtuală pe care rulează Windows Server 2008 R2 , iar în Figura
3.3.3 se poate observa con figura ția plăcilor de rețea.
NECLASIFICAT
NECLASIFICAT
din
Figura 3.3.3
PC 2 este reprezentat de mașina virtuală pe care rulează distribuția de Ubuntu
14.04. În Figura 3.3.4 se poate observa con figura ția plăcii de rețea, precum și
mașinile virtuale disponibile în VirtualBox.
Figura 3.3.4
NECLASIFICAT
NECLASIFICAT
din Computerul atacatorului este reprezentat de un sistem ce rulează o mașină
virtuală de Kali Linux. În Figura 3.3.5 este prezentată con figura ția celor două pl ăci
de rețea care fac ca sistemul să fie conectat atât la Internet, precum și la rețeaua
externă.
Figura 3.3.5
În cadrul proiectului a fost dezvoltat ă o soluție software numită Visual One –
Two Punch care permite realizarea de scanări asupra unor rețele, ori computere
individuale. Această aplicație a fost proiectată să fie utilizată în etapele de început
ale testării de penetrare , însă raportul PDF pe care este capabilă să îl genereze poate
fi util în ultima etapă, cea de raportare. Aplicația este capabilă să efectueze scanări,
în urma s canării va genera o listă cu computerele active, porturile deschise pentru
fiecare în parte, detalii privind serviciile care rulează pe respectivele porturi, precum
și niste rezultate preliminare privind existența unor vulnerabilități cunoscute.
Aplicația este compusă dintr -o serie de module , care funcționează împreună în
vederea prezentării unei imagini sumare asupra rețelei vizate. Componenta vizuală
este reprezentată de interfața grafică dezvoltată utilizând tehnologii web, compusă
dintr -o serie de fișiere PHP în care este descrisă structura logică a interfeței cu
ajutorul HTML, Bootstrap, jQuery, precum și a PHP . Interfața este una dinamică
care pune la dispoziția testerului po sibilitatea de a crea noi scanere pe baza cărora se
NECLASIFICAT
NECLASIFICAT
din vor efectua analize asupra rețelei/computerului țintă , precum și vizualizarea de
rapoarte online sau în format PDF . Dinamica aplicației este asigurată de conexiunea
cu baza de date MySQL, unde informațiile privind rezultatele scanărilor, precum și
a scanerelor existente sunt stocate. Pe baza acestor date , utilizatorului i se prezintă
într-o manieră cât mai intuitivă prin intermediul unor grafice evoluția în timp a stării
de securitate.
Figura 3.3.6
Parametrii scanerului vor fi preluați de către componenta software care se
ocupă cu scanarea propriu -zisă. Această componentă de scanare este reprezentată de
un script bash care uzează de două instrumente software foarte puternice:
Unicornscan și Nmap. Practic, fiecare element din cadrul denumirii soluției software
are o echivalență în cadrul structurii aplicației. Dacă partea vizuală (Visual) este
reprezentată de interfața web, prima lovitură ( One Punch) este atribuită lui
Unicornscan, iar a doua lovitură ( Two Punch ), decisivă, este atribuită lui Nmap.
Componenta care se ocupă cu scanare a funcționează în felul următor: se
examinează parametrii cu care este lansat scriptul în execuție și se extrag elementele
de interes ( adresa IP țintă, identificatorul unic din baza de date a scanerului,
modalitățile de scanare). În funcție de adresa IP primită ca parametru, scriptul va
realiza o scurtă scanare folosind Nmap în vederea detectării stațiilor active din rețea.
Lista cu stațiile active se va salva într -un fișier temporar , fiecare adresă IP urmând a
fi analizată individual. Unicornscan este un instrument foarte bun pentru
NECLASIFICAT
NECLASIFICAT
din identificarea porturilor deschise într-un timp foarte scurt în comparație cu Nmap. În
urma utilizării Unicornscan se va genera o lista de porturi deschise care va fi
transmisă ca parametru lui Nmap. Nmap este extrem de eficient în analiza serviciilor
care rulează pe anumite porturi, a sistemelor de operare , iar capabilitățile sale pot fi
extinse într -o manieră personalizată prin intermediul unor scripturi rulate de un
modul propriu intern denumit NSE . Nmap va analiza porturile deschise și va
identifica serviciile care rulează .
În urma identificării denumirii serviciilor existente, Nmap va realiza o
interogare a bazei de date online https://v ulners.com prin intermediul scriptului
nmap -vulners . Răspunsul interogării constă într -o lista de vulnerabilități cunoscute
pentru serviciul indicat de Nmap, sub forma de . Un lucru important de menționat
este că lista cu posibile vulnerabilități are caracter orientativ deoarece metoda prin
care se obține denumirea unui serviciu (Banner gra bbing) poate fi foarte ușor păcălită
de un administrator de sistem. În continuare, având toate informațiile necesare, Nmap
va genera intr -un fișier temporar rezu ltatele în formal XML. Componenta PHP care
se ocupă de gestiunea scanării va apela componenta de procesare care se ocupă de
procesarea fișier elor XML și introducerea informațiilor obținute în baza de date , apoi
va elimina fișierele temporare .
În final, printr -un mecanism de polling, componenta vizuală va actualiza
interfața grafică pe baza inregistrărilor din baza de date. Utilizatorul mai are la
dispoziție și modalitatea de vizualizare a rezultatelor unei scanări sub forma unui
document PDF . Docu mentul este generat cu ajutorul bibliotecii FPDF și conține
acelea și informații disponibile și în interfață, însă într -o formă portabilă, ce poate fi
atașată raportului final de testare .
NECLASIFICAT
NECLASIFICAT
din
Figura 3.3.7
3.4. Desfășurarea scenariului
Testarea de penetrare în cadrul scenariului descris anterior se va face urmând
etapele prezentate în lucrare , fără însă a se specifica etapa curentă la fiecare moment.
Scopul existenței anumitor pași pe care testerul îi are de parcurs este de a forma
anumite reflexe referitoare la importanța fiecărei etape în parte, fără însă a -l
constrânge sau a -i limita creativitatea , atât de necesară în găsirea de soluții
ingenioase în situații care par fără rezolvare.
Cunoscând adresa rețelelor pe care urmează să le testăm, primul lucru pe care
trebuie sa îl facem este să obținem cât mai multe informații referitoare la topologia
rețelei, adrese IP, porturi deschise, servicii active, sisteme de operare etc. Pentru a
realiza acest pas ne folosim de aplicația dezvoltată în cadrul proiectului. Deși am fi
obținut aceleași rezultate și prin scanarea manuală , Visual One -Two Punch este util
în vizualizarea cu ușurință a datelor și interpretarea acestora chiar și de testeri aflaț i
la început de drum. Astfel, creăm un nou scaner denumit ”Metasploitable network
scanner” a cărui rețea țintă va fi la adresa IP 192.168.161 .1/24.
NECLASIFICAT
NECLASIFICAT
din Tehnica de scanare este un parametru important al scanării, în cazul de față
TCP SYN Scan . Această tehnică presupune trimiterea de pachete TCP având setat
flag-ul SYN către un anumit port. Dacă pe portul respectiv rulează un serviciu, acesta
va răspunde cu un pachet TCP având setate flagurile SYN , ACK , în vederea stabilirii
unei conexiuni. La primirea pachetului SYN -ACK, Nmap înțelege că portul este
deschis și pe el rulează un serviciu, astfel că nu continuă procesul de stabilire a
conexiunii și trimite un pachet RST pentru a încheia conexiunea. Acest mecanism
mai poartă numele și de Stealth Scan și este prezentat și în Figura 3.3.8 . Totodată,
bifăm și opțiunea de a scana și porturile UDP .
Figura 3.3.8
În final, după crearea scanerului și pornirea scanării, ar trebui să obținem un
scaner în curs de procesare la fel ca cel din Figura 3.3.9 .
Figura 3.3.9
NECLASIFICAT
NECLASIFICAT
din După câteva minute, putem observa rezultatele scanării. Acestea sunt
accesibile prin apăsarea butonului sub formă de ochi al scanerului. În urma accesării
secțiunii de vizualizare a raportului de scanare se observă adresele IP ale stațiilor
active din cadrul rețelei. Analizându -le, observăm că stația cu adresa IP
192.168.161.3 prezintă o serie de porturi deschise, unele având vulnerabilități cu un
impact major asupra securității sistemului. Printre aceste porturi observăm prezența
portu rilor 139 și 445. Acest lucru, corelat cu tipul sistemului de operare prezent ne
duce cu gandul la una dintr e cele mai distructive vulnerabilități , și anume MS17 -010.
Pe baza acestei vulnerabilități a fost dezvoltat exploit -ul EternalBlue, exploit ce a
stat la baza celor mai distructive atacuri cibernetice, precum WannaCry, Petya,
NotPetya.
Pentru a verifica dacă sistemul este vulnerabil folosim modulul
auxiliary/scanner/smb/smb_ms17_010 din Metasploit Framework. Așa cum se poate
observa și în Figura 3.3.10 , sistemul este vulnerabil.
Figura 3.3.10
Deși exploitul EternalBlue este acum disponibil și în Metasploit Framework,
versiune a este instabilă, provocând cel mai adesea comportamente de tipul BSOD
asupra victimei, ori pur și simplu nu face nimic. În urma unor căutări amănunțite pe
Internet vom găsi o versiune îmbunătățită numita Eter nalRomance/Synergi care
există și în Metasploit ca modul sub denumirea de
exploit/windows/smb/ms17_010_psexec. Această versiune este mult mai stabilă,
șansele ca victima să fie afectată la exploatare fiind aproape de zero. Diferența de
utilizare o constitu ie faptul ca EternalRoamance utilizează named pipes și nume de
utilizator și parolă pentru a stabili o conexiune stabilă cu victima.
NECLASIFICAT
NECLASIFICAT
din Astfel, p entru a putea exploata cu succes ținta noastra este necesar ca modulul
să fie con figura t în prealabil cu un nume de utilizator al sistemului, precum și o listă
de named pipes. Named pipes sunt utilizate pentru comunicația între procese le aflate
pe acela și computer sau între procesele aflate pe calculatoare din aceeași rețea. În
cazul nostru, exploitul a primit drept parametrii adresa IP a computerului țintă, o listă
cu cele mai întâlnite named pipes , precum și numele de utilizator ”Guest”
corespunzător contului de utilizator vizitator prezent pe PC1 , așa cum se poate
observa și în Figura 3.3.11 .
Figura 3.3.11
Odată ce am stabilit ce exploit vom utiliza, următorul pas este să alegem
payload -ul. Payload -ul reprezintă codul ce se va executa pe calculatorul compr omis,
odată ce exploit -ul își atinge scopul. În cazul de față s -a utilizat payload -ul
windows/meterpreter/reverse_tcp. În urma execuției sale, payload -ul se va încărca
în memoria RAM a victimei și va stabilii o conexiune inversă către atacator care se
va materializa într-un terminal bash special numit Meterpreter . Faptul că se stabilește
o conexiune inversă este foarte important deoarece majoritatea sistemelor sunt
protejate de firewall -uri care nu permit inițierea de cone xiuni din exterior. Practic,
după ce payload -ul este executat va iniția o conexiune către atacator, lucru mai puțin
suspicios pentru dispozitivele de protecție. Odată ce am con figura t toți parametrii de
interes ai exploit -ului, putem lansa atacul. În Figura 3.3.1 2 se observă că atacul a fost
lansat cu succes și s-a stabilit o sesiune Meterpreter.
NECLASIFICAT
NECLASIFICAT
din
Figura 3.3.12
Deoarece scopul nostru este de a ajunge să putem interacționa cu stațiil e din
rețeaua internă, trebuie să ne asigurăm că nu suntem detectați când comunicăm cu
stația PC1. În acest sens, una dintre metodele de evaziune o reprezintă migrarea
procesului aferent payload -ului către un proces care să nu ridice suspiciuni precum
explorer.exe, svchost.exe etc. Pentru a realiza acest lucru trebuie mai întai să vedem
ce procese rulează pe computerul țintă, iar apoi să îl alegem pe cel mai pot rivit pentru
a găzdui procesul payload -ului. Așa cum se poate vedea și în Figura 3.3.13 , un proces
care nu ar ridica suspiciuni poate fi tomcat8.exe . Pentru a realiza migrarea procesului
malițios către tomcat8.exe se va utiliza comanda ” migrate [PID]”.
Figura 3.3.1 3
NECLASIFICAT
NECLASIFICAT
din După ce migrarea procesului a fost realizată cu succes , urmează pasul decisiv
pentru atingerea țelului propus: pivotarea. Așa cum am explicat și mai sus, acest
procedeu are drept scop realizarea accesului dintr -o rețea care este fizic separată de
o alta prin in termediul unui computer c are face legătura între cele două rețele. Acest
computer joacă rolul de pivot. Afișând informațiile legate de con figura ția interfețelor
de rețea ale PC1, putem observa faptul că PC1 deține 2 astfel de interfețe, una cu
adresa IP corespunzătoare rețelei interne și una cu adresă IP din rețeaua externă.
Pentru a descoperi stațiile conectate la rețeaua internă putem să rulăm modulul
windows/gather/arp_scanner care primește ca parametrii rețeaua în care se dorește
să se caute host -uri și sesiunea pe care modulul să o folosească drept pivot. Figura
3.3.14 exemplifică modul în care vor fi afișate rezultatele obținute în urma scanării
rețelei interne.
Figura 3.3.14
Acum că știm cu certitudine o serie de adrese IP din rețeaua internă, ne dorim
să putem interacționa cu acestea. În acest sens, setăm o rută către adresa de rețea
10.10.0.0/24 care să utilizeze drept gateway sesiunea stabilită în urma exploatării
prin comanda route add 10.10.0.0 255.255.255.0 1 . Putem verifica daca ruta a fost
setata prin comanda route. Rezultatul acestui pas ar trebui să arate ca în Figura
3.3.15 .
NECLASIFICAT
NECLASIFICAT
din
Figura 3.3.15
În acest moment, rețeaua internă 10.10.0.0/24 este accesibilă prin intermediul
pivotului PC1 la nivelul terminalului în care rulează Metasploit Framework. Pentru
a putea accesa o stație din rețeaua internă prin intermediul browser -ului
(presupunând că pe aceasta rulează un server web) , la nivelul consolei trebuie lansat
un server proxy care să in termedieze traficul între browser și consolă. Acest lucru se
poate realiza extrem de simplu și de rapid tot cu ajutorul Metasploit Framework,
utilizând modulul auxiliary/server/socks4a . Parametri impliciți ai modulului indică
faptul că serverul proxy va as tepta conexiuni pe adresa IP a gazdei, pe portul 1080,
așa cum putem observa și în Figura 3.3.16 .
Figura 3.3.16
După ce am pornit server -ul proxy, nu ne mai rămâne de făcut decât să
configurăm browserul astfel încât să poată comunica cu proxy -ul. În final, putem
verifica dacă totul a mers bine prin accesarea paginii web de la adresa
http://10.10.0.4/
Final itatea acestui scenariu este accesarea cu succes de către atacator a paginii
web găzduite de PC2 , lucru care în mod normal nu ar fi fost posi bil f ără
compromiterea PC 1 și folosirea acestuia d rept pi vot.
NECLASIFICAT
NECLASIFICAT
din
Figura 3.3.1 7
4. Concluzii și perspective
După cum se poate observ a din parcursul lucr ării, testarea de penetrare nu
reprezin tă o activitate care poate fi efectu ată ca o rutin ă. Fiecare situa ție în parte
aduce elemente de noutate asupra c ărora, specialistul trebuie s ă se aplece și s ă le
trateze cu un ma xim de interes și aten ție. De cele mai multe ori, în timpul des fășurării
unei testări cei care le conduc au impresia că au intrat pe un drum fără ieși re. Pentru
a depă și astfel de situa ții, tester ii au nevoie de multă imagina ție, dar în primul r ând,
au nevoie de foarte mult exe rcițiu de pe urma căruia să capete experien ță.
Astfel, ca perspect ive de dezvoltare a proiectului de diplomă nu poate fi altceva
decât continuarea lucrului în laborat oare virtuale, descoperin d noi modalități de
penetrare a securit ății sistemelor informati ce. În ajutorul celor care doresc să
aprofun deze acest d omeni u au venit comunit ățile de specialiști IT care pun la
dispozi ția celor interesa ți numeroase mașini virtuale pe care s ă își testeze aptitudinile.
Două exemple în acest sens sunt paginile web https ://vulnhub.com și
https://hackthebox.eu .
O altă modalitate prin care tema proiectului de diplomă poate fi continuată și
perfec ționată o reprezintă o serie de cursuri r ecunoscute de cele mai mari companii
NECLASIFICAT
NECLASIFICAT
din ale lu mii. Odată absolvite aceste cursuri , absolven ții vor fi certifica ți în diferite
domenii ale securi tății informatice. Offensive Securi ty, creatorii distribu ției Kali
Linux, cea utilizat ă și în cadrul proiectului de diplomă, emit cer tificări contra cost
pentru cele mai importante domenii din secu ritatea informatică. Dintre acestea
amintim următoarele cursuri : Offensive Security Certified Professional , Offensive
Security Wireless Professional , Offensive Security Certified Expert , Offensive
Security Exploitation Expert , Offensive Security Web Expert .
Concluzion ând, lucrarea și -a atins scopul prin care viitorii specialiști afla ți la
început de drum pot regăsi o serie de no țiuni teoretice care să le confere o imagine
de ansam blu asupra a ceea ce presupune pentesting -ul. Totodată, lucrarea vine în
sprijinul celor aflați la început de drum prin abordarea practică orie ntată spre
dobândirea deprinderilor necesare pentru a conduce un test de penetrare folosi nd
instrumente le software prezentate la nivelul lucr ării.
Comunitatea Offensie Secu rity au lansat un motto care exprim ă perfect modul
de gândire pe care un pentester experimentat trebuie s ă îl adopte : “The quieter you
become, the more you are able to hear” .
5. Bibliografie
[1] T. Wilhelm, Professional Penetration Testing, Boston: Elsevier, 2010.
[2] P. Kim, The Hacker Playbook 2, South Carolina: Secure Planet LLC,
2015.
[3] M. Rouse, „DMZ (networking),” SearchSecurity.com, [Interactiv].
Available: https://searchsecurity.techtarget.com/definition/DMZ.
[4] C. Edu, „Firewalls Defined, Explained, and Explored,” Force Point,
[Interactiv]. Available: https://www.forcepoint.com/cyber -edu/firewall.
[5] „Intrusion detection system,” Wikipedia, [Interactiv]. Available:
https://en.wikipedia.org/wiki/Intrusion_detection_system.
[6] „Network Switch,” Wikip edia, [Interactiv]. Available:
https://en.wikipedia.org/wiki/Network_switch.
NECLASIFICAT
NECLASIFICAT
din [7] B. Mitchell, „What Is a Virtual LAN (VLAN)?,” Lifewire, [Interactiv].
Available: https://www.lifewire.com/virtual -local -area-network -817357.
[8] C. Thompson, „Penetration Testing Versus Red Teaming: Clearing the
Confusion,” SecurityIntelligence, [Interactiv]. Available:
https://securityintelligence.com/posts/penetration -testing -versus -red-
teaming -clearing -the-confusion/.
[9] „Proxy server,” Wikipedia, [Interactiv]. Available:
https://en.wikipedia.org/wiki/Proxy_server.
[10] R. Mardisalu, „VPN Beginner’s Guide,” the best vpn, [Interactiv].
Available: https://thebestvpn.com/what -is-vpn-beginners -guide/.
[11] „Metasploit Unleashed – Free Ethical Hacking Course,” Offensive –
Security, [Interactiv]. Available: https://www.offensive –
security.com/metasploit -unleashed/.
[12] C. P. Paulino, Nmap 6: Network e xploration and security auditing
Cookbook, Birmingham: Packt Publishing Ltd., 2012.
[13] „Unicornscan,” kali, [Interactiv]. Available:
https://tools.kali.org/information -gathering/unicornscan.
[14] G. Weidman, Penetration Testing: A Hands -On Introduct ion to Hacking,
San Francisco: No Starch Press, 2014.
[15] „Infracțiuni contra siguranței și integrității sistemelor și datelor
informatice,” Noul Cod Penal, [Interactiv]. Available:
https://legeaz.net/noul -cod-penal/art -360.
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Academia Tehnică Militară Ferdinand I [628244] (ID: 628244)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
