Getting Started With Exploit Development
Getting Started With Exploit Development
Contact
02 February 2021 10 minute read.
zi
Prerequisites
C programming language
https://dayzerosec.com/blog/2021/02/02/getting-started.html 1/12
19.04.2023 08.31
C p og a g la guage
Getting Started with Exploit Development
https://dayzerosec.com/blog/2021/02/02/getting-started.html 2/12
19.04.2023 08.31 Getting Started with Exploit Development
Prerequisites
There are three things you need to know before
getting started.
Environment
The classic question is what operating system to use.
The truth is that it doesn't matter, use what you are
comfortable with. You should learn to be comfortable
with a Linux terminal, but for your host system don't
worry about it.
Getting Started
Exploit Education - Nebula
In Nebula you are learning to think like an attacker
and do research. This box isn't actually about
exploit development, but more general application
security. I like recommending it though because it
forces you to start doing some research on topics you
might not be familiar with to determine what the
vulnerability being showcased is. It gives you enough
information to get started. While this might feel
annoying, this ability to research and digest
information about a new topic is a huge part of
exploit development. I spend more time reading
documentation and other write-ups than I do writing
exploit code. The ability to do research and
persevere is immensely important.
https://dayzerosec.com/blog/2021/02/02/getting-started.html 5/12
19.04.2023 08.31 Getting Started with Exploit Development
Pwn College
This is a lab driven course from Arizona State
University. It is a proper undergraduate course and
taught by Zardus (Yan Shoshitaishvili) and kanak
(Connor Nelson). You've got lectures on their Youtube
channel, while the class is running, the classes are
streamed live on Twitch, and the discord server is
active. They've also been updating the course every
year, so by the time you read it, it might be
slightly different. As a course it is not quite a
drop-in for the topics covered by the OST course it
"replaces" here. The core topics to learn here would
be:
https://dayzerosec.com/blog/2021/02/02/getting-started.html 8/12
19.04.2023 08.31 Getting Started with Exploit Development
ROP Emporium
This is what I would consider the last of the
beginner concepts, return-oriented programming (ROP).
ROP is a very common exploitation technique, most
exploits today tend to utilize ROP at some stage in
the chain.
Weird machines
https://dayzerosec.com/blog/2021/02/02/getting-started.html 10/12
19.04.2023 08.31 Getting Started with Exploit Development
https://www.youtube.com/watch?v=8Dcj19KGKWM
https://www.youtube.com/watch?v=zaQVNM3or7k
Nightmare
So Nightmare has a ton of challenges for you to
practice on. In particular, I want to call out the
Heap Exploitation section. While heap exploitation is
one of those areas that is particular to each
operating system (and each heap implementation). I
think there is significant value in learning about
the ptmalloc2 allocator and its attacks. You might
not find yourself using them, but at least for me,
Malloc des-Maleficarum was a huge eye-opener for the
creativity and art of exploitation.
Final Notes
At this point, you have a lot of the basic concepts
that you'll need to start looking at modern exploits,
and hopefully the research skill to start discovering
what you don't yet know you don't know.
https://dayzerosec.com/blog/2021/02/02/getting-started.html 12/12