Descoperirea Si Exploatarea Vulnerabilitatilor Mihai Dinescu V1.0 [307650]
Universitatea “Titu Maiorescu” din București
Facultatea de Informatică
LUCRARE DE DISERTATIE
COORDONATOR STIINTIFIC:
Conf. univ. dr. ing. Iustin PRIESCU
ABSOLVENT: [anonimizat]/IULIE
2019
Universitatea “Titu Maiorescu” din București
Facultatea de Informatică
Descoperirea și exploatarea
vulnerabilităților din rețelele
de calculatoare
COORDONATOR STIINTIFIC:
Conf. univ. dr. ing. Iustin PRIESCU
ABSOLVENT: [anonimizat]/IULIE
2019
Introducere
“[anonimizat]. [anonimizat]-te. Dacă adversarul tău e temperamental, încearcă să-l enervezi. Prefă-[anonimizat]. [anonimizat]-le. Atacă-l [anonimizat].”
[anonimizat] a [anonimizat]. [anonimizat], [anonimizat], de a [anonimizat], oamenii si resursele față de invadatori.
[anonimizat], ca există incă de la aparitia primilor oameni pe pamant. Acestia, [anonimizat], mâncare, adăpost, unelte. Pentru realizarea acestor 3 necesităti, [anonimizat], locul potrivit pentru a construi un adăpost dar și materialele cele mai bune pentru realizarea uneltelor și a armelor. Această dorință de cunoaștere se conturează în informație. Prin urmare a [anonimizat].
[anonimizat], însă o definiție generală ar putea fi urmatoarea: [anonimizat] a da o [anonimizat], prin urmare și necesitatea protejării ei.
Securitatea se poate defini ca starea de a fi liber de pericol sau de amenințare, o stare de normalitate.
[anonimizat]. Este bine cunoscut faptul că o [anonimizat], care îi dă sens.
Prin urmare de-a [anonimizat] a vulnerabilităților securității. [anonimizat]. Se spune că asediul asupra cetății Troiene ar fi durat aproximativ 10 ani, până în dimineața în care armatele grecești s-[anonimizat]. După o [anonimizat]. Când noaptea a căzut, calul s-a [anonimizat], au distrus Troia din interior. [anonimizat] a [anonimizat] a [anonimizat].
[anonimizat]. [anonimizat], deschide o [anonimizat].
[anonimizat]. Agenția de criptografie a guvernului polonez a decodat cifrul pentru mașinile Enigma timpurii ale Germaniei — dispozitive de criptare mecanică utilizate pe scară largă de către armata germană în timpul celui de-al doilea război mondial. Informațiile acumulate prin tehnicile de decriptare (nume de cod "ultra" al echipei britanice de spărgători) se crede că a grăbit sfârșitul războiului cu aproape doi ani, și a fost creditat de Winston Churchill ca fiind unul dintre elementele cheie în câștigarea războiului.
Criptografia este asociată cu procesul de conversie a textului simplu obișnuit într-un text neinteligibil și vice-versa. Este o metodă de stocare și transmitere a datelor într-o anumită formă, astfel încât numai cei pentru care este destinat poate citi și procesa. Criptografia nu numai că protejează datele de furt sau alterare, dar poate fi utilizată și pentru autentificarea utilizatorului.
Virusul Stuxnet – un virus agresiv de calculator creat pentru a împiedica dezvoltarea programului de energie nucleară din Iran. Stuxnet se răspândește prin intermediul Microsoft Windows și are ca obiectiv software-ul și echipamentele industriale Siemen. Rapoartele au afișat programul distructiv ca produs al unei operațiuni comune de spionaj SUA-israelian, și eliberarea virusului a fost descrisă ca fiind una dintre cele mai importante breșe de securitate la scară largă în istoria recentă din cauza efectelor sale asupra sistemelor din lumea reală.
Cat timp o informație este securizată, aceasta va prezenta întotdeauna un interes terțelor parți. Insa pentru a stabili cum aceasta poate fi protejata si ce masuri pot fi luate in aceasta privinta, trebuie cunoscut mediul de transmitere, stocare si procesare a acesteia.
In urmatoarele capitole, lucrarea trateaza atat partea teoretica a unei retele de calculatoare, tipuri de vulnerabilitati ale acestora, dar si tipuri de scanere si metode de securizare. Capitolele doi, trei si patru analizeaza informatii cu privire la istoricul retelelor informatice pana la IoT si ce inseamna acest lucru in dezvoltarea retelelor informatice, ce este o vulnerabilitate si un scanner de vulnerabilitati dar si ce este un exploit de securitate si cum utilizeaza aceste exploit vulnerabilitatea retelei. Urmatoarele doua capitole, prezinta partea practica a lucrarii prin utilizarea framework-ului de exploituri Metasploit, in atacul unei retele LAN standard.
Ce concluzii s-au obtinut si ce propuneri se pot face pentru eliminarea vulnerabilitatilor retelei informatice, sunt analizate in ultimul capitol al lucrarii.
Mediul retelistic actual
Ce este o retea de calculatoare
Ar dura destul de mult să gasim pe cineva care ar argumenta impotriva atunci când spunem că computerele noastre au devenit neprețuite pentru noi personal și profesional. Societatea umana a devenit extrem de dependentă de resursele pe care le oferă și de împărtășirea lor între ele. Abilitatea de a comunica cu ceilalți – fie că se află în aceeași clădire sau într-o zonă îndepărtată – se bazează complet pe capacitatea noastră de a crea și de a menține rețele solide și de încredere. Iar acele rețele de importanță vitală vin în toate formele și dimensiunile – de la mici și simple până la gigantice și super complicate. Dar, indiferent de dimensiunea lor, tot trebuie să fie securizate în mod corespunzător.
Prin urmare, termenul de „retea de calculatoare” defineste doua sau mai multe calculatoare conectate, ce impartasesc informatii, dispozitive office (imprimante, copiatoare), conexiuni la internet, sau combinatii ale acestora.
Fig. 2.1: exemplu retea de calculatoare
Internetul este, de asemenea, o rețea sau, mai precis, un grup de rețele interconectate.
Este adesea denumită o rețea de rețele si este accesata de miliarde de utilizatori.
Tipuri de retele
In functie de caracteristicile ei si de spatierea componentelor, o retea informatica poate fi de mai multe tipuri.
LAN (Local Area Network)
O rețea locală (LAN) este un grup de calculatoare și alte dispozitive conectate împreună. Acesta poate include doar câțiva utilizatori sau mii de utilizatori, dar cheia este că dispozitivele conectate la rețea sunt relativ apropiate unul de altul.
De exemplu, o reteta LAN (Small Office / Home Office) poate cuprinde intre unu și 10 utilizatori. Dispozitivele conectate la o rețea SOHO sunt în aceeași incapere. In contrast, întreprinderile mai mari pot avea LAN-uri care ocupă mai multe spatii într-o clădire sau chiar un o întreaga clădire.
WAN (Wide Area Network)
O rețea vastă (WAN) include două sau mai multe LAN-uri în locații geografice separate. Fiecare LAN este local pentru utilizatorii din LAN, dar alte LAN-uri sunt situate în altă parte. Majoritatea retelelor WAN sunt mai lente decat cele LAN, iar pentru interconectarea LAN-urilor sunt folosite echipamente denumite „Routere”.
PAN (Personal Area Network)
O rețea personală (PAN) este o rețea organizată în jurul unei persoane. Acesta include mobil dispozitive, cum ar fi telefoanele smartphone, auriculare pentru smartphone-uri și asistenți personali digitali. Acesta poate include, de asemenea, calculatoare portabile, cum ar fi tablete și netbook-uri. O PAN va folosi de multe ori tehnologii fără fir (Bluetooth, Wifi, NFC), deci uneori este denumită PAN fără fir (WPAN). Rata de actiune a unei retele de tip PAN este adesea pana la 10 metri sau mai puțin.
MAN (Metropolitan Area Network)
O rețea metropolitană (MAN) conectează mai multe LAN-uri într-o singura zona metropolitană. Un WAN poate fi un campus universitar mare sau o organizație mare, cu mai multe clădiri, sau poate cuprinde chiar și un oraș întreg.
VPN (Virtual Private Network)
O rețea privată virtuală (VPN) oferă acces la o rețea privată printr-o rețea publică cum ar fi Internetul. Organizațiile o folosesc adesea pentru a oferi acces VPN la resursele interne ale companiei, angajațiilor, chiar și atunci când acestia sunt in afara companiei. Unii angajați călătoresc, iar unii lucrează de acasă. Cu o rețea VPN, se pot conecta cu ușurință la rețeaua companiei lor în funcție de necesități.
Internetul este o rețea publică accesibilă oricui. Din acest motiv, conexiunile VPN prin internet trebuie să fie protejate. VPN-urile folosesc protocoale de tunelare pentru a cripta traficul. Dacă persoanele neautorizate intercepteaza transmiterea, acestea nu vor putea citi datele.
Fig. 2.2 Retea privata virtuala (VPN)
Evolutia retelelor informatice – IOT
Pe masura ce procesoarele au devenit mai ieftine, la inceputul anilor 1960, noi metode de organizare a procesarii informatice au aparut. Aceste metode au luat in considerare utilizatorul final, in acest fel, sistemul multiterminal a evoluat la statiul in care putea fi fi disponibil la cativa utilizatori. Timpul de raspuns era suficient de scurt pentru a deservi cei cativa utilizatori cu propriul terminal, intr-un mod de lucru numit time-sharing.
In timp, terminalele au evoluat in desktopuri, iar unele functii ca imputul si outputul datelor au devenit distribuite, chiar daca puterea de procesare a ramas centralizata.
Sistemul multiterminal, ce utiliza modul time-sharing, a devenit primul pas spre dezvoltarea LAN-urilor de azi.
Fig. 2.3 Sistem multiterminal centralizat (mainframe)
In 1969, departamentul de aparare al Statelor Unite, a initiat un proiect ce a constat in conectarea computerelor centrelor de aparare si cercetare, in retea. Aceasta retea, devenita cunoscuta ca ARPANET, a servit ca linie de start pentru prima si cea mai dezvoltata retea WAN existenta, cunoscuta in prezent ca Internet.
ARPANET a conectat computere de diferite tipuri si care utilizau sisteme de operare diferite, si care beneficiau de componente suplimentare, prin implementarea protocolalelor de comunicare comune pentru toate calculatoarele conectate la retea. Aceasta retea a facut posibilitatea, de asemenea, ca puterea de procesare sa fie distribuita, intre calculatoarele conectate prin legaturi electrice.
Mai tarziu, la inceputul anilor 1970, a aparut si prima retea LAN, datorita avansului tehnologic, si aparitiei minicomputerelor, ce a permis practic, inlocuirea mainframe-urilor. Majoritatea companiilor isi puteau permite astfel mici retele locale ce putea gestiona mult mai eficient activitatea.
Fig. 2.4 Tipuri de legaturi in primul LAN
Mijlocul anilor 1980, odata cu aparitia computerelor personale, a permis dezvoltarea tehnologiilor ca Ethernet, Arcnet, Token Ring, tehnologii ce au stat practic, la baza, retelelor LAN din zilele noastre.
In prezent, retelele informatice continua o dezvoltare constanta, atat pe partea tehnologica, prin dezvoltarea capacitatilor de transfer a datelor prin conexiunile realizate (fibra optica, cabluri UTP, sau coaxiale), cat si din punctul de vedere al dispozitivelor conectate. Se vorbeste de IOT sau Internetul lucrurilor (Internet of Things).
IoT implică extinderea conectivității la Internet dincolo de dispozitivele standard, cum ar fi desktopurile, laptopurile, smartphone-urile și tabletele, la orice gamă de dispozitive fizice și obiecte obișnuite, în mod tradițional fara conexiuni la retea sau fără internet. Fiind integrate cu tehnologie, aceste dispozitive pot comunica și interacționa pe Internet si in retelele locale, și pot fi monitorizate și controlate de la distanță.
Fig. 2.5 Imagine de ansamblu a Internetului
Desi IoT s-a dezvoltat in ultimii ani, nu este un concept nou. Conceptul de rețea de dispozitive inteligente a fost discutat încă din 1982, cand o mașină automată de Coca Cola de la Universitatea Carnegie Mellon a devenint primul aparat conectat la Internet, capabil să raporteze inventarul său și dacă băuturile nou-încărcate erau reci sau nu.
Odata cu evolutia retelelor informatice, si a IoT, metodele criminalitatii au evoluat de asemenea. Intrucat IoT, nu este un concept suficient de matur, marea majoritatea a dispozitivelor non computationale, beneficiaza intr-o foarte mica masura, sau chiar deloc, de protectie impotriva atacurilor informatice. Atunci cand, astfel de dispozitive, sunt automobile sau echipamente medicale, putem vorbi despre consecinte destul de grave in cazul acestor atacuri.
Conform previziunilor Gartner.com, în 2016 erau utilizate 6,4 miliarde de dispozitive IoT, cu 30% mai mult din 2015 și vor atinge aproape 21 de miliarde până în 2020 si 75 de miliarde pana in 2025. O mare parte din firmw
are-ul încorporat care rulează pe aceste dispozitive este nesigur și extrem de vulnerabil, lăsând un număr nedeterminat de sisteme și date critice din întreaga lume în pericol. Pe măsură ce crește IoT, suprafața de atac crește, de asemenea, și toate lacunele / vulnerabilitățile prezente în lumea digitală vor curge în lumea noastră reală. Înainte de IoT, atacatorii au folosit vulnerabilități pentru furtul de date sau pentru a face bani sau uneori doar pentru distractie, dar cu IoT, suprafața de atac a crescut într-o asemenea măsură încât atacatorul poate folosi vulnerabilități sau lacune ale mașinilor, armelor inteligente etc., pentru a ucide o persoană de la distanță cu câteva apasari ale tastaturii. Atacatorii constată în mod constant vulnerabilitățile de a sparge IoT și de a folosi aceste vulnerabilități pentru multe scopuri ilegale.
Cateva din motivele securitatii scazute a dispozitivelor IoT se pot rezuma la:
• Dispozitivele IoT au mai puține resurse, cum ar fi puterea de procesare mai mică, spațiul de stocare, memoria etc.
• Actualizarea firmware-ului nu este directă.
• Nu este ușoara aplicarea patch-urilor de securitate.
• Antimalware-ul, software-ul de securitate nu poate fi instalat pe toate IOT-urile.
Tipuri de scanere de vulnerabilitati
Ce înseamnă o vulnerabilitate?
Înainte de a defini vulnerabilitatea rețelelor informatice, trebuie mai întâi înțeles conceptul de securitate a unei rețele informatice. Astfel discutam despre securitate rețelei ca fiind compusă din componente hardware și software concepute pentru a proteja datele și informațiile procesate în rețea. În plus, aceste componente furnizează măsuri de prevenire pentru protejarea infrastructurii rețelei și a datelor sale împotriva accesului neautorizat, modificării datelor, corupției și dezvăluirii necorespunzătoare. În cele din urmă, securitatea rețelei este concepută pentru a crea un mediu securizat în care utilizatorii de computere, programe software și aplicații mobile pot efectua activități computerizate sau digitale fără vulnerabilități de rețea.
Vulnerabilitatea este un termen de securitate cibernetică care se referă la un defect într-un sistem care îl poate lăsa deschis spre atac. O vulnerabilitate se poate referi, de asemenea, la orice tip de slăbiciune într-un sistem informatic în sine, într-un set de proceduri sau în orice lucru care lasă securitatea informațiilor expuse unei amenințări.
Vulnerabilitățile sunt ceea ce profesioniștii în domeniul securității informațiilor și al asigurării informațiilor încearcă să reducă. Reducerea vulnerabilităților oferă mai puține opțiuni pentru ca utilizatorii rău-intenționați să aibă acces la informații sigure.
Utilizatorii de calculatoare și personalul rețelei pot proteja sistemele informatice de vulnerabilități, păstrând actualizarea patch-urilor de securitate software. Aceste patch-uri pot remedia defectele sau găurile de securitate care au fost găsite în lansarea inițială. Personalul din computere și rețele ar trebui, de asemenea, să fie informat cu privire la vulnerabilitățile actuale din software-ul pe care îl utilizează și să caute modalități de protecție împotriva acestora.
Scanarea vulnerabilitatii este o inspecție a punctelor potențiale de exploatare pe un computer sau o rețea pentru a identifica găurile de securitate. O scanare a vulnerabilităților detectează și clasifică deficiențele de sistem în computere, rețele și echipamente de comunicații și prezice eficacitatea contramăsurilor. O scanare poate fi efectuată de un departament IT al unei organizații sau de un serviciu de securitate furnizat, eventual ca o condiție impusă de o autoritate. Verificările de vulnerabilitate sunt, de asemenea, folosite de atacatorii care caută puncte de intrare.
Un scanner de vulnerabilitate rulează de la punctul final al persoanei care inspectează suprafața de atac în cauză. Software-ul compară detaliile despre suprafața atacului țintă într-o bază de date cu informații despre găurile de securitate cunoscute în servicii și porturi, anomalii în construcția pachetelor și căile potențiale pentru programele sau scripturile exploatabile. Software-ul scanerului încearcă să exploateze fiecare vulnerabilitate descoperită.
Rularea unei scanări de vulnerabilitate poate să-și pună propriile riscuri, deoarece este în mod inerent de intruziune asupra codului de funcționare al mașinii țintă. Ca rezultat, scanarea poate provoca probleme precum erorile și repornirea, reducând productivitatea.
Există două modalități de scanare a vulnerabilităților, scanări autentificate și neauthenticate. În metoda neauthenticată, testerul efectuează scanarea ca un intrus, fără acces de încredere în rețea. O astfel de scanare relevă vulnerabilități care pot fi accesate fără conectarea la rețea. Într-o scanare autentificată, testerul se conectează ca utilizator de rețea, dezvăluind vulnerabilitățile accesibile unui utilizator de încredere sau un intrus care a obținut acces ca utilizator de încredere.
Impactul unei încălcări a securității poate fi foarte ridicat. Faptul că managerii IT sau conducerea superioară pot (ușor) să știe că sistemele și aplicațiile IT au vulnerabilități și nu efectuează nicio acțiune pentru a gestiona riscul IT este privită ca o abatere în majoritatea legislațiilor. Dreptul de confidențialitate forțează managerilor să acționeze pentru a reduce impactul sau probabilitatea acestui risc de securitate. Auditul de securitate al tehnologiei informației este o modalitate de a permite altor persoane independente să certifice că mediul IT este gestionat corespunzător și să reducă responsabilitățile, cel puțin prin demonstrarea bunei credințe. Testul de penetrare este o formă de verificare a slăbiciunilor și a contramăsurilor adoptate de o organizație: un hacker white hat, încearcă să atace activele unei organizații în tehnologia informației, pentru a afla cât de ușor sau dificil este să compromită securitatea informatică. Modul adecvat de gestionare profesională a riscului IT este adoptarea unui sistem de management al securității informațiilor, cum ar fi ISO / IEC 27002 sau Risk IT, și urmărirea acestora, în conformitate cu strategia de securitate stabilită de conducerea superioară.
Tipuri de vulnerabilități
Fiecare tip de rețea informatica, „beneficiază” de propriile vulnerabilități. Cele mai comune rețele, LAN si wireless sunt de altfel si cele mai predispuse atacurilor prin vulnerabilitățile pe care acestea le au.
Rețele Wi-Fi
Pentru rețelele wireless cele mai comune sunt:
Spargerea parolelor WEP
Rețeaua wireless, care este protejată de WEP, nu este sigură conform tehnologiei actuale. Toți atacatorii pot să determine cheia WEP intr-un timp foarte scurt. Odată ce atacatorul a determinat cheia, el poate intra în sistem și poate monitoriza traficul sau poate lua rolul administratorului și poate schimba setările.
Spargerea parolelor WPA
WPA este cel care utilizează mecanismul de securitate, cunoscut ca protocol de integritate temporală a cheii. Există modalități prin care atacatorul experimentat și determinat poate decripta, de asemenea, traficul de intrare către computerele care utilizează WPA cu TKIP. Nu mai este o opțiune sigură și trebuie să utilizeze WPA2 cu AES pentru rețeaua securizată.
Geamănul malefic (Evil twin)
Un geamăn malefic este conexiune WI-Fi falsa, care păcălește utilizatorul sa creadă ca se conectează la o rețea wireless legitima. Este echivalentul wireless a unui atac de tip phishing.
Rogue access point
Este un punct de acces wireless instalat fără permisiunea explicită a unei echipe de administrare a rețelei. Pentru prevenția instalării acestui tip de AP, se folosește WIPS sau wireless intrusion prevention system care detectează schimbările într-un spectru de frecvențe radio care indică faptul că un noul punct de acces este operațional și instalat. Majoritatea acestor sisteme vor lua contramăsuri automate prin identificarea unui AP instalat fraudulos și redirecționarea traficului departe de acesta.
Aceste vulnerabilități pot duce la atacuri de genul: DDoS, Man in the middle, Social engineering, Virus, Worms, Buffer overflow, Pachet sniffing, FTP bounce etc.
Rețele LAN
Rețelele LAN au o serie de vulnerabilități specifice lor astfel:
Slaba securitate a aplicațiilor
Multe aplicații comerciale comune conțin vulnerabilități inerente. Având în vedere aceste vulnerabilități, infractorii pot avea acces la rețea, indiferent cât de multe dintre aplicațiile sunt construite in-house versus cumpărate.
Parole
Fără administrarea bazată pe politici, care cere utilizatorilor să creeze o parola de acces din litere, numere și caractere speciale, aceștia ar putea să folosească parole de acces precum "parola" sau "12345". În plus, alegerea de a recicla parolele în cadrul conturilor poate facilita accesul infractorilor care au credențele furate sau folosesc atacuri brute-forced.
Acces excesiv
Utilizatorii care au acces la mai multe date decât este strict necesar pot duce la compromiterea integrității și la alte probleme. Accesul excesiv al utilizatorilor ar putea fi cauzat de practici de securitate a rețelei greșite sau de politici incomplete de securitate a informațiilor. În unele cazuri, departamentele IT nu dispun de roluri de utilizator bine definite pentru fiecare poziție din cadrul organizației. În alte cazuri, utilizatorii pot schimba roluri prin promovări sau schimbări de locuri de muncă și pot păstra accesul la seturi de date vechi.
Securitatea stațiilor de lucru
Stațiile de lucru ar trebui să se blocheze după inactivitate sau încercări incorecte de parolă, pentru a împiedica accesul unor terți sau insideri cu intenții rele. În cazuri rare în care un loc de muncă al unui utilizator le cere să stocheze informații personale sensibile (PII) pe stația lor de lucru, trebuie utilizata criptarea puternică.
Dacă angajații folosesc laptopuri personale sau care le pot lua cu ei in deplasări, virtualizarea poate fi o metodă importantă de conectare și segregare securizată. În plus, monitorizarea integrității fișierelor oferă posibilitatea de a opri atacurile de securitate la nivelul stației de lucru. Acest lucru poate permite IT-ului să acționeze rapid dacă utilizatorii dau clic pe un link rău intenționat.
Stick-uri de memorie USB
Sunt una dintre cele mai frecvente moduri în care o rețea se poate infectata din interior. Există mai multe motive pentru acest lucru; acestea sunt ieftine, mici, dețin un spațiu de stocare ridicat și pot fi utilizate între mai multe tipuri de calculatoare.
Scannere de vulnerabilități
Un scanner de vulnerabilitate oferă asistență automată pentru urmărirea vulnerabilităților cunoscute și pentru detectarea expunerii la acestea.
Orice rețea începând cu cel mai mic birou are o suprafață de atac prea mare și complexă pentru o monitorizare manuală. În prezent, majoritatea sistemelor de operare oferă actualizări automate ale software-ului. Pentru o organizație mică, aceasta ar putea fi suficientă. Dar cât de mult din software-ul instalat acoperă acest lucru? Și ce alte servicii defectuoase sau software neautorizat au apărut în rețeaua ulterior? Semnificația "hack yourself first" sugerează că orice gazdă sau dispozitiv expus la internet trebuie să fie testat pentru penetrare, iar principiul "apărare în profunzime" spune că și gazdele și dispozitivele "interne" trebuie auditate în mod regulat.
Un scanner de vulnerabilitate oferă asistență automată cu acest lucru. La fel ca multe dintre instrumentele de administrare a rețelei, un scanner de vulnerabilitate are atât utilizări legitime, cât și nelegitime. Poate fi util administratorului de sistem, dezvoltatorului, cercetătorului în domeniul securității, testerului de penetrare sau hacker-ului. Acesta poate fi folosit la evaluarea expunerii pentru a vă asigura rețeaua sau pentru a căuta exploituri viabile.
Un scanner de vulnerabilitate se bazează pe o bază de date cu vulnerabilități cunoscute și teste automate pentru acestea. Un scanner limitat se va adresa doar unei singure gazde sau unui set de gazde ce rulează o singură platformă de sistem de operare. Un scaner cuprinzător scanează o gamă largă de dispozitive și gazde pe una sau mai multe rețele, identificând tipul dispozitivului și sistemul de operare și analizând vulnerabilitățile relevante cu o intruzivitate mai mică sau mai mare.
O scanare poate fi bazată exclusiv pe rețea, efectuată de pe internet (scanare externă) sau din interiorul intranetului local (scanare internă). Poate fi o inspecție profundă care este posibilă atunci când scanerului i s-au furnizat acreditări pentru a se autentifica ca utilizator legitim al gazdei sau dispozitivului.
Cateva scanere de vulnerabilitati ce pot fi utilizate atat ca resurse gratuite sau contra cost se pot gasi mai jos:
Port scanner (e.g. Nmap)
Network vulnerability scanner (e.g. Nessus, Qualys, SAINT, OpenVAS, INFRA Security Scanner, Nexpose, edgescan)
Web application security scanner (e.g. Detectify, METASCAN, Acunetix, Probe.ly, Nikto, Qualys, Sucuri, High-Tech Bridge, Burp Suite, OWASP ZAP, w3af, edgescan, TIDoS Framework)
Database security scanner
Host based vulnerability scanner (Lynis)
ERP security scanner
Single vulnerability tests
Exploituri de securitate
Exploitul reprezinta stampila hacking-ului. O aplicatie este alcătuita dintr-un set complex de reguli care urmează unui anumit flux de execuții care în cele din urmă spune computerului ce să facă. Exploatarea unui program este pur și simplu un mod inteligent de a obține computerul să facă ceea ce vrei să facă, chiar dacă programul curent de funcționare a fost conceput pentru a împiedica această acțiune. Deoarece o aplicatie poate sa faca numai ce a fost proiectat sa faca, găurile de securitate sunt deficiențe sau depășiri în proiectarea programului sau a mediului in care aplicatia se execută. Este nevoie de o minte creativă pentru a găsi aceste găuri și să scrie programe care să le compenseze. Uneori aceste găuri sunt erori de programare relativ evidente, dar există unele erori mai puțin evidente care au dat naștere unor tehnici de exploatare mai complexe care pot fi aplicate în multe locuri diferite.
Programul poate face doar ceea ce este programat să facă, si asta e litera de lege. Din păcate, ceea ce este programat nu coincide întotdeauna cu ceea ce programatorul intenționa ca programul să facă. Uneori repercursiunile pot fi catastrofale. Cum programatorii sunt oameni, uneori ceea ce scriu in cod nu este si ceea la ce se refera. De exemplu, o eroare comuna de programare este denumită si eroarea off-by-one. După cum sugerează și numele, este o eroare în care programatorul a numarat fara o unitate. Acest lucru se întâmplă mai des decât s-ar putea crede, și este cel mai bine ilustrat cu o întrebare: dacă se construieste un gard de 100 de metrii, cu popi la 10 metrii distanță, câti popi vor fi nevoie? Evident răspunsul este 11 popi de gard, dar acest lucru este incorect, deoarece este nevoie de fapt de 11. Acest tip de eroare este denumită în mod obișnuit o eroare fencepost și apare atunci când programatorul numără în mod eronat elementele în locul spațiilor dintre elemente sau viceversa.
Deseori, erorile fencepost trec neobservate, deoarece programele nu sunt testate pentru orice posibilitate, iar efectele unei erori fencepost în general nu apar în timpul executării normale a programului. Cu toate acestea, atunci când programul este alimentat cu informatii, face ca efectele erorii să se manifeste, astfel incat eroarea poate avea un efect de avalanșă asupra restului logicii programului. Exploatate în mod corespunzător, o eroare fencepost poate provoca un program aparent sigur sa devina o vulnerabilitate de securitate.
Un exemplu clasic în acest sens este OpenSSH, care este menit să fie un terminal de comunicare sigur, conceput pentru a înlocui servicii necriptate, cum ar fi telnet, rsh și rcp. Cu toate acestea, în codul de alocare a canalelor, a apărut o eroare de tip offby-one, care a fost puternic exploatata. În mod specific, codul a inclus o declarație if care citește:
if (id < 0 || id > channels_alloc) {
ar fi trebuit sa fie
if (id < 0 || id >= channels_alloc) {
Această eroare simplificată a permis o exploatare ulterioară a programului, astfel încât un utilizator obișnuit autentificat și conectat să poată câștiga drepturi administrative la sistem. Acest tip de funcționalitate cu siguranță, nu a fost ceea ce programatorii intenționau pentru un program sigur ca OpenSSH, dar un calculator poate face doar ceea ce i se spune.
Framework-uri pentru exploatarea vulnerabilitatilor
Ce este un framework de vulnerabilitati/exploit-uri
Un framework de vulnerabilitati este o platformă software pentru dezvoltarea, testarea și executarea exploiturilor. Aceasta poate fi folosita pentru a crea instrumente de testare a securității și module de exploituri și, de asemenea, ca un sistem de testare a penetrării retelelor informatice.
Pașii de bază pentru exploatarea unui sistem care utilizează un framework de vulnerabilitati includ:
Alegerea și configurarea unui exploit (cod care intră într-un sistem țintă, profitând de unul dintre bug-urile sale, sunt incluse aproximativ 900 de exploatații diferite pentru sistemele Windows, Unix / Linux și Mac OS X);
Verificarea opțională dacă sistemul țintă vizat este susceptibil la exploatarea aleasă;
Alegerea și configurarea unui payload (cod care va fi executat pe sistemul țintă după intrarea cu succes, de exemplu, un shell remote sau un server VNC);
Alegerea tehnicii de codificare astfel încât opcodele hexazecimale cunoscute sub numele de "caractere proaste" să fie eliminate din payload, aceste caractere vor determina exploitul să eșueze.
Executarea exploitului.
Această abordare modulară – care permite combinarea oricărui exploit cu orice payload – reprezintă avantajul major al unui framework de vulnerabilitati. Acesta facilitează actiunile atacatorilor, scriitorii de exploituri și scriitorii de payload-uri.
Aceste platforme de pachete software, sunt dezvoltate deseori in mod open-source, de comunitati de profesionisti specializati pe securitate informatica insa se regasesc si pachete software ce pot fi obtinute contracost si care ofera anumite caracteristici suplimentare ce nu se regasesc, in general, in versiunile gratuite.
Unul din cele mai cunoscute framework-uri de vulenrabilitati este Metasploit, care este livrat atat open source, cat si contra cost. In functie de tipurile de exploituri pe care le pot utiliza, framework-uri ca OWTF, BeEF sau RouterSploit pot furniza solutii de penetrare pe care Metasploit nu le are in vedere.
OWTF (Offensive Web Testing Framework) – utilizat pentru teste de penetrare si evaluare a securitatii retelelor informatice;
BeEF – este utilizat pentru a evalua securitatea unui sistem prin folosirea browserului web. Acest lucru face ca instrumentul să fie diferit de multe alte framework-uri, deoarece ignoră securitatea la nivel de rețea sau sistem. Utilizează module de comandă din browserul web pentru a efectua atacuri împotriva sistemului tinta.
RouterSploit – este un framework pentru exploatarea dispozitivelor integrate, cum ar fi camerele și routerele. Acesta poate fi utilizat în timpul testelor de penetrare pentru a testa securitatea unei game largi de dispozitive. RouterSploit vine cu mai multe module pentru scanarea și exploatarea dispozitivelor. Instrumentul ajută la toate etapele, cum ar fi de la testarea credentialelor la lansarea unui payload pentru a efectua o încercare de exploatare.
Metasploit Framework
Metasploit rulează pe Unix (inclusiv Linux și Mac OS X) și pe Windows. Framework-ul poate fi extins prin utilizarea programelor de completare (add-on) în mai multe limbi.
Pentru a alege un exploit și o payload, sunt necesare câteva informații despre sistemul țintă, cum ar fi versiunea sistemului de operare și serviciile de rețea instalate. Aceste informații pot fi obținute cu ajutorul instrumentelor de scanare a porturilor și OS fingerprinting, cum ar fi Nmap. Scanerele de vulnerabilitate, cum ar fi Nexpose, Nessus și OpenVAS, pot detecta vulnerabilitățile sistemului vizat. Metasploit poate importa datele scanerului de vulnerabilitate și poate compara vulnerabilitățile identificate cu modulele de exploatare existente pentru exploatarea corectă.
Metasploit nu este doar un instrument; este un cadru complet care oferă infrastructura necesară automatizării sarcinilor banale, de rutină și complexe. Acest lucru permite concentrarea asupra aspectelor unice sau specializate ale testarii penetrării și identificarea vulnerabilitatilor din cadrul retelelor informatice sau a aplicatiilor software.
Metasploit permite obtinerea cu ușurință a vectorilor de atac ce imbunatatesc exploiturile, payload-urile, encoderele și multe altele, în scopul de a crea și executa atacuri mai avansate. O schita a functionalitatii Metasploit framework se poate observa in figura 4.1.
Fig. 4.1 – Arhitectura Metasploit Framework
Pentru o intelegere cat mai corecta a arhitecturii framework-ului, Metasploi integreaza o serie de terminologii, ce definesc caracteristicele acestuia.
Exploit – este mijlocul prin care un atacator, sau un tester de penetrare a securitatii, profita de un defect în cadrul unui sistem, al unei aplicații sau al unui serviciu. Un atacator utilizează un exploit pentru a ataca un sistem într-un mod care duce la un anumit rezultat pe care dezvoltatorul nu a intenționat niciodată. Exploiturile comune includ buffer overflow, vulnerabilități ale aplicațiilor web (cum ar fi SQL injection) și erori de configurare.
Payload – este codul pe care dorim ca sistemul să-l execute și care urmează să fie selectat și livrat de framework. De exemplu, un reverse shell este un payload ce creează o conexiune de la mașina țintă către atacator ca prompt de comandă Windows, în timp ce un bind shell este un payload ce "Leagă" un prompt de comandă la un port de pe mașina țintă, si la care atacatorul se poate conecta. Un payload ar putea fi, de asemenea, ceva la fel de simplu ca câteva comenzi care trebuie executate pe sistemul de operare țintă.
Shellcode – este un set de instrucțiuni folosite ca payload atunci când are loc un exploit. Shellcode este în general scris în limbajul de asamblare. În majoritatea cazurilor, o comandă shell sau o shell Meterpreter vor fi furnizate după seria de instrucțiuni a fost efectuata de către mașina țintă.
Modul – este o piesă de software care poate fi utilizată de către Metasploit framework. Uneori, se poate solicita utilizarea unui modul de exploit, o componentă software care conduce atacul. Alteori, un modulul auxiliar poate fi necesar pentru a efectua o acțiune cum ar fi scanarea sau enumerarea sistemelor.
Listener – este o componentă din cadrul Metasploit care așteaptă o conexiune externa. De exemplu, după ce mașina-țintă a fost exploatată, este posibil a se realiza o conexiune cu mașina de atac prin Internet. Acest modul se ocupă de această conexiune, așteptând ca atacatorul să fie contactat de sistemul exploatat.
Metasploit oferă mai mult decat o singura interfață la funcționalitatea sa de bază, incluzand consola, linia de comandă și interfețele grafice. Pe lângă aceste interfețe, exista utilitare ce oferă acces direct la funcții interne a framework-ului. Aceste utilități pot fi de neprețuit pentru dezvoltatorii de exploituri și in situatii pentru care nu este nevoie de flexibilitate a întregului cadru.
MSFconsole – Msfconsole este de departe cea mai populară parte a Metasploit Framework, și pentru un motiv bun. Este unul dintre instrumentele cele mai flexibile, bogate în caracteristici și bine susținute în cadrul Metasploit. Msfconsole oferă o interfață pentru aproape toate opțiunile și setările disponibile în framework; Se poate folosi msfconsole pentru a face totul, inclusiv lansarea unui exploit, încărcarea modulelor auxiliare, efectuarea de enumerare, crearea listen-erelor sau exploatarea în masa împotriva unei întregi rețele. Deși cadrul Metasploit se schimbă în mod constant, un subset de comenzi al acestuia rămân relativ constante. Prin stăpânirea principiilor de bază al msfconsole se poate ține pasul cu orice schimbăre.
Pornirea MSFconsole (in Kali Linux) se face prin comanda:
root@kali:~# msfconsole
[-] ***rting tHe Metasploit Framework console…-
[-] * WARNING: No database support: could not connect to server: Connection refused
Is the server running on host "localhost" (::1) and accepting
TCP/IP connections on port 5432?
could not connect to server: Connection refused
Is the server running on host "localhost" (127.0.0.1) and accepting
TCP/IP connections on port 5432?
[-] *** ____________
[%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%| $a, |%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%]
[%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%| $S`?a, |%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%]
[%%%%%%%%%%%%%%%%%%%%__%%%%%%%%%%| `?a, |%%%%%%%%__%%%%%%%%%__%%__ %%%%]
[% .–––..––.| |_ .–.-.| .,a$%|.––.| |.––.|__|| |_ %%]
[% | || -__|| _|| _ || ,,aS$""` || _ || || _ || || _|%%]
[% |__|__|__||_____||____||___._||%$P"` || __||__||_____||__||____|%%]
[%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%| `"a, ||__|%%%%%%%%%%%%%%%%%%%%%%%%%%] [%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|____`"a,$$__|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%]
[%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% `"$ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%]
[%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%]
=[ metasploit v5.0.2-dev ]
+ – –=[ 1852 exploits – 1046 auxiliary – 325 post ]
+ – –=[ 541 payloads – 44 encoders – 10 nops ]
+ – –=[ 2 evasion ]
+ – –=[ ** This is Metasploit 5 development branch ** ]
msf5 >
Exploatarea vulnerabilitatilor folosind Metasploit framework
In continuarea lucrarii, prezentul capitol analizeaza cercetarea studiului de caz cu privire la utilizarea Metasploit Framework pentru descoperirea vulnerabilitatii si atacul asupra unui sistem informatic din retea. Vor fi prezentate atat metodele dar si uneltele cu care se pot desfasura astfel de atacuri informatice.
Cercetarea are la baza o platforma de test, in cadrul careia s-a realizat studiul respectiv. Aceasta platforma este formata din sisteme informatice virtuale ce simuleaza, intr-o mica masura, o reteta de calculatoare locala dintr-o companie/locatie privata etc.
Prin urmare scenariul atacului este urmatorul:
O persoana rau intentionata, urmareste accesul fraudulos la o retea locala privata, pentru furtul de date informatice. Cum acesul fizic la retea nu este posibil (atacatorul nu se poate lega prin cablu la aceasta retea), acesta va incerca acces-ul utilizand o conexiune wireless, prin urmare va incerca un atact de tip „Evil Twin”. Atacul de tip Evil Twin, creaza o retea wireless clona, a retelei originale, pacalind echipamentele sa se conecteze la cea din urma, furnizand astfel credentialele de acces. Prin urmare atacul consta in doua parti: Accesul la retea si accesul pe sistemele vulnerabile.
Astfel, in continuare, vor fi prezentate:
Platforma de test – mediul de desfasurare al cercetarii;
Configurarea si pregatirea sistemului de atac;
Atacul propriuzis;
Mediul de desfasurare al cercetarii
Pentru desfasurarea optima a cercetarii, si fara interferente externe, s-a optat pentru un mediu virtual izolat partial, configurat pe o platforma fizica. Reteaua de test a constat intr-o configuratie simpla formata dintr-un router pentru conexiunea la internet, ce a indeplinit in acelasi timp si rolul de server DHCP, pentru sistemele din retea. Reteaua a fost formata din 3 clienti virtuali cu sisteme de operare diferite, instlate dar fara actualizarile la zi facute, pentru a demonstra riscurile si utilitatea update-urilor publicate de Microsoft. Astfel, au fost utilizate, Windows XP 32 Bit Sevice Pack 3, Windows 7 32 Bit versiunea 7601 cu Service Pack 1 si Windows 10 64 bit versiunea 1809.
Pentru sistemul de atac s-a utilizat plaforma software Kali Linux versiunea 2019.1 32 bit . Kali Linux este o distribuție Linux bazată pe Debian, destinată testelor avansate de penetrare și auditării securității. Kali conține câteva sute de instrumente care sunt orientate către diferite sarcini de securitate a informațiilor, cum ar fi testarea penetrării, cercetarea în domeniul securității, criminalistica informatică și ingineria inversă.
Tot acest mediu virtual s-a construit pe o platforma fizica formata (asa cum se poate vedea si din imaginea 5.1) din:
Notebook cu Procesor Intel Core I7 5500U, ce suporta virtualizare, 12 Gb memorie RAM, si 256 Gb spatiu de stocare pe mediu SSD.
Sistem de operare, Windows 10 64 Bit Versiunea 1809
Fig. 5.1.1 – Configuratie sistem fizic
Pentru dezvoltarea mediului virtual s-a utilizat aplicatia VirtualBox versinuea 6.0 de la Oracle, pentru crearea si managementul retelei si a clientilor vituali. Asa cum a fost specificat la inceputul capitolului, retetaua este constituita (figura 5.2) din 3 clienti, un server DHCP, si sistemul de atac.
Fig. 5.1.2 – Schita retea virtuala
Pe sistemul fizic se instaleaza VirtualBox urmand pasii generici, specificati de ghidul de instalare. Dupa instalare, la deschiderea aplicatiei, interfata arata ca in figura de mai jos (insa fara clientii virtuali deja configurati):
Fig. 5.1.3 – Interfata VirtualBox
Crearea si configurarea unui host (client virtual), se realizeaza din tab-ul „Machine/New”. Va aparea o fereastra noua de configurare a host-ului, unde se adauga numele acestuia si se aloca resursele necesare ca: CPU, Ram, memorie video, dar si tipul de sistem de operare folosit si imagine de instalare a sistemului de operare, sau disc-ul virtual cu imaginea gata instalata a sistemului de operare.
Fig. 5.1.4 – creare host nou in VirtualBox
Referitor la confgurarea setarilor de reteta, s-au ales optiunea NAT, pentru ca reteua virtuala locala sa poata avea acces la Internet.
Fig. 5.1.5 – Setari reteta virtuala
In paralel cu mediul virtual de test, construit pentru simularea atacului cu Metasploit Framework, s-a simulat si penetrarea retelei locale, profitand de vulnerabilitatea conexiunii de tip wireless a router-ului. Pentru simulare s-a utilizat un WAP – NETIS WF2780, un router wireless gigabit, ce emite unde radio atât pe frecvența de 2.4GHz cât și pe 5.0GHz. Configurarea inițială a WAP a fost realizată, folosind utilitarul de configurare rapidă al acestui echipament.
Fig. 5.1.6 – Configurare WAP
Configurarea si pregatirea sistemului de atac
Pregatirea unui sistem pc pentru atacul retelelor, nu este o procedura complicata, insa necesita cateva cunostinte de baza in instalarea sistemelor de operare, necesarul de putere de calcul pentru a putea rula pachetele software necesare dar si eventuale dispozitive solicitate in procesul de penetrare.
Pentru cazul curent atacul s-a desfasurat atat de pe un sistem fizic, pentru penetrarea retelei wireless, dar si de pe un sistem virtual, pentru accesul pe sistemele informatice.
Echipamentul fizic utilizat a fost un laptop cu urmatoarea configurație:
CPU – Intel Celeron 575 tactat la 2.00GHz set de instruțiuni pe 64 de biți;
Memorie RAM tip DDR2, 4 GB;
Disc pentru stocare date, de 160 GB;
Adaptor wireless integrat, model Qualcomm Atheros AR928X (PCI-Express);
Deși sistemul folosit, este de generație veche iar componentele utilizate se află la limita inferioară a performanței, acesta trebuie să fie capabil să ruleze sistemul de operare necesar. Se constata totodată, că un astfel de echipament, poate fi obținut foarte ușor de orice persoană rău intențonată, întrucât costul de achiziție este foarte mic. De asemenea în utilizarea atacului un rol foarte important îl are adaptorul wireless al echipamentului. Acesta trebuie să permita atat modul de monitorizare dar si optiunea de “Packet injection”, de care utilitarele de atac se vor folosi pentru monitorizarea rețelelor wireless tintă și atacul lor.
Pe sistemul fizic prezentat anterior, s-a instalat versiunea 2018.1 – 64 Bit, a Kali Linux. Pentru instalare, s-a realizat un USB stick bootabil (dispozitiv de pe care sistemul poate inițializa instalarea și a cărui spațiu de stocare trebuie să fie de minim 4 GB), folosind pe un alt sistem cu SO Windows, utilitarul Win32 Disk Imager.
Fig. 5.2.1 – Win32 Disk Imager.
Cu acest USB stick realizat, se inițializează instalarea Kali Linux pe sistemul de atac, urmărind pașii de instalare afișati de SO. La finalizarea instalării SO va solicita o parolă pentru utilizatorul ”root”. Acest utilizator este administratorul SO iar orice modificări aduse vor solicita credențialele acestuia de forma ”user: root” și ”password: parola setată”.
După instalare sistemul de operare va afișa fereastra desktop ca în imaginea de mai jos:
Fig. 5.2.2 – Kali Linux desktop
In urmatorul pas, se procedeaza la instalarea utilitarului, Fluxion. Aplicatia contine toate instructiunile si comenzile necesare pentru crearea unei conexiuni Evil Twin. Astfel, autentificat cu utilizatorul ”root” pe sistemul de atac, se descarcă și se instalează Fluxion. Se accesează adresa de descărcare, iar utilitarul se salvează în sistem ca o arhivă *.zip. Această arhivă se extrage pentru a avea acces la fișierele sursă.
Fig. 5.2.3 – Descarcare utilitar Fluxion
Fig. 5.2.4 – Dezarhivare utilitar Fluxion
După dezarhivarea arhivei, se inițializează instalarea propriuzisă. Aceasta este puțin diferită față de instalări de aplicații sub sistemul de operare Windows. Instalarea se face din linie de comandă, prin urmare este necesar să deschidem o fereastră ”Terminal” din dosarul unde s-au extras fișierele. Se rulează în terminal, comenzile ”ls” pentru listarea dosarelor și fișierelor disponibile, ”cd install” pentru accesul în folderul install, ”ls” din nou iar în final ”./install.sh”
Fig. 5.2.5 – Instalare utilitar Fluxion
Pentru configuratia virtuala s-au folosit urmatoarele setari in Virtual Box:
In tabul „General” se specifica tipul sistemului de operare ce se utilizeaza, in cazul nostru, Linux, iar versiunea Other Linux (32 bit);
In tabul „System”, Base memory este setat la 3 Gb, 2 Processors iar restul setarilor sunt lasate default.
In tabul „Display” se aloca memoria video virtuala (90 Mb) cu accelerare 3D;
In tabul „Storage” se selecteaza imaginea descarcata a sistemului de operare Kali salvata local, pe sistemul fizic;
In tabul „Network” se selecteaza tipul de retea, NAT network, si numele setat anterior la configurarea retelei.
Restul setarilor raman neschimbate si se trece la pornirea sistemului Kali virtual, pentru instalarea sistemului de operare. Instalarea se face exact ca pe un sistem fizic, urmand pasii specificati.
L-a final se va afisa aceeasi interfata ca in figura 5.2.2, iar restul configurarilor si instalarilor de utilitare se fac ca si in cazul sistemului fizic. Se continua astfel procesul, cu cele doua etape ale atacului.
Etapa I
După instalarea utilitarului Fluxion se deschide fereastra ”Terminal” în dosarul unde s-au dezarhivat fișierele inițiale și se rulează comanda ”./fluxion.sh”.
Fig. 5.3.1 – Pornire utilitar Fluxion
Fig. 5.3.2 – Meniu selectie limba utilitar Fluxion
Fig. 5.3.3 – Meniu selectie canale utilitar Fluxion
Se alege prima opțiune ”All channels” și se apasă ”enter”. În acest moment se va deschide automat o nouă fereastră denumită ”WIFI Monitor” care face același lucru ca și comanda ”airmon-ng” din metoda 1. În această fereastră sunt afișate rețelele disponibile din zonă și detaliile lor, căt și ce echipamente sunt conectate la aceste rețele. Opțiunea ”All channels” scanează rețelele pe toate canalele disponibile. Se poate deasemenea alege și a doua opțiune care pornește monitorizarea pe un canal specificat.
Fig. 5.3.4 – Fluxion – WiFi monitor
După ce am identificat rețeaua target oprim monitorizarea prin combinația tastelor ”Ctrl+C”. Fereastra de monitorizare WIFI trebuie să fie cea activă. În fereastra terminal se introduce ID-ul rețelei target, și se alege tipul de atac.
Fig. 5.3.5 – Meniu selectie reteta target – Fluxion
Se alege prima opțiune ”FakeAP – Hostapd (Recommended)”. Va apare mesajul ”handshake location (Example: /root/Downloads/fluxion-mastre.cap)” iar pe următoarea linie ”Path:”. Prin acest mesaj se solicită fișierul unde s-a salvat cerera de autentificare dintre WAP și echipamentele client. Din moment ce nu avem acest fișier apăsăm ”enter” pentru a sări peste acest pas.
Fig. 5.3.6 – Meniu selectie optiune atac – Fluxion
În următoarea fereastră se alege ”pyrit” dar se poate folosi si opțiunea ”aircrack-ng (Miss chance)”.
Fig. 5.3.7 – Meniu selectie optiune handshake – Fluxion
Se alege în continuare ”Deauth all” prin care practic se forțează deconectarea tuturor clienților conectați la WAP-ul existent.
Fig. 5.3.8 – Deautentificare fortata clienti – Fluxion
Imediat vor aparea 2 ferestre suplimentare ”Capturing data on channel 6” și ”Deauthenticating all clients on AP15_2.4G”. În acest moment toți clienții conectați la rețeaua AP15_2.4G sunt deconectați forțat.
Fig. 5.3.9 – Lipsa conexiune pe sistemul vulnerabil
Acum se așteaptă cererea de autentificare a sistemului victimă la AP15_2.4G. În momentul în care avem capturată această cerere (handshake – afișat în colțul dreapta sus din fereastra ”Capturing data on channel 6”) se închid cele două ferestre și se alege opțiunea ”Check handshake”
Fig. 5.3.10 – Captura handshake – Fluxion
Fig. 5.3.11 – Creare certificat SSL
Se alege ”Create a SSL certificate” moment în care se generează o interfață web pentru WAP-ul clonă. Se alege opțiunea ”Web Interface” pentru realizarea acestui lucru. Va apărea o listă cu interfețele standard instalate inițial cu Fluxion. Ce este foarte interesant, este faptul că toate aceste interfețe pot fi editate să corespundă și să arate cat mai bine cu interfețele de configurare ale WAP-urilor reale, în acest mod inducând în eroare foarte ușor utilizatorii rețelelor atacate. Se alege una din opțiunile afișate moment în care o serie nouă de ferestre terminal se deschid și practic WAP-ul clonă este generat. Aceste ferestre sunt DHCP, FAKEDNS, AP, Wifi Information și Deauth all [mdk3] AP15_2.4G.
Fig. 5.3.12 – Alegerea tipului interfetei – FLuxion
Fig. 5.3.13 – Generare Evil Twin
În momentul în care sistemul victimă dorește să se reconecteze la rețea, utilizatorul va fi redireționat către o interfață web, unde iși va introduce parola de acces la WAP-ul real.
Fig. 5.3.14 – Retea Evil Twin afisata pe sistemul vulnerabil
Fig. 5.3.15 – Interfata generata anterior si afisata pe sistemul vulnerabil
Imediat ce utilizatorul apasă butonul ”Trimite”, va fi afișat mesajul ”Conexiunea la Internet va porni în câteva momente.” (sau orice mesaj este setat de către atacator), iar pe sistemul de atac cele cinci ferestre ”Terminal” deschise anterior se vor închide, iar fereastra ”Wifi Information” se va redeschide și va afișa parola de acces pentru WAP-ul real.
Fig. 5.3.16 – Mesaj interfata
Fig. 5.3.17 – Afisarea parolei retelei
După această operațiune, WAP-ul clonă este anulat iar sistemele victimă se reconectează automat la WAP-ul real.
Etapa II
In aceasta etapa, avem deja accesul in reteaua locala victima. In continuarea atacului, se va utiliza pachetul software Metasploit framework pentru accesul la sistemele informatice, folosind platforma virtuala setata anterior si exploitul de securitate Eternal Blue pentru a optine astfel o sesiune Meterpreter de la sistemul target catre sistemul de atac.
Pentru a intelege mai bine acest tip de atac, trebuie explicat ce inseamna exact EternalBlue, si ce face acest exploit. Conform Wikipedia, EternalBlue, este un exploit dezvoltat de Agenția Națională de Securitate din S.U.A. (NSA), conform mărturiilor fostilor angajați ai NSA. A fost publicat de grupul hackerilor Shadow Brokers pe 14 aprilie 2017 și a fost folosit ca parte a atacului de răscumpărare WannaCry la nivel mondial în 12 mai 2017. De asemenea, exploit-ul a fost folosit pentru a contribui la realizarea atacului cibernetic NotPetya 2017 pe 27 iunie 2017 și a fost raportat ca fiind folosit ca parte a troianului bancar Retefe începând cu cel puțin 5 septembrie 2017.
EternalBlue exploatează o vulnerabilitate în implementarea de către Microsoft a protocolului Block Message Server (SMB). Această vulnerabilitate este marcată de intrarea CVE-2017-0144 în catalogul Vulnerabilități și expuneri comune (CVE). Vulnerabilitatea există deoarece versiunea 1 a serverului SMB (SMBv1) în diferite versiuni ale Microsoft Windows, trateaza gresit pachete special create de atacatorii de la distanță, permițându-le să execute coduri arbitrare pe computerul țintă.
NSA a avertizat în cele din urmă Microsoft după ce a aflat despre furtul posibil al companiei EternalBlue, permițând companiei să pregătească un patch software lansat în martie 2017 după ce a anulat toate patch-urile de securitate în februarie 2017. Pe 14 martie 2017, Microsoft a emis buletinul de securitate MS17 -010, care a detaliat defectele și a anunțat că au fost lansate patch-uri pentru toate versiunile Windows care erau în prezent acceptate la acel moment, acestea fiind Windows 7, Windows 8.1, Windows 10, Windows Server 2008, Windows Server 2012 și Windows Server 2016, precum și Windows Vista. Mulți utilizatori de Windows nu au instalat patch-urile la timp, iar două luni mai târziu, pe 12 mai 2017, atacul de răscumpărare WannaCry a folosit vulnerabilitatea EternalBlue pentru a se răspândi.
În februarie 2018, EternalBlue a fost portat la toate sistemele de operare Windows din Windows 2000 de către cercetătorul de securitate RiskSense, Sean Dillon. EternalChampion și EternalRomance, alte două exploitări inițial dezvoltate de ANS și publicate tot de către The Shadow Brokers au fost portate la același eveniment. Ele au fost puse la dispoziție ca module Metasploit cu sursă deschisă.
Până la sfârșitul anului 2018, milioane de sisteme erau încă vulnerabile la EternalBlue. Acest lucru a dus la pagube de milioane de dolari cauzate în primul rând de viermii de răscumpărare. În urma impactului masiv al WannaCry, both NotPetya și BadRabbit au provocat pagube de peste 1 miliard de dolari în peste 65 de țări, folosind EternalBlue fie ca vector inițial de compromis, fie ca o metodă de mișcare laterală.
Observam ca acest exploit este aparut recent in baza de date a Microsoft, si desi au fost publicate un patch-uri de securitate, care inchide aceasta vulnerabilitate, si au avut loc pagube financiare marei la nivel mondial, exista inca mutle sisteme de calcul, care sunt vulnerabile la astfel de atacuri.
Astfel, se deschide aplicatia Oracle VM Virtual Box, si se pornesc sistemele pc, simuland astfel componenta retelei.
Fig. 5.4.1 – Virtual Box si pornire sisteme virtuale
Pe sistemul de atac „Kali”, vom folosi Metasploit framework pentru a utiliza Eternal Blue. Pentru utilizare avem nevoie de urmatoarele prerechizite: Metasploit framework actualizat la ultima versiune, exploit-ul Eternal Blue si Wine 32 biti, . Trebuie avut in vedere faptul ca, pentru a putea instala pachetele software pe arhitectura de 32 biti, este necesar ca si sistemul de operare sa fie conceput pe 32 de biti.
Exploit-ul functioneaza pe toate versiunile de windows 7 cu orice service pack instalat, si construit pe ambele arhitecturi (32 biti sau 64 biti), insa functioneaza si pe windows server 2008.
Exploitul are loc prin conectarea la retetaua target si raspandirea acestuia pe calculatoarele din retea, dar afecteaza si computerele din afara retelei locale daca se seteaza optiunea port forwarding.
Se porneste sistemul de atac, unde ne logam cu utilizatorul „root” si parola setata.
Fig. 5.4.2 – Interfata de logare in Kali
Pentru identificare sistemelor informatice din reteta, deschidem consola (terminalul), si utilizam comanda „root@kali:~# netdiscover”. Aceasta comanda scaneaza ip-urile din reteta pentru a identifica ce sisteme sunt conectate la aceasta.
Fig. 5.4.3 – Scanarea retelei cu „netdiscover”
In figura de mai sus vedem ca sistemul nostru a identificat Test3XP cu IP-ul 10.0.5.4 si Test1W7 cu IP-ul 10.0.5.7
Fig. 5.4.4 – Test3XP – 10.0.5.4
Fig. 5.4.5 – Test1W7 – 10.0.5.7
Atacul se va desfasura pe computerul cu numele Test1W7. Sistemul de oeprare este W7 32 bit cu Service Pack 1.
Metasploit foloseste exploit-urile ca module. Prin urmare, pentru a putea utiliza EternalBlue, trebuie sa identificam numele modulului folosit de Metasploit. Pe site-ul Rapid7, cei care dezvolta si Metasploit framework, consultand baza de date de vulnerabilitati, putem identifica detalii despre acest exploit. Numele modulului este ms17_010_eternalblue.
Fig. 5.4.6 – Baza de date pentru vulnerabilitati Rapid 7
EternalBlue se poate descarca de pe github (link-ul pentru descarcare se regaseste in anexa 1) sub numele Eternalblue-Doublepulsar-Metasploit. Se salveaza pe desktop-ul sistemului „Kali” sau intr-un dosar la alegere, in cazu nostru in folderul Home/Downloads/. Se dezarhiveaza fisierul descarcat, si ne asiguram ca sunt documentele necesare in folderul nou creat.
Fig. 5.4.7 – EternalBlue
Dupa dezarhivare se copiaza fisierul eternalblue_doublepulsar.rb si folderul deps, in calea: /Computer/root/.msf4/modules/exploits/windows/smb/. Trebuie sa ne asiguram ca optiunea „Show hidden files este bifata” pentru a putea vedea toate folderele directorului radacina.
Fig. 5.4.8 – Afisare documente si dosare ascunse
Fig. 5.4.9 – Mutare exploit in folderul de module Metasploit
Inainte de a incepe, trebuie sa ne asiguram ca avem distributia de Kali Linux, actualizata la ultima versiune. De asemenea trebuie instalata si aplicatia wine 32 biti si sa ne asiguram ca o putem utiliza. In consola tastam, „root@kali:~# apt-get install wine32”, iar dupa instalare, tastam „root@kali:~# wine program” pentru ca aplicatia sa creeze folderele necesare automat.
Fig. 5.4.10 – Instalare si rulare Wine
Urmeaza sa deschidem consola de Metasploit framework. Rulam comanda „root@kali:~# service postgresql start” pentru a porni serverul de sql necesar platformei Metasploit, apoi „root@kali:~# msfconsole” si astepam ca Metasploit sa porneasca. Dupa pornire vom avea promptul „msf5 >” unde putem incepe sa introducem comenzile.
Fig. 5.4.11 – Pornire Metasploit Framework
Pentru identificarea sistemelor vulnerabile la exploit-ul EternalBlue, Metasploit Framework, ne pune la dispozitie un scanner de vulnerabilitati, pentru acest tip de exploit. Pentru pornire scanner-ului, in promptul Metaspolit, utilizam comanda „msf5 > use auxiliary/scanner/smb/smb_ms17_010”. Daca ne apare calea in prompt, inseamna ca putem folosi cu succes acest modul.
Fig. 5.4.12 – Scanner-ul de vulnerabilitati smb_ms17_010
Acest scanner ne testeaza sistemul victima pentru a vedea daca este vulnerabil la EternalBlue sau nu. Sintaxa „show options” ne arata ce parametrii putem folosi cu acest modul.
Fig. 5.4.13 – Optiuni smb_ms17_010
Intrucat restul setarilor sunt completate, singurul lucru pe care ne ramane sa il schimbam este RHOSTS. RHOSTS solicita IP-ul sistemului target sau plaja de IP-uri a retelei, pentru a putea scana integral si pentru a testa toate sistemele din retea la aceasta vulnerabilitate. In cazul nostru folosim IP-ul sistemului target identificat anterior ca 10.0.5.7. Astfel setam RHOST cu comanda „msf5 auxiliary(scanner/smb/smb_ms17_010) > set RHOST 10.0.5.7”, iar apoi comanda „msf5 auxiliary(scanner/smb/smb_ms17_010) > run”.
Fig. 5.4.14 – Rulare smb_ms17_010
Se poate observa sistemul de operare utilizat, portul pe care se face scanarea dar cel mai important mesajul de confirmare ca sistemul target este vulnerabil la exploit-ul EternalBlue.
Urmatorul pas presupune utilizarea exploitului. Se folosesc comenzile „msf5 auxiliary(scanner/smb/smb_ms17_010) > clear” si „msf5 auxiliary(scanner/smb/smb_ ms17_010) > back” pentru a ne intoarce la promptul „msf5 >”. Pentru pornirea exploitului folosim, in terminal, comanda „msf5 > use exploit/windows/smb/eternalblue_doublepulsar ”. Si de aceasta data marcarea cu rosu a caii ne confirma faptul ca exploitul poate fi utilizat in framework.
Fig. 5.4.15 – incarcare modul EternalBlue
Comanda options ne afiseaza lista de parametrii ce trebuiesc completati in ordine ca exploit-ul sa poata functiona. Avem astfel calea directorului unde se afla exploitul, tipul de process ce se va injecta in lisat de procese ale sistemului de operare target, iar in cazul nostru vom folosi explorer.exe, RHOST unde vom specifica IP-ul target, RPORT care ramane acelasi 445, tipul de arhitectura a SO target, si calea folderului aplicatiei WINE, cea care s-a creat mai devreme prin pornirea aplicatiei. Odata ce exploitul functioneaza se va crea un shell meterpreter revers. Se seteaza astfel: RHOST: 10.0.5.7 si PROCESSINJECT: explorer.exe.
Fig. 5.4.16 – Optiuni EternalBlue
Fig. 5.4.17 – Setari EternalBlue, rulare exploit si deschidere sesiune Meterpreter
Dupa rularea comenzii run, observam pasii pe care exploitul i-a parcurs pentru deschiderea sesiunii Meterpreter.
Meterpreter este un payload foarte util de Metasploit care oferă un shell interactiv de la care un atacator poate explora mașina țintă și poate executa un cod. Meterpreter este implementat folosind procedura in-memory DLL injection. Ca rezultat, Meterpreter se află în memorie în întregime și nu scrie nimic pe disc. Nu se creează noi procese, deoarece Meterpreter se injectează în procesul compromis, de unde poate migra la alte procese în execuție. Drept urmare, amprenta criminalistică a unui atac este foarte limitată.
Dupa deschiderea sesiunii Meterpreter, promptul se schimba in „meterpreter >”. Mai departe putem folosi o gama larga de comenzi Meterpreter pentru accesul pe sistemul penetrat, ca descarcare de fisiere, rulare de programe si coduri etc. Sesiunea Meterpreter foloseste lista de comenzi utilizare in interpretorul de linie de comanda „Comand Prompt”. Astfel, de exemplu rularea comenzii „meterpreter > dir” in sesiune, ne afiseaza continutul directorului curent unde s-a creat conexinea Meterpreter.
Fig. 5.4.18 – Listare directoare si fisiere in Meterpreter
Mai departe, putem sa luam un exemplu simplu, in care un atacator are acces pe desktopul unui utilizator al sistemului victima, prin sesiunea Meterpreter, si doreste deschiderea unui document text in care acesta isi tine parolele de acces la casuta postala si contul bancar online.
In promptul meterpreter utilizam comenzile:
Pentru navigare in radacina sistemului rulam cd C:\\
Fig. 5.4.19 – Navigare directoare in Meterpreter
Pentru navigare in desktopul utilizatorului folosim „meterpreter > cd Users/Admin/ Desktop”. Comanda „meterpreter > dir ne afiseaza foldere si fisierele continute in directorul curent.
Fig. 5.4.20 – Listare fisiere Desktop utilizator sistem target
Vedem astfel ca exista un fisier parole.txt pe care il putem deschide si accesa continutul acestuia cu comanda „meterpreter > cat „nume fisier””.
Fig. 5.4.21 – Acces fisier desktop utilizator si citire continut
Concluzii
Vulnerabilitatea retelelor informatice, dar si a sistemelor informatice, este un concept pe care, departamentele IT al organizatiilor, institutii de stat sau alte parti interesate de securitatea datelor generate in activitatea lor, trebuie sa il aiba in vedere si sa isi construiasca atat procedurile de lucru, activitatile si aplicatiile IT utilizate, in functie si de acest aspect.
In Romania, majoritatea companiilor private, institutiilor publice dar si persoane fizice, pot fi usor afectate de vulnerabilitatile de securitate, datorita faptului ca, politicile de securitate aplicabile pentru controlul si prevenirea atacurilor, ori lipsesc ori sun aplicate la un nivel ce nu pot asigura o protectie adecvata, a datelor.
Exploit-ul EternalBlue, a stat la baza dezvoltarii si propagarii ransomware-ului WannaCry si a variantelor acestuia. Conform informațiilor deținute de CERT-RO, campania ransomware WannaCry a fost urmată de multiple atacuri bazate pe exploatarea aceleiași vulnerabilități de Windows SMBv1, dar care aveau comportamente diferite post-exploatare, cele mai importante fiind cunoscute sub denumirile de EternalRocks (sau BlueDoom), UIWIX și Adylkuzz. Din datele deținute de CERT-RO la momentul respectiv, 514 IP-uri au fost afectate, 10 dintre acestea aparținând unor instituții publice. În absența unui cadru legal care să oblige companiile și instituțiile publice să raporteze aceste incidente, o evaluare exactă a situației la nivel național nu este posibilă.
Alegerea acestei teme pentru lucrarea de fata, a pornit de la studierea atacurilor de tip phising, dar si a lipsei partiale de constientizare a personalului, dintr-o companie privata. Astfel motivatia, in studiul acestui fenomen, este data de urmatoarele doua aspecte:
Au devenit o problema actuala complexa si care ia amploare pe masura dezvoltari internetului;
In Romania, nivelul de constientizare este foarte scazut, si in cele mai multe cazuri, doar persoane sau companii specializate pe securitatea informatiilor, contribuie la prevenirea si contracararea atacurilor ce au in vedere vulnerabilitatile sistemelor informatice;
Pornind de la ideile prezentate in primele capitole, s-au luat in vedere urmatorii factorii pentru realizarea studiului din lucrare: vulnerabilitatea unei retele informatice, exploit-uri si Metasploit framework. Astfel, scopul cercetarii din lucrarea de fata, este analiza principalelor elemente ce contribuie la compromiterea unei retele informatice si a unui sistem informatic ce ruleaza Windows 7.
In conformitate cu scopul cercetarii, s-au formulat urmatoarele obiective, care au fost indeplinite in prezenta lucrare:
Penetrarea unei retele informatice, utilizand un acces point (router wireless);
Identificarea sistemelor target din retea folosind un scanner de retea;
Identificarea unei vulnerabilitati a sistemului target ales, folosind un scanner de vulnerabilitati;
Utilizarea unui exploit utilizand platforma Metasploit Framework si sistemul de operare Kali Linux;
Putem concluziona faptul ca un factor principal in succesul atacului, il reprezinta cel uman. In primul rand, accesul in retea s-a putut realiza deoarece, utilizatorul acelei retele poate fi pacalit prin a accesa o retea de tip EvilTwin si a furniza in acest mod credentialele de acces la acea reteta. Ca factor secundar, putem prezenta protocolul SMBv1, in special, cel implementat in sistemul de operare Windows 7, toate versiunile.
Exista si alte metode prin care factorul uman poate fi manipulat in a furniza acces la reteaua locala, poate printe cea mai utilizata fiind phising-ul, iar atat timp cat factorul software si hardware poate fi patch-uti pentru a acoperii golurile de securitate descoperite, cel uman va fi intotdeauna vulnerabil la o forma sau alta de atac informatic.
Ca o concluzie generala, in urma indeplinirii obiectivelor cercetarii, putem confirma faptul ca, in prezent, desi pachetele software si echipamentele hardware utilizate pentru constituirea unei retele informatice, sunt din ce in ce mai sigure, intotdeauna se vor descoperi noi vulnerabilitati sau se va exploata elementul uman din ecuatie.
Cateva solutii de baza putem propune pentru a asigura o minima securitate:
Realizarea de programe de constientizare si informare a utilizatorilor neprofesionisti, ai retelelor informatice;
Educatie IT a tuturor persoanelor implicate intr-o organizatie.
Actualizarea permanenta a aplicatiilor software (sisteme operare si programe utilizate);
Utilizarea de echipamente sau aplicatii software de protectie (antivirusi, firewall-uri, IDS sau IPS) acolo unde este posibil;
Utilizarea metodelor suplimentare protectie la accesul retelelor wireless/LAN (de exemplu autentificare in 2 pasi);
Utilizarea ultimilor versiuni de aplicatii informatice ce aduc imbunatatiri suplimentare atat din punct de verere al functionalitatii cat si al securitatii;
De asemenea, consideram ca importanta acestei lucrari este data de urmatoarele aspecte:
Identificarea, analizarea si emiterea unor concluzii asupra aspectelor din cadrul factorilor principali ce determina accesul la datele private ale unui utilizator;
Reprezinta un punct de plecare pentru o viitoare cercetare mai ampla si mai complexa in analiza vulnerabilitatilor;
Cunoasterea acestei analize poate reprezenta o baza de informatii, pe care se pot formula solutii si strategii pentru combaterea atacurilor informatice.
Anexa 1 – Link-uri
Windows 10 : https://www.microsoft.com/ro-ro/software-download/windows10
Windows 7 : https://www.microsoft.com/ro-ro/software-download/windows7
Windows XP : https://softlay.net/operating-system/windows-xp-sp3-iso-full-version-free-download.html
Kali Linux : https://www.kali.org/downloads/
VirtualBox : https://www.virtualbox.org/wiki/Downloads
Fluxion Wi-Fi analyzer – https://github.com/wi-fi-analyzer/fluxion
EternalBlue – https://github.com/ElevenPaths/Eternalblue-Doublepulsar-Metasploit
SMB Scanner – https://github.com/rapid7/metasploit-framework/blob/master/modules/auxiliary/scanner/smb/smb_ms17_010.rb
Bibliografie
Sun Tzu, The Art of War
https://www.devry.edu/blog/2014/02/top_information_security_breaches_in_history.html
https://economictimes.indiatimes.com/definition/cryptography
https://www.devry.edu/blog/2014/02/top_information_security_breaches_in_history.html
Todd Lammle, CompTIA Network+, editia IV, (2018)
https://www.techopedia.com/definition/13484/vulnerability
https://searchsecurity.techtarget.com/definition/vulnerability-scanning
https://en.wikipedia.org/wiki/Vulnerability_(computing)#cite_note-Vacca-16
https://en.wikipedia.org/wiki/Vulnerability_scanner
Darril Gibson, Comptia A+, (2013), O’Reilly Media, Inc.
https://www3.nd.edu/~dwang5/courses/fall16/pdf/evolution.pdf
https://en.wikipedia.org/wiki/Internet_of_things
https://www.secpod.com/resource/whitepapers/Hacking-IoT-A-Case-Study-on-Tata-Sky-DTH-Vulnerabilities.pdf
https://www.examcollection.com/certification-training/network-plus-network-security-common-threats-vulnerabilities-mitigation-techniques.html
https://www.cimcor.com/blog/6-common-network-vulnerabilities-cso-2017
https://www.iotforall.com/5-worst-iot-hacking-vulnerabilities/
Jon Erickson, Hacking: The art of exploitation, 2nd Edition, (2008), No Starch Press, Inc.
https://en.wikipedia.org/wiki/Metasploit_Project
David Kennedy, Jim O'Gorman, Devon Kearns, and Mati Aharoni – METASPLOIT, (2011), No Starch Press, Inc.
https://docs.kali.org/introduction/what-is-kali-linux
https://en.wikipedia.org/wiki/EternalBlue
https://cert.ro/vezi/document/raport-alerte-2017
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: Descoperirea Si Exploatarea Vulnerabilitatilor Mihai Dinescu V1.0 [307650] (ID: 307650)
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.
