Articles

0: Base knowledge

Posted on

Utnytte Utvikling er vanskelig, lære å gjøre det kommer til å kreve mye studier, praksis og en god forståelse av et ganske bredt spekter av tilknyttede fag. Den gode nyheten er at du ikke trenger å lære alt på en gang, eller over natten, og at det er mange mennesker som har gjort eller er på samme smertefulle reise – noen av dem skriver blogger som corelan security eller fuzzy security.

den generelt anbefalte tilnærmingen for en nybegynner er å starte i begynnelsen, slutten av 90-tallet stil enkel stack basert buffer overløp popularisert Av Aleph One ‘S» Smashing the stack for fun and profit», og deretter å gradvis jobbe med å introdusere og bekjempe gradvis mer moderne begrensninger, nye utnyttelsesvektorer og arkitekturer. Som du gjør dette og praksis mot virkelige verden utnytter du begynner å plukke opp noen av hjelpeutstyr kunnskap fra din egen forskning, og ikke glem å gjøre notater, kan du finne det hjelper å holde en blogg, eller legge walkthroughs av dine utnytter her

Nøyaktig hva ferdighetsnivå du trenger å være på før du begynner å lære om binære utnyttelse er alltid kommer til å være noe som fører til at noen mennesker bekymringer. Er du klar ennå? Svaret er generelt ja og nei, du lærer mer ved å starte i dag og mislykkes enn noen utsettelse, men samtidig hver gang du lærer noe nytt, oppdager du to ting du ikke forstår. Hacking er forferdelig for dette, jo mer jeg lærer jo mer jeg føler meg som en komplett nybegynner. Det eneste for det er å prøve; verste fall er at du oppdager at du trenger å lære noen andre ting først, og det skader aldri å lese en bok.

Ressurser:

en rekke bøker

Anbefalte Emner:

en forståelse Av C / C++

Minne-og CPU-konsepter som minneadressering, registre og stabler

et skriptspråk som Python, Perl, Ruby eller Bash

Flyt I DITT valgte OS, og i det minste en grunnleggende forståelse av hvilken debugger du bruker

spørsmålet om plattformer som skal brukes som ofre er for det meste et personlig valg, noen liker å lære windows-utnyttelse først og deretter flytte Til Linux, Mens Noen (Som Meg Selv) Foretrekker Å Starte Med Linux-Utnyttelse Før De Går Til WINDOWS. Etter Min mening er det flere og bedre ressurser for å lære det grunnleggende På Linux, men valget er virkelig ditt.

Ressurser:

Smashing The Stack for Fun And Profit

Exploit Exercises Protostar: Stack levels 0-5

noen av konseptene som er involvert i å lære å gjøre denne typen enkel utnyttelse, vil være ganske fremmed for en nybegynner, men med litt tid brukt hendene på med en debugger bør du begynne å få en forståelse av noen av tingene du kommer til å trenge å lese om

2: Format Streng Sikkerhetsproblemer

Ressurser:

Introduksjon Til Formatstrengutnyttelser

Utnyttelsesøvelser Protostar: Formatnivåer 0-4

formatstrengutnyttelser er et godt neste skritt etter enkle bufferoverløp fordi de deler mange likheter, men gir deg også mulighet til å leke med vilkårlig minnemanipulasjon. Formatstrenger viser deg også noe av det rare som kan resultere i utnyttbare situasjoner

3: Gå tilbake Til LibC-Beseirende Ikke-Kjørbare Stabler(aka DEP, W^X, NX)

Ressurser:

(Utnytte Øvelser Protostar: Stabel nivå 6](https://exploit.education/protostar/stack-six/)

det er et par varianter av denne teknikken som ret2plt eller ret2text

4: RETURORIENTERT Programmering (ROP)

Ressurser:

Utnyttelsesøvelser Protostar: Stack level 7

/u / d4mianwayne ‘S ROP Introduksjon

ROP er en viktig teknikk for moderne utnyttelse som kan brukes til å beseire DEP så VEL som ASLR, og en interessant måte å lære om assembler og virkelig begynne å komme i dybden med syscalls, registre og andre lavt nivå grunnleggende.

5: Bekjempe stack canaries

Stack Canaries er en utnyttelsesreduksjon som søker å forhindre utnyttelser ved å legge til en liten sjekk til slutten av funksjonene for bufferoverløp. De kommer i en rekke former og stiler, for eksempel terminator kanariøyene og tilfeldige kanariøyene. Lære noen teknikker for å beseire eller omgå dem er ganske viktig.

Ressurser:

Corelans notater om dette

merk: ressurser for dette virker begrenset – noen forslag eller innlegg om emnet velkommen

6: Grunnleggende Om Utnyttelse Av Heap

mer moderne utnyttelse fokuserer rundt heap i stedet for stakken, delvis på grunn av forbedringstilstanden for begrensninger for stakkbaserte utnyttelser, delvis fordi kodingsstandarder har forbedret seg Og det er færre muligheter for enkel stabel smashing.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert.