From c87ea11a5a8c830f5b894301e3d152c82efe0a8a Mon Sep 17 00:00:00 2001 From: David Date: Wed, 17 Sep 2025 07:35:51 +0200 Subject: [PATCH] * added files --- README.md | 19 +++++++++-- config/supervisord.conf | 10 ++++++ docker/Dockerfile | 58 ++++++++++++++++++++++++++++++++++ docker/docker-compose.yml | 0 docker/entrypoint.sh | 2 ++ www/index.html | 24 ++++++++++++++ www/static/css/stylesheet.css | 0 www/static/img/logo.jpg | Bin 0 -> 30201 bytes 8 files changed, 111 insertions(+), 2 deletions(-) create mode 100644 config/supervisord.conf create mode 100644 docker/Dockerfile create mode 100644 docker/docker-compose.yml create mode 100644 docker/entrypoint.sh create mode 100644 www/index.html create mode 100644 www/static/css/stylesheet.css create mode 100644 www/static/img/logo.jpg diff --git a/README.md b/README.md index 38c976d..597d197 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,18 @@ -# ctf-chal-ji +# JI EPITA - CTF + +#### Challenge Type : boot to root (box) +#### Difficulty : easy + +---- + +## Writeup + + + + + + + + + -Défi (box) du CTF organisé pour la JI \ No newline at end of file diff --git a/config/supervisord.conf b/config/supervisord.conf new file mode 100644 index 0000000..c036691 --- /dev/null +++ b/config/supervisord.conf @@ -0,0 +1,10 @@ +[supervisord] +nodaemon=true + +[program:sshd] +command=/usr/sbin/sshd -D +autorestart=true + +[program:apache2] +command=/usr/sbin/apache2ctl -D FOREGROUND +autorestart=true diff --git a/docker/Dockerfile b/docker/Dockerfile new file mode 100644 index 0000000..67c8ac7 --- /dev/null +++ b/docker/Dockerfile @@ -0,0 +1,58 @@ +FROM ubuntu:24.04 + +ENV DEBIAN_FRONTEND=noninteractive + +RUN apt update && apt upgrade -y && \ + apt install -y \ + apache2 \ + curl \ + nano \ + vim \ + supervisor \ + openssh-server \ + sudo \ + cowsay \ + && rm -rf /var/lib/apt/lists/* + +# the user players will need to have access as + + +RUN useradd -m -s /bin/bash l33t \ +&& echo "l33t:h4x0r" | chpasswd + +# foothold user with no sudo perms. Only access to the l33t user home directory. + +RUN useradd webmaster + +# apache2 config to change default 80 port to 31337 + +RUN sed -i 's/^Listen 80/Listen 31337/' /etc/apache2/ports.conf + +RUN sed -i 's///' /etc/apache2/sites-available/000-default.conf + +# copy the app + +#COPY ./app/ /var/www/html/ + +RUN mkdir /var/run/sshd + +# (suggestion) +# for the privesc, cowsay allowed to be ran with sudo without password +# https://gtfobins.github.io/gtfobins/cowsay/ + +RUN printf 'l33t ALL=(ALL) NOPASSWD: /usr/games/cowsay, /usr/bin/sudo -l\n' > /etc/sudoers.d/l33t && \ + chmod 0440 /etc/sudoers.d/l33t && \ + visudo -cf /etc/sudoers.d/l33t + +# 22 port -> ssh, 31337 port (suggestion) -> vulnerable webserver players need to find using nmap port scans + +EXPOSE 22 +EXPOSE 31337 + +# config of supervisord to have both apache2 and sshd services running + +COPY config/supervisord.conf /etc/supervisor/conf.d/supervisord.conf + +# start supervisord +CMD ["/usr/bin/supervisord", "-n"] + diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml new file mode 100644 index 0000000..e69de29 diff --git a/docker/entrypoint.sh b/docker/entrypoint.sh new file mode 100644 index 0000000..f682536 --- /dev/null +++ b/docker/entrypoint.sh @@ -0,0 +1,2 @@ +#! /bin/bash + diff --git a/www/index.html b/www/index.html new file mode 100644 index 0000000..8b1652e --- /dev/null +++ b/www/index.html @@ -0,0 +1,24 @@ + + + + + + Tux gallery ! + + + + +
+
+ +
+
+ + + \ No newline at end of file diff --git a/www/static/css/stylesheet.css b/www/static/css/stylesheet.css new file mode 100644 index 0000000..e69de29 diff --git a/www/static/img/logo.jpg b/www/static/img/logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f26fb8aba3fc971d1c08837bc9fcca34098846ec GIT binary patch literal 30201 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