Articles

0: basiskennis

Posted on

Exploit ontwikkeling is moeilijk, het leren hoe het moet, zal veel studie, praktijk en een goed begrip van een vrij breed scala van verwante onderwerpen vereisen. Het goede nieuws is dat je niet alles tegelijk hoeft te leren, of ‘ s nachts, en dat er veel mensen zijn die hetzelfde hebben gedaan of op dezelfde pijnlijke reis zijn – sommigen van hen schrijven blogs zoals corelan security of fuzzy security.

de algemeen aanbevolen aanpak voor een beginner is om te beginnen bij het begin, de late jaren 90 stijl simple stack based buffer overflows gepopulariseerd door Aleph One ‘ S “Smashing the stack for fun and profit”, en vervolgens geleidelijk te werken aan de invoering en het verslaan van geleidelijk meer moderne mitigaties, nieuwe exploitatievectoren en architecturen. Als je dit doet en oefent tegen exploits uit de echte wereld, begin je een deel van de bijkomende kennis op te halen uit je eigen onderzoek, en vergeet niet om aantekeningen te maken, je zou kunnen vinden dat het helpt om een blog bij te houden, of walkthroughs van je exploits hier te plaatsen

precies welk vaardigheidsniveau je moet hebben voordat je begint te leren over binaire exploitatie, zal altijd iets zijn dat sommige mensen zorgen baart. Ben je er al klaar voor? Het antwoord is over het algemeen ja en nee, je leert meer door te beginnen vandaag en falen dan elke hoeveelheid uitstel, maar op hetzelfde moment elke keer als je iets nieuws te leren ontdek je twee dingen die je niet begrijpt. Hacken is verschrikkelijk voor deze, hoe meer ik leer hoe meer ik voel me als een complete newbie. Het enige voor het is om te proberen; het ergste geval is dat je ontdekt dat je nodig hebt om wat andere dingen te leren eerst, en het kan nooit kwaad om een boek te lezen.

middelen:

diverse boeken

aanbevolen onderwerpen:

Een kennis van C / C++

Geheugen en CPU-concepten, zoals het geheugen adressering, registers en stapels

Een scripting taal zoals Python, Perl, Ruby of Bash

Vloeiend in uw gekozen OS, en op zijn minst een basiskennis van welke debugger u

De vraag van de platforms te gebruiken als de slachtoffers is vooral een persoonlijke keuze, sommige mensen willen leren van Windows exploitatie eerste en vervolgens naar Linux, terwijl sommige (zoals ik) de voorkeur om te starten met Linux exploitatie voordat u naar Windows. Naar mijn mening zijn er meer en betere middelen voor het leren van de basis op Linux, maar de keuze is echt aan jou.

hulpbronnen:

de Stack voor plezier en winst smashen

oefeningen exploiteren Protostar: Stack levels 0-5

sommige concepten die betrokken zijn bij het leren hoe dit soort eenvoudige exploitatie te doen, zullen voor een beginner vrij vreemd zijn, maar met enige tijd die je met een debugger hebt doorgebracht, moet je beginnen om inzicht te krijgen in enkele van de dingen die je nodig hebt om te lezen over

2: kwetsbaarheden in Format String

middelen:

Inleiding tot format String Exploits

Exploit oefeningen Protostar: Format levels 0-4

format string exploits zijn een goede volgende stap na eenvoudige buffer overflows omdat ze een groot aantal overeenkomsten delen, maar geven je ook de mogelijkheid om te spelen met willekeurige geheugenmanipulaties. Format strings toont u ook een aantal van de vreemdheid die kan resulteren in exploiteerbare situaties

3: keer terug naar LibC – het verslaan van niet-uitvoerbare Stacks (aka DEP, W^X, NX)

Resources:

(Exploit oefeningen Protostar: Stack-niveau 6](https://exploit.education/protostar/stack-six/)

ret2libc is de eerste eenvoudige bypass van een exploit mitigation en dient als een inleiding tot de concepten die de basis vormen van de krachtige return oriented programming technique, er zijn een paar varianten van deze techniek, zoals ret2plt of ret2text

4: Return Oriented Programming (ROP)

Resources:

Exploit Exercises Protostar: Stack level 7

/u/d4mianwayne ’s Rop introductie

ROP is een belangrijke techniek voor moderne exploitatie die kan worden gebruikt om zowel DEP als ASLR te verslaan.

5: Stack-kanaries verslaan

Stack-kanaries zijn een exploit-mitigatie die exploits probeert te voorkomen door een kleine controle toe te voegen aan het einde van functies voor bufferoverflows. Ze komen in een verscheidenheid van vormen en stijlen, zoals terminator kanaries en willekeurige kanaries. Het leren van een paar technieken om ze te verslaan of te omzeilen is vrij essentieel.

Resources:

corelan ‘ s notes on this

Note: resources for this lijken beperkt – alle suggesties of berichten over dit onderwerp zijn welkom

6: Heap Exploitation Basics

modernere exploitatie richt zich op de heap in plaats van op de stack, gedeeltelijk als gevolg van de verbeterde staat van mitigaties voor stack-gebaseerde exploits, gedeeltelijk omdat coderingsnormen zijn verbeterd en er minder mogelijkheden zijn voor eenvoudige stack smashing.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.