Here I’m trying to build a Dockerfile.
While building I need to cp -r /bin/* /home/challenge/bin
But since the owner of /bin is root:root, I am unable to copy from host to docker container.
Here is my Dockerfile:
FROM ubuntu:18.04
RUN apt-get update -y \
&& apt-get install -y xinetd gcc build-essential \
&& apt-get clean -y
# Create challenge user
RUN useradd -u 1000 -d /home/challenge -s /bin/bash challenge
RUN mkdir /home/challenge
# Poor man's pipe to docker logs
RUN ln -sf /proc/1/fd/1 /var/log/challenge.log
# Copy xinetd and other dependencies
COPY deps/challenge.xinetd /etc/xinetd.d/challenge
COPY deps/entrypoint.sh /entrypoint.sh
RUN chmod 551 entrypoint.sh
# Set up chroot
RUN mkdir /home/challenge/usr
RUN cp -R /lib* /home/challenge && \
cp -R /usr/lib* /home/challenge/usr
RUN mkdir /home/challenge/dev && \
mknod /home/challenge/dev/null c 1 3 && \
mknod /home/challenge/dev/zero c 1 5 && \
mknod /home/challenge/dev/random c 1 8 && \
mknod /home/challenge/dev/urandom c 1 9 && \
chmod 666 /home/challenge/dev/*
RUN mkdir /home/challenge/bin && \
mkdir /home/challenge/etc && \
mkdir /home/challenge/src && \
cp /etc/shadow /home/challenge/etc && \
cp /etc/passwd /home/challenge/etc
# Set up challenge and flag
WORKDIR /home/challenge
COPY src/main.c /home/challenge/src
COPY Makefile /home/challenge
RUN make
RUN chmod 111 misfortune
CMD ["/entrypoint.sh"]
EXPOSE 9999
pegasus@pegasus:~/Documents/pwntools/misfortune-ctf-challenge$ ./setup.sh
[+] Building 1.8s (16/22) docker:default
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 32B 0.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [internal] load metadata for docker.io/library/ubuntu:18.04 1.4s
=> [ 1/18] FROM docker.io/library/ubuntu:18.04@sha256:152dc042452c496007f07ca9127571cb9c29697f42acbfad72324b2bb2e43c98 0.0s
=> [internal] load build context 0.0s
=> => transferring context: 185B 0.0s
=> CACHED [ 2/18] RUN apt-get update -y && apt-get install -y xinetd gcc build-essential && apt-get clean -y 0.0s
=> CACHED [ 3/18] RUN useradd -u 1000 -d /home/challenge -s /bin/bash challenge 0.0s
=> CACHED [ 4/18] RUN mkdir /home/challenge 0.0s
=> CACHED [ 5/18] RUN ln -sf /proc/1/fd/1 /var/log/challenge.log 0.0s
=> CACHED [ 6/18] COPY deps/challenge.xinetd /etc/xinetd.d/challenge 0.0s
=> CACHED [ 7/18] COPY deps/entrypoint.sh /entrypoint.sh 0.0s
=> CACHED [ 8/18] RUN chmod 551 entrypoint.sh 0.0s
=> CACHED [ 9/18] RUN mkdir /home/challenge/usr 0.0s
=> CACHED [10/18] RUN cp -R /lib* /home/challenge && cp -R /usr/lib* /home/challenge/usr 0.0s
=> CACHED [11/18] RUN mkdir /home/challenge/dev && mknod /home/challenge/dev/null c 1 3 && mknod /home/challenge/dev/zero c 1 5 && mknod /home/challenge/dev/random c 1 8 0.0s
=> ERROR [12/18] RUN mkdir /home/challenge/bin && mkdir /home/challenge/etc && mkdir /home/challenge/src && cp /bin/* /home/challenge/bin && cp /usr/bin/id /home/chal 0.4s
------
> [12/18] RUN mkdir /home/challenge/bin && mkdir /home/challenge/etc && mkdir /home/challenge/src && cp /bin/* /home/challenge/bin && cp /usr/bin/id /home/challenge/bin/id && cp /usr/bin/whoami /home/challenge/bin/whoami && cp /etc/shadow /home/challenge/etc && cp /etc/passwd /home/challenge/etc && rm /home/challenge/bin/rm:
0.361 cp: cannot create regular file '/home/challenge/bin/bash': Permission denied
0.361 cp: cannot create regular file '/home/challenge/bin/bunzip2': Permission denied
0.361 cp: cannot create regular file '/home/challenge/bin/bzcat': Permission denied
0.362 cp: cannot create regular file '/home/challenge/bin/bzcmp': Permission denied
0.362 cp: cannot create regular file '/home/challenge/bin/bzdiff': Permission denied
0.362 cp: cannot create regular file '/home/challenge/bin/bzegrep': Permission denied
0.362 cp: cannot create regular file '/home/challenge/bin/bzexe': Permission denied
0.362 cp: cannot create regular file '/home/challenge/bin/bzfgrep': Permission denied
0.362 cp: cannot create regular file '/home/challenge/bin/bzgrep': Permission denied
0.362 cp: cannot create regular file '/home/challenge/bin/bzip2': Permission denied
0.362 cp: cannot create regular file '/home/challenge/bin/bzip2recover': Permission denied
0.362 cp: cannot create regular file '/home/challenge/bin/bzless': Permission denied
0.362 cp: cannot create regular file '/home/challenge/bin/bzmore': Permission denied
0.363 cp: cannot create regular file '/home/challenge/bin/cat': Permission denied
0.363 cp: cannot create regular file '/home/challenge/bin/chgrp': Permission denied
0.363 cp: cannot create regular file '/home/challenge/bin/chmod': Permission denied
0.363 cp: cannot create regular file '/home/challenge/bin/chown': Permission denied
0.363 cp: cannot create regular file '/home/challenge/bin/cp': Permission denied
0.363 cp: cannot create regular file '/home/challenge/bin/dash': Permission denied
0.363 cp: cannot create regular file '/home/challenge/bin/date': Permission denied
0.363 cp: cannot create regular file '/home/challenge/bin/dd': Permission denied
0.363 cp: cannot create regular file '/home/challenge/bin/df': Permission denied
0.364 cp: cannot create regular file '/home/challenge/bin/dir': Permission denied
0.364 cp: cannot create regular file '/home/challenge/bin/dmesg': Permission denied
0.364 cp: cannot create regular file '/home/challenge/bin/dnsdomainname': Permission denied
0.364 cp: cannot create regular file '/home/challenge/bin/domainname': Permission denied
0.364 cp: cannot create regular file '/home/challenge/bin/echo': Permission denied
0.364 cp: cannot create regular file '/home/challenge/bin/egrep': Permission denied
0.364 cp: cannot create regular file '/home/challenge/bin/false': Permission denied
0.365 cp: cannot create regular file '/home/challenge/bin/fgrep': Permission denied
0.365 cp: cannot create regular file '/home/challenge/bin/findmnt': Permission denied
0.365 cp: cannot create regular file '/home/challenge/bin/grep': Permission denied
0.365 cp: cannot create regular file '/home/challenge/bin/gunzip': Permission denied
0.365 cp: cannot create regular file '/home/challenge/bin/gzexe': Permission denied
0.365 cp: cannot create regular file '/home/challenge/bin/gzip': Permission denied
0.365 cp: cannot create regular file '/home/challenge/bin/hostname': Permission denied
0.365 cp: cannot create regular file '/home/challenge/bin/kill': Permission denied
0.365 cp: cannot create regular file '/home/challenge/bin/ln': Permission denied
0.366 cp: cannot create regular file '/home/challenge/bin/login': Permission denied
0.366 cp: cannot create regular file '/home/challenge/bin/ls': Permission denied
0.366 cp: cannot create regular file '/home/challenge/bin/lsblk': Permission denied
0.366 cp: cannot create regular file '/home/challenge/bin/mkdir': Permission denied
0.366 cp: cannot create regular file '/home/challenge/bin/mknod': Permission denied
0.366 cp: cannot create regular file '/home/challenge/bin/mktemp': Permission denied
0.366 cp: cannot create regular file '/home/challenge/bin/more': Permission denied
0.366 cp: cannot create regular file '/home/challenge/bin/mount': Permission denied
0.366 cp: cannot create regular file '/home/challenge/bin/mountpoint': Permission denied
0.367 cp: cannot create regular file '/home/challenge/bin/mv': Permission denied
0.367 cp: cannot create regular file '/home/challenge/bin/nisdomainname': Permission denied
0.367 cp: cannot create regular file '/home/challenge/bin/pidof': Permission denied
0.367 cp: cannot create regular file '/home/challenge/bin/ps': Permission denied
0.367 cp: cannot create regular file '/home/challenge/bin/pwd': Permission denied
0.367 cp: cannot create regular file '/home/challenge/bin/rbash': Permission denied
0.367 cp: cannot create regular file '/home/challenge/bin/readlink': Permission denied
0.367 cp: cannot create regular file '/home/challenge/bin/rm': Permission denied
0.368 cp: cannot create regular file '/home/challenge/bin/rmdir': Permission denied
0.368 cp: cannot create regular file '/home/challenge/bin/run-parts': Permission denied
0.368 cp: cannot create regular file '/home/challenge/bin/sed': Permission denied
0.368 cp: cannot create regular file '/home/challenge/bin/sh': Permission denied
0.368 cp: cannot create regular file '/home/challenge/bin/sh.distrib': Permission denied
0.368 cp: cannot create regular file '/home/challenge/bin/sleep': Permission denied
0.368 cp: cannot create regular file '/home/challenge/bin/stty': Permission denied
0.368 cp: cannot create regular file '/home/challenge/bin/su': Permission denied
0.369 cp: cannot create regular file '/home/challenge/bin/sync': Permission denied
0.369 cp: cannot create regular file '/home/challenge/bin/tar': Permission denied
0.369 cp: cannot create regular file '/home/challenge/bin/tempfile': Permission denied
0.369 cp: cannot create regular file '/home/challenge/bin/touch': Permission denied
0.369 cp: cannot create regular file '/home/challenge/bin/true': Permission denied
0.369 cp: cannot create regular file '/home/challenge/bin/umount': Permission denied
0.369 cp: cannot create regular file '/home/challenge/bin/uname': Permission denied
0.369 cp: cannot create regular file '/home/challenge/bin/uncompress': Permission denied
0.370 cp: cannot create regular file '/home/challenge/bin/vdir': Permission denied
0.370 cp: cannot create regular file '/home/challenge/bin/wdctl': Permission denied
0.370 cp: cannot create regular file '/home/challenge/bin/which': Permission denied
0.370 cp: cannot create regular file '/home/challenge/bin/ypdomainname': Permission denied
0.370 cp: cannot create regular file '/home/challenge/bin/zcat': Permission denied
0.370 cp: cannot create regular file '/home/challenge/bin/zcmp': Permission denied
0.370 cp: cannot create regular file '/home/challenge/bin/zdiff': Permission denied
0.370 cp: cannot create regular file '/home/challenge/bin/zegrep': Permission denied
0.370 cp: cannot create regular file '/home/challenge/bin/zfgrep': Permission denied
0.371 cp: cannot create regular file '/home/challenge/bin/zforce': Permission denied
0.371 cp: cannot create regular file '/home/challenge/bin/zgrep': Permission denied
0.371 cp: cannot create regular file '/home/challenge/bin/zless': Permission denied
0.371 cp: cannot create regular file '/home/challenge/bin/zmore': Permission denied
0.371 cp: cannot create regular file '/home/challenge/bin/znew': Permission denied
------
ERROR: failed to solve: executor failed running [/bin/sh -c mkdir /home/challenge/bin && mkdir /home/challenge/etc && mkdir /home/challenge/src && cp /bin/* /home/challenge/bin && cp /usr/bin/id /home/challenge/bin/id && cp /usr/bin/whoami /home/challenge/bin/whoami && cp /etc/shadow /home/challenge/etc && cp /etc/passwd /home/challenge/etc && rm /home/challenge/bin/rm]: exit code: 1
Unable to find image 'misfortune:latest' locally
docker: Error response from daemon: pull access denied for misfortune, repository does not exist or may require 'docker login': denied: requested access to the resource is denied.
See 'docker run --help'.
chown: cannot access './play/*': No such file or directory
chmod: cannot access './play/*': No such file or directory
[+] binary and libc are now in ./play folder :)
How to fix this?