- GNU/Linux system
- Docker
- GDB (preferably with
GEF
plugin) - Decompiler (optional): Ghidra or Binary Ninja Cloud
- pwntools
- pwninit
- one_gadget
For Kali Linux
-
Install docker
sudo apt update sudo apt install -y docker.io sudo systemctl enable docker --now sudo usermod -aG docker $USER
-
Logout and login again or reboot
-
Verify docker is installed
docker run --rm -it hello-world
-
Install docker-compose
sudo mkdir -p /usr/local/lib/docker/cli-plugins sudo curl -SL https://github.com/docker/compose/releases/download/v2.18.1/docker-compose-linux-x86_64 -o /usr/local/lib/docker/cli-plugins/docker-compose sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose docker compose version sudo ln -sf /usr/local/lib/docker/cli-plugins/docker-compose /usr/local/bin/docker-compose
References: Installing Docker on Kali Linux | Kali Linux Documentation
For other GNU/Linux distributions
- Install docker engine
- Install docker compose
-
Check if GDB is already installed on your machine, otherwise install it via package manager (the package should be named
gdb
)gdb -v
-
Install GDB plugin,
GEF
wget -O ~/.gdbinit-gef.py -q https://gef.blah.cat/py && \ echo source ~/.gdbinit-gef.py >> ~/.gdbinit
Choose either one.
Sign up here if you have not: https://cloud.binary.ninja/
For Kali Linux
sudo apt install ghidra
For other GNU/Linux distribution, consult the official guide
python3 -m pip install -U pwntools
wget https://github.com/io12/pwninit/releases/download/3.3.0/pwninit -O pwninit
chmod +x ./pwninit
sudo mv ./pwninit /opt/pwninit
# Install `ruby` with your favorite package manager
sudo apt install ruby
# Install `one_gadget`
sudo gem install one_gadget
# clone the repo
git clone https://github.com/d0UBleW/intro2rop.git
cd intro2rop
# starting the challenges
make
# solving the challenges
cd chall-00
../init.sh
# stopping the challenges
make clean