
Welcome back!
In this video we set up our exploit development environment, it simply involves getting a VM started and installing a few tools. Please watch this video even if you already have a working environment from Part 2, you'll need to grab one extra tool.
Learn a few different ways of browsing the GLIBC source code, including online-only resources and how to clone the official repo. We're doing this in preparation for the first challenge binary, which will require us to find a bug in the GLIBC source code.
Use your new GLIBC source browsing skills to locate a bug within one of malloc's exploit mitigations, then leverage it to exploit a challenge binary.
Learn the first 2 of the 3 House of Corrosion primitives, which allow us to corrupt & tamper with GLIBC data, along with some history of the House of Prime technique.
Learn the 3rd House of Corrosion primitive, which lets us transplant & tamper with GLIBC data.
In this lecture we'll put all 3 House of Corrosion primitives together to drop a shell from our vulnerable binary.
Can we drop a shell from a challenge binary that doesn't have any bugs? Let's find out!
No doubt you've heard about the safe linking mitigation introduced in GLIBC 2.32. In this lecture we'll learn how it works, one way of bypassing it, and finally get familiar with multithreaded malloc.
Learn about GLIBC's mmapped chunks, how to exploit them, and a little bit about how dynamically linked executables resolve external symbols.
We look at a few GLIBC malloc changes, both recent and upcoming, that I couldn't find a place for in the course, and say our farewells.
This is a continuation of the HeapLAB Part 2 course, a.k.a Linux Heap Exploitation - Part 2.
If you haven't taken the above course, I highly recommend you do so before embarking on this one.
HeapLAB Part 3 is the same hands-on, practical heap exploitation, just with more new techniques for you to learn!
This part of the course is considered "Expert", whereas the previous parts were labelled "Intermediate", that's because I'm expecting more autonomy from you this time, for example you'll be browsing the GLIBC source code in search of bugs. Don't worry though, we're going to learn a few different ways of browsing that code first.
We're covering just one more "House" of heap exploitation, know as the House of Corrosion. It's complicated but I know you're ready! We'll also be exploiting mmapped chunks, learning how multithreaded malloc works, bypassing the "Safe Linking" exploit mitigation and exploiting any GLIBC bugs we find along the way. There are also a couple more challenge binaries for you to test your new skills against, an updated PDF with all the latest techniques and mitigations, and an improved malloc testbed with multithreading and mallopt options!
Make sure you watch the Environment Setup video, even if you already have an exploit development environment set up from Part 2, you'll need to install one more tool so that you can follow along.
Hack the planet!