Linux binexp fundamentals workshop made for those new to the binexp but not necessary new to the field. Understanding of C code and being comfortable with computers and terminal are required ;]
This has been initially planned as in-person workshop lasting one day, hence lots of simplifications on slides.
- clone this repo:
git clone https://github.com/mblzk/binexp_workshop
- build the Docker image
sudo docker build . -t binexp_workshop:latest
- run the container with
sudo run_docker.sh
- your work is available through
./my_solutionsfolder. It's advisable to copy files you are working with here as containers are ephemereal (you WILL lose everything on exit). - have fun and send me any improvements ideas
- Addressess hardcoded in the solutions tend to differ between machines. Hopefully using docker fixes it but if my solutions crash at your machine, you'll need to obtain the return addressess yourself. Good luck!
- Not all labs are finished yet. There are mentions of labs 6 and 7 in slides which are actually not there. That's intended and I am working on it.
- Add ROP labs
- Add ASLR labs
- Prepare content on RELRO and GOT overwrites
- Make some content about linux's heap exploitation
- Add some final challenges with all mitigations enabled and additional logic
- Add some linux-specific stuff (e.g. env vars)