Exercise 1 – pwnexercise

The interesting files here are the two ELF executables hello and pwnexercise.

Server configuration files

The other files are just here to satisfy your curiousity if you’re wondering how the server is configured. The services are managed by systemd, which does all sorts of behind-the-scenes stuff on Linux.

The *.service files specify how the programs should be run. Most of the options are used to configure a (hopefully) secure restricted environment.

The *.socket files specify which network ports we should listen to and what service to run when someone connects.

pwntubes

from pwnlib.tubes.remote import remote
from pwnlib.context import context
context.log_level = 'debug'

io = remote('inf226.puffling.no', 6001)

# …

None of the ELF file stuff will work, but you can at least to the comms stuff. To do the ELF inspection, you can either use objdump directly, or have a look at this printout.