#! /bin/sh if [ ! -d /opt/mcp ]; then hostname pwnables fi # Set up a chroot environment by duplicating the base # image if [ ! -x /mnt/pwnables-root/bin/busybox ]; then mkdir -p /mnt/pwnables-root mount -o bind / /mnt/pwnables-root mount -t tmpfs -o size=5m,mode=0755 pwnables-var /mnt/pwnables-root/var mount -t tmpfs -o size=15k pwnables-tmp /mnt/pwnables-root/tmp mount -t tmpfs -o size=5m pwnables-home /mnt/pwnables-root/home # Make some skeleton junk install -o root -m 0755 -d /mnt/pwnables-root/var/lib install -o root -m 0755 -d /mnt/pwnables-root/var/lib/ctf install -o root -m 0755 -d /mnt/pwnables-root/var/lib/ctf/tokens install -o root -m 0755 -d /mnt/pwnables-root/var/log install -o root -m 0755 -d /mnt/pwnables-root/var/spool install -o root -m 0755 -d /mnt/pwnables-root/var/cache install -o root -m 0777 -d /mnt/pwnables-root/var/run install -o root -m 0777 -d /mnt/pwnables-root/var/cache # Install the pwnables install -o root -d /mnt/pwnables-root/home/alice/ install -o bob -m 0111 bin/gimmie /mnt/pwnables-root/home/alice/ # ltrace needs to read the binary install -o bob -m 0555 bin/ltraceme /mnt/pwnables-root/home/alice/ # straceme and killme need to be suid, to prevent LD_PRELOAD install -o bob -m 04111 bin/straceme /mnt/pwnables-root/home/alice/ install -o bob -m 04111 bin/killme /mnt/pwnables-root/home/alice/ fi cp -r service/* /var/service/