arm setup guide
Docker
One can use a docker container directly on their machine to get everything but GDB. I recommend using pwndocker. If you’re a fellow Docker Desktop hater as I am, I’d highly recommend using colima if you’re on Mac to replace it. The setup for both of these are in their respective repositories, and are fairly straightforward. Feel free to ask on the forums if you have any questions.
But what if I want GDB??
You should want GDB. In this case, you have two options:
- Use a DigitalOcean droplet;
- Run Linux in a VM.
Note that you can use your local container to do everything but GDB, and use one of the above options solely for GDB. I will demonstrate both methods below.
Using a DigitalOcean Droplet
DigitalOcean droplets start at $4 USD per month for the baseline tier, which I do recommend. If you haven’t already, you can claim $200 in platform credit for one year using the GitHub Student Developer Pack.
- Sign up here.
- One logged in, head to the Droplets page and click
Create Droplet. - Select the following:
- Under
Choose Region, select Sydney. - Under
Choose an Image, select Ubuntu (the version does not matter too much). - Under
Choose Size, choose the Basic Shared CPU plan, along with the Regular CPU, and finally the cheapest $4/mo plan. - Under
Choose Authentication Method, select whichever method you prefer.
- Under
- Click
Create Dropletand do what it asks. - Now, under your project’s resources you should see the droplet. Turn it on.
- Your droplet’s IP address should be displayed, SSH into it and authenticate however you previously chose.
- Once you’re in you’re done! Just install the tools you need for the course as normal, or use a Docker container to have everything setup for you.
Using a Virtual Machine
This method is slow, so if you opt for this I highly recommend only using it for when you need GDB.
- Install the virtualisation software of your choice. I recommend UTM. The following will be instructions for UTM, however the steps will be similar for other software.
- Download an Ubuntu ISO such as this one. Personally, I prefer getting the server version and SSHing into it.
- Open UTM and click on
Create a New Virtual Machine.- Click on
Emulate, thenLinux. - Change what you’d like in
Hardwareor keep the defaults. - Select the ISO you downloaded.
- Choose how much storage you want to give the VM. The default amount is more than enough.
- If you’d like you can specify a shared directory.
- Finally, click on
Save.
- Click on
- Start up your VM and click enter when it reaches GRUB. It’ll take a very long time to boot.
- Go through the setup process, the defaults for everything are fine. If you intend to SSH into your server, install the OpenSSH server when prompted.
- Have a break, it’ll take a very long time to install.
- If you intend on SSHing into your VM, install the
net-toolspackage (sudo apt install net-tools), and useifconfigto find your IP address. - Once you’re in you’re done! Just install the tools you need for the course as normal, or use a Docker container to have everything setup for you.