Files
Debian-Retzel/Dockerfile
2026-01-08 21:18:55 +01:00

116 lines
3.6 KiB
Docker

FROM ubuntu:rolling
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
openssh-server sudo ca-certificates nano file htop vim locales zip fastfetch \
python3 python3-pip procps cron libpam-modules \
&& locale-gen en_US.UTF-8 \
&& update-locale LANG=en_US.UTF-8 \
&& rm -rf /var/lib/apt/lists/* \
&& echo escape-room > /etc/hostname
RUN mkdir -p /var/run/sshd
RUN useradd -m -s /bin/bash crime1
RUN useradd -m -s /bin/bash crime2
RUN useradd -m -s /bin/bash crime3
RUN useradd -m -s /bin/bash crime4
RUN useradd -m -s /bin/bash crime5
RUN mkdir -p /home/crime1
RUN chown -R crime1:crime1 /home/crime1
RUN mkdir -p /home/crime2
RUN chown -R crime2:crime2 /home/crime2
RUN mkdir -p /home/crime3
RUN chown -R crime3:crime3 /home/crime3
RUN mkdir -p /home/crime4
RUN chown -R crime4:crime4 /home/crime4
RUN mkdir -p /home/crime5
RUN chown -R crime5:crime5 /home/crime5
RUN echo "crime1:crime1" | chpasswd
RUN echo "crime2:&Vs@gSfdC+SPh!{BkBSt=~9{" | chpasswd
RUN echo "crime3:CX1bjEG5Hj2bYmFBKe4hfLYFpXBFi2Dv" | chpasswd
RUN echo "crime4:vG7kLp9xQ2zW4eR6tY8uI0" | chpasswd
RUN echo "crime5:Qw2e3r4T5z6U7i8O9p0AsD" | chpasswd
# SSH
RUN sed -i 's/#PasswordAuthentication yes/PasswordAuthentication yes/' /etc/ssh/sshd_config
RUN sed -i 's/#PermitEmptyPasswords no/PermitEmptyPasswords no/' /etc/ssh/sshd_config
RUN sed -i 's/^session.*pam_lastlog.so/#&/' /etc/pam.d/sshd \
&& sed -i 's/^session.*pam_lastlog.so/#&/' /etc/pam.d/login
# Level1
COPY /Level/Level1/Chat.txt /home/crime1/.Chats/Chat.txt
RUN chown crime1:crime1 /home/crime1/.Chats/Chat.txt && chmod 600 /home/crime1/.Chats/Chat.txt
# Level2
COPY /Level/Level2/data.txt /home/crime2/data.txt
RUN chown crime2:crime2 /home/crime2/data.txt && chmod 600 /home/crime2/data.txt
# Level3
COPY Level/Level3/ /home/crime3/
RUN chown -R crime3:crime3 /home/crime3/ && chmod -R 777 /home/crime3/
# Level4
COPY Level/Level4/ /home/crime4/
RUN chown crime4:crime4 /home/crime4/ && chmod -R 777 /home/crime4/
# Level5
COPY Level/Level5/systemd-hdtob.py /usr/local/bin/systemd-hdtob.py
RUN chmod +x /usr/local/bin/systemd-hdtob.py
COPY Level/Level5/watchdog.py /root/watchdog.py
RUN chmod 700 /root/watchdog.py
RUN mkdir -p /home/crime5/.timer \
&& chown crime5:crime5 /home/crime5/.timer
COPY guide/crime5/win-message.sh /usr/local/bin/win-message.sh
RUN chmod +x /usr/local/bin/win-message.sh
COPY Level/Level5/start_level5.sh /usr/local/bin/start_level5.sh
RUN chmod +x /usr/local/bin/start_level5.sh
COPY Level/Level5/login_wrapper.sh /usr/local/bin/login_wrapper.sh
RUN chmod +x /usr/local/bin/login_wrapper.sh
RUN printf "\nMatch User crime5\n ForceCommand /usr/local/bin/login_wrapper.sh\n" >> /etc/ssh/sshd_config
RUN apt-get update && apt-get install -y bash psmisc
# motd
RUN rm -fr /etc/update-motd.d/*
RUN mkdir -p /guide
COPY guide/crime1.txt /guide/crime1.txt
COPY guide/crime2.txt /guide/crime2.txt
COPY guide/crime3.txt /guide/crime3.txt
COPY guide/crime4.txt /guide/crime4.txt
RUN echo 'if [ -f "/guide/$(whoami).txt" ]; then cat "/guide/$(whoami).txt"; fi' >> /etc/bash.bashrc
# Level 5 typewriter effect
COPY guide/crime5/typewrite.sh /usr/local/bin/typewrite.sh
RUN chmod +x /usr/local/bin/typewrite.sh
RUN echo 'if [ "$(whoami)" = "crime5" ]; then /usr/local/bin/typewrite.sh; fi' >> /home/crime5/.bashrc \
&& chown crime5:crime5 /home/crime5/.bashrc
RUN echo 'export PS1="\u@$(hostname):\\$ "' >> /etc/profile
RUN rm -f /etc/legal
RUN sed -i 's/^session\s\+optional\s\+pam_motd/#session optional pam_motd/' /etc/pam.d/sshd
EXPOSE 22
COPY start.sh /start.sh
RUN chmod +x /start.sh
CMD ["/start.sh"]