Exploit ( în engleză exploit , exploit) - un program de calculator , o bucată de cod de program sau o secvență de comenzi care exploatează vulnerabilitățile din software și sunt folosite pentru a ataca un sistem informatic. Scopul unui atac poate fi fie de a prelua controlul asupra sistemului ( escaladare a privilegiilor ), fie de a perturba funcționarea acestuia ( atac DoS ).
Virus pentru a distruge programe, jocuri, aplicații.
În funcție de metoda de obținere a accesului la software-ul vulnerabil, exploit-urile sunt împărțite în la distanță ( eng. remote ) și locale ( eng. local ).
Un atac de exploatare poate viza diverse componente ale unui sistem de calcul – aplicații server , aplicații client sau module ale sistemului de operare . Pentru a exploata o vulnerabilitate de server, un exploit trebuie doar să genereze și să trimită o solicitare care conține cod rău intenționat către server. Exploatarea unei vulnerabilități a unui client este puțin mai dificilă - trebuie să convingi utilizatorul să se conecteze la un server fals (urmând un link dacă clientul vulnerabil este un browser ).
Exploit-urile sunt de fapt concepute pentru a efectua acțiuni terțe pe un sistem vulnerabil și pot fi împărțite între ele după cum urmează:
Termenul de pivotare se referă la o tehnică folosită de testerii de securitate computerizată în testele de penetrare , [2] care utilizează un sistem compromis pentru a ataca alte sisteme din aceeași rețea pentru a evita restricțiile, cum ar fi configurațiile firewall , care pot interzice accesul direct la toate masini. De exemplu, dacă un atacator compromite un server web dintr-o rețea corporativă, atacatorul poate folosi serverul web compromis pentru a ataca alte sisteme din rețea. Aceste tipuri de atacuri sunt adesea denumite atacuri stratificate. [3]
Exploatarea poate fi distribuită sub formă de cod sursă , module executabile sau o descriere verbală a exploatării vulnerabilității. Poate fi scris în orice limbaj de programare (cel mai des folosit: C / C++ , Perl , Python , PHP , HTML + JavaScript ) [4] .
Exploit-urile pot fi, de asemenea, clasificate în funcție de tipul de vulnerabilitate pe care îl exploatează, cum ar fi: buffer overflow , SQL injection , cross site scripting , cross site request forgery , etc.
Informațiile obținute ca urmare a descoperirii unei vulnerabilități pot fi folosite atât pentru a scrie un exploit, cât și pentru a remedia vulnerabilitatea. Prin urmare, ambele părți sunt la fel de interesate de el - atât crackerul, cât și producătorul software-ului cracat. Distribuția acestor informații determină timpul de care are nevoie un dezvoltator înainte ca un patch să fie lansat .
După ce vulnerabilitatea este închisă de către producător, șansa de a aplica cu succes a exploitului începe să scadă rapid. Prin urmare, așa-numitele exploit- uri 0day , care folosesc vulnerabilități apărute recent și care nu au devenit încă cunoscute public, sunt deosebit de populare în rândul hackerilor [5] .
Pachetele de exploatare sunt un pachet de exploatare pentru mai multe programe (versiuni) simultan și/sau pentru diferite vulnerabilități din acestea. În cele mai recente versiuni de pachete, un exploit este selectat special pentru un anumit program de utilizator.
În cele mai multe cazuri, kiturile de exploatare sunt folosite pentru atacuri care exploatează vulnerabilități în browsere sau suplimente de browser ( Java , Flash și PDF [6] sunt ținte comune, de exemplu ).
Există, de asemenea, seturi de exploit-uri locale pentru creșterea privilegiilor în sistemul atacat. De fapt, astfel de seturi sunt și pachete, dar în mediul hacker nu sunt considerate ca atare și nu sunt numite.