Articles

0: cunoștințe de bază

Posted on

exploata de dezvoltare este greu, a învăța cum să facă acest lucru va necesita o mulțime de studiu, practică și o bună înțelegere a unei game destul de largi de subiecte asociate. Vestea bună este că nu trebuie să înveți totul dintr – o dată sau peste noapte și că există o mulțime de oameni care au făcut sau sunt în aceeași călătorie dureroasă-unii dintre ei scriu bloguri precum corelan security sau fuzzy security.

abordarea general recomandată pentru un începător este de a începe de la început, la sfârșitul anilor ‘ 90 stil simplu stivă bazat buffer overflows popularizate de Aleph One „zdrobitor stiva pentru distracție și profit”, și apoi să lucreze treptat la introducerea și înfrângerea progresiv atenuări mai moderne, noi vectori de exploatare și arhitecturi. Pe măsură ce faceți acest lucru și exersați împotriva exploatărilor din lumea reală, începeți să ridicați o parte din cunoștințele auxiliare din propria cercetare și nu uitați să faceți note, s-ar putea să vă ajute să păstrați un blog sau să postați walkthroughs ale exploatărilor dvs. aici

Exact la ce nivel de calificare trebuie să fiți înainte de a începe să învățați despre exploatarea binară va fi întotdeauna ceva care provoacă îngrijorări pentru unii oameni. Ești gata? Răspunsul este, în general, da și nu, înveți mai multe începând de astăzi și eșuând decât orice cantitate de amânare, dar în același timp, de fiecare dată când înveți ceva nou, descoperi două lucruri pe care nu le înțelegi. Hacking-ul este teribil pentru asta, cu cât învăț mai mult, cu atât mă simt mai mult ca un începător complet. Singurul lucru pentru el este să încerce; cel mai rău caz este că descoperi că trebuie să înveți mai întâi alte lucruri și nu strică niciodată să citești o carte.

resurse:

o varietate de cărți

subiecte recomandate:

o înțelegere a C / C++

concepte de memorie și CPU, cum ar fi adresarea memoriei, registre și stive

un limbaj de scripting, cum ar fi Python, Perl, Ruby sau Bash

Fluență în sistemul de Operare ales și cel puțin o înțelegere de bază a depanatorului pe care îl utilizați

problema platformelor de utilizat ca victime o alegere personală, unora le place să învețe mai întâi exploatarea Windows și apoi să se mute la Linux, în timp ce unii (ca mine) preferă să înceapă cu exploatarea Linux înainte de a trece la Windows. În opinia mea, există resurse mai multe și mai bune pentru a învăța elementele de bază pe Linux, dar alegerea este într-adevăr a ta.

resurse:

Smashing stiva pentru distracție și Profit

exploata exerciții Protostar: niveluri stiva 0-5

unele dintre conceptele implicate în procesul de învățare cum să facă acest tip de exploatare simplu va fi destul de străin de un novice, dar cu ceva timp petrecut mâinile pe cu un depanator ar trebui să înceapă pentru a obține o înțelegere a unora dintre lucrurile pe care ai de gând să nevoie pentru a citi despre

2: vulnerabilități șir format

resurse:

Introducere în format șir exploateaza

Exploit exerciții Protostar: nivelurile de Format 0-4

format șir exploateaza sunt un bun pas următor după overflows tampon simplu, deoarece acestea împărtășesc o mare multe asemănări, dar, de asemenea, vă oferă o oportunitate de a juca în jurul cu manipulări de memorie arbitrare. Siruri de caractere Format, de asemenea, vă arată unele dintre ciudățenia care poate duce la situații exploatabile

3: reveniți la libc – înfrângerea stive non-executabile (aka DEP, W^X, NX)

resurse:

(Exploit exerciții Protostar: Nivelul stivei 6](https://exploit.education/protostar/stack-six/)

ret2libc este prima ocolire simplă a unei atenuări a exploatării și servește ca o introducere în conceptele care stau la baza tehnicii puternice de programare orientată spre întoarcere, există câteva variante ale acestei tehnici, cum ar fi ret2plt sau ret2text

4: Programare orientată spre întoarcere (por)

resurse:

exerciții de exploatare Protostar: Stack level 7

/U/D4mianwayne ‘s Rop Introducere

ROP este o tehnică cheie pentru exploatarea modernă, care poate fi folosit pentru a învinge DEP, precum și ASLR, și un mod interesant de a învăța despre assembler și într-adevăr începe pentru a obține în profunzime cu syscalls, registre și alte fundamente de nivel scăzut.

5: înfrângerea canarilor de stivă

canarii de stivă sunt o atenuare a exploatării care urmărește prevenirea exploatărilor prin adăugarea unei mici verificări la sfârșitul funcțiilor pentru revărsările tamponului. Acestea vin într-o varietate de forme și stiluri, cum ar fi canarii Terminatori și canarii aleatorii. Învățarea câtorva tehnici pentru a le învinge sau a le ocoli este destul de esențială.

resurse:

notele lui Corelan despre acest

notă: resursele pentru acest lucru par limitate – orice sugestii sau postări pe această temă Bine ați venit

6: elementele de bază ale exploatării Heap

exploatarea mai modernă se concentrează în jurul heap-ului, mai degrabă decât în stivă, parțial datorită stării de îmbunătățire a atenuărilor pentru exploatările bazate pe stivă, parțial pentru că standardele de codificare s-au îmbunătățit și oportunități pentru zdrobirea simplă a stivei.

Lasă un răspuns

Adresa ta de email nu va fi publicată.