diff --git a/challenge/Dockerfile b/challenge/Dockerfile index e595b2df..08e8ccd6 100644 --- a/challenge/Dockerfile +++ b/challenge/Dockerfile @@ -1,582 +1,8 @@ -# syntax=docker/dockerfile:1-labs +FROM ubuntu:24.04 -ARG UBUNTU_VERSION=20.04 -ARG DEFAULT_INSTALL_SELECTION=yes -ARG INSTALL_KERNEL=${DEFAULT_INSTALL_SELECTION} -ARG INSTALL_TCPDUMP=${DEFAULT_INSTALL_SELECTION} -ARG INSTALL_CAPSTONE=${DEFAULT_INSTALL_SELECTION} -ARG INSTALL_RADARE2=${DEFAULT_INSTALL_SELECTION} -ARG INSTALL_AFL=${DEFAULT_INSTALL_SELECTION} -ARG INSTALL_RAPPEL=${DEFAULT_INSTALL_SELECTION} -ARG INSTALL_RP=${DEFAULT_INSTALL_SELECTION} -ARG INSTALL_GECKODRIVER=${DEFAULT_INSTALL_SELECTION} -ARG INSTALL_BURPSUITE=${DEFAULT_INSTALL_SELECTION} -ARG INSTALL_BUSYBOX=${DEFAULT_INSTALL_SELECTION} -ARG INSTALL_GLOW=${DEFAULT_INSTALL_SELECTION} -ARG INSTALL_VIRTIOFSD=${DEFAULT_INSTALL_SELECTION} -ARG INSTALL_IDA_FREE=${DEFAULT_INSTALL_SELECTION} -ARG INSTALL_BINJA_FREE=${DEFAULT_INSTALL_SELECTION} -ARG INSTALL_GHIDRA=${DEFAULT_INSTALL_SELECTION} -ARG INSTALL_ANGR_MANAGEMENT=${DEFAULT_INSTALL_SELECTION} -ARG INSTALL_GDB=${DEFAULT_INSTALL_SELECTION} -ARG INSTALL_TOOLS_PIP=${DEFAULT_INSTALL_SELECTION} -ARG INSTALL_TOOLS_APT=${DEFAULT_INSTALL_SELECTION} - -FROM ubuntu:${UBUNTU_VERSION} as essentials - -SHELL ["/bin/bash", "-ceov", "pipefail"] - -ENV DEBIAN_FRONTEND=noninteractive -ENV LC_CTYPE=C.UTF-8 - -RUN < /etc/apt/apt.conf.d/keep-cache - - (set +o pipefail; yes | unminimize) - - dpkg --add-architecture i386 - - apt-get clean && rm -rf /var/lib/apt/lists/* -EOF - -RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ - --mount=type=cache,target=/var/lib/apt,sharing=locked \ - apt-get update && xargs apt-get install --no-install-recommends -yqq <> /opt/linux/linux-5.4/.config < ./virtiofsd - rm -f ./build.zip - chmod +x ./virtiofsd -EOF -FROM builder-virtiofsd-${INSTALL_VIRTIOFSD} as builder-virtiofsd - -################################################################################ - -FROM scratch as builder-desktop-angr-management-no -FROM essentials as builder-desktop-angr-management-yes -ARG UBUNTU_VERSION=20.04 - -COPY desktop/angr-management.desktop /usr/share/applications/ -RUN <=0.1.2 - flask - git+https://github.com/Gallopsled/pwntools#egg=pwntools - git+https://github.com/secdev/scapy#egg=scapy - jupyter - psutil - pycryptodome - r2pipe - requests - selenium -EOF - -RUN ln -sf /usr/bin/ipython3 /usr/bin/ipython - -FROM builder-tools-pip-${INSTALL_TOOLS_PIP} as builder-tools-pip - -################################################################################ - -FROM ubuntu:${UBUNTU_VERSION} as challenge - -SHELL ["/bin/bash", "-ceov", "pipefail"] - -ENV LC_CTYPE=C.UTF-8 - -COPY --link --from=essentials / / -COPY --link --from=builder-pwn.college / / - -COPY --link --from=builder-kernel /opt/linux /opt/linux -COPY --link --from=builder-tcpdump / / -COPY --link --from=builder-capstone / / -COPY --link --from=builder-radare2 / / -COPY --link --from=builder-aflplusplus / / -COPY --link --from=builder-rappel / / -COPY --link --from=builder-rp / / -COPY --link --from=builder-geckodriver / / -COPY --link --from=builder-burpsuite / / -COPY --link --from=builder-busybox / / -COPY --link --from=builder-glow / / -COPY --link --from=builder-virtiofsd /opt/virtiofsd /opt/virtiofsd -COPY --link --from=builder-desktop-ida-free / / -COPY --link --from=builder-desktop-binja-free / / -COPY --link --from=builder-desktop-ghidra / / -COPY --link --from=builder-desktop-angr-management / / -COPY --link --from=builder-tools-pip / / -COPY --link --from=builder-tools-apt / / -COPY --link --from=builder-gdb / / - -RUN <> /etc/ssh/ssh_config - echo "UserKnownHostsFile=/dev/null" >> /etc/ssh/ssh_config - echo "LogLevel ERROR" >> /etc/ssh/ssh_config - fi - - if [ -f /etc/ssh/sshd_config ] - then - sed -i 's/#PasswordAuthentication yes/PasswordAuthentication yes/g' /etc/ssh/sshd_config - sed -i 's/#PermitEmptyPasswords no/PermitEmptyPasswords yes/g' /etc/ssh/sshd_config - sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/g' /etc/ssh/sshd_config - fi - - if id ubuntu; then userdel -f -r ubuntu; fi - useradd -s /bin/bash -m hacker +RUN userdel -f -r ubuntu && \ + useradd -m hacker -s /bin/bash && \ passwd -d hacker - echo -e '\n[ "$UID" -eq 1000 ] && . /opt/pwn.college/bash.bashrc' >> /etc/bash.bashrc - ln -s /etc/bash.bashrc /etc/bashrc - - find / -xdev -type f -perm -4000 -exec chmod u-s {} \; - - chmod u+s /opt/pwn.college/vm/vm - - date > /opt/pwn.college/build -EOF - USER hacker WORKDIR /home/hacker