A docker environment for pwn in ctf.
$ docker pull tsalvia/ctf_pwn
$ docker run \
--privileged \
-it \
-v /local/folder/:/mnt \
-v /local/libc_db/:/opt/libc-database/db \
tsalvia/ctf_pwn
root@e9adc252eaac:~/workdir#
-
Build docker image
$ docker-compose build
or
-
Get docker image
$ docker pull tsalvia/ctf_pwn
-
Edit
.env
file$ vi .env COMPOSE_PROJECT_NAME=ctf_name SHARE_DIR_PATH=/local/folder LIBC_DB_PATH=/local/libc/db/folder
-
Run container
$ docker-compose run ctf root@c200263ac40c:~/workdir#
-
(option) Update libc-database
The following commands must be executed in the container.
$ /opt/libc-database/get Getting package location for ubuntu-xenial-i386 Getting ubuntu-xenial-i386-libc6 -> Location: http://security.ubuntu.com/ubuntu/pool/main/g/glibc/libc6_2.23-0ubuntu10_i386.deb -> ID: libc6_2.23-0ubuntu10_i386 -> Downloading package -> Extracting package -> Writing libc to db/libc6_2.23-0ubuntu10_i386.so -> Writing symbols to db/libc6_2.23-0ubuntu10_i386.symbols -> Writing version info