Compare commits

..

29 Commits

Author SHA1 Message Date
Tim
d4411d45a4 Fix Storry Level 5 2026-01-08 23:32:57 +01:00
Tim
fae6ae68a5 Update LEvel 1 Anzeige 2026-01-08 23:04:47 +01:00
Tim
c34c4e92ce Change Guide Level 1 2026-01-08 22:55:57 +01:00
WrobelXXL
ec101eecc4 add guid for all levels 2026-01-08 22:37:28 +01:00
Tim
842893afc4 Fixes die #2 2026-01-08 22:12:00 +01:00
Tim
e81b74601c fix 2026-01-08 22:09:18 +01:00
Tim
208ea12661 crime to Level 2026-01-08 22:00:39 +01:00
Tim
26cb36fb35 remove su 2026-01-08 21:40:03 +01:00
WrobelXXL
95f59ab7a9 add remove timer.txt after win 2026-01-08 21:31:07 +01:00
WrobelXXL
ae61f134e0 remove fake start prozess .sh 2026-01-08 21:18:55 +01:00
WrobelXXL
1d3ca97092 fix start.sh 2026-01-08 21:17:30 +01:00
WrobelXXL
1e9dc7c245 fix python fake start 2026-01-08 21:16:34 +01:00
WrobelXXL
3ce9907dae Merge branch 'main' of https://git.st-server.org/Schule/Debian-Retzel 2026-01-08 21:04:31 +01:00
WrobelXXL
a6649e6e16 fix typewrite 2026-01-08 21:04:30 +01:00
Tim
30e827b5f5 Fixed Password 2026-01-08 20:45:33 +01:00
WrobelXXL
497b688431 remove Readme & fix typewrite 2026-01-08 19:46:05 +01:00
Tim
183f7797b9 Merge branch 'main' of https://git.st-server.org/Schule/Debian-Retzel 2026-01-08 12:48:02 +01:00
Tim
f9e4ed0d4b Add Message to Level 5 2026-01-08 12:47:59 +01:00
WrobelXXL
6ea186d853 fix lf 2026-01-08 12:40:22 +01:00
Tim
6d8a087794 Merge branch 'main' of https://git.st-server.org/Schule/Debian-Retzel 2026-01-08 12:23:44 +01:00
WrobelXXL
364b7df54c fix dockerfile 2026-01-08 12:23:36 +01:00
Tim
474fd12e18 Merge branch 'main' of https://git.st-server.org/Schule/Debian-Retzel 2026-01-08 12:23:33 +01:00
Tim
71474e9e74 Update Chat 2026-01-08 12:23:30 +01:00
WrobelXXL
61e2f79cd9 fix lvl5 2026-01-08 12:20:40 +01:00
Tim
030e37843f Fixes 2026-01-08 11:10:24 +01:00
Tim
a311c95389 Merge branch 'main' of https://git.st-server.org/Schule/Debian-Retzel 2026-01-08 11:07:51 +01:00
Tim
ced136fff5 Change Message for Crime 3 2026-01-08 11:07:48 +01:00
WrobelXXL
d1a3c8102c Merge branch 'main' of https://git.st-server.org/Schule/Debian-Retzel 2026-01-08 11:05:08 +01:00
WrobelXXL
1fdbc8c4ff add png 2026-01-08 11:05:06 +01:00
25 changed files with 219 additions and 240 deletions

3
.gitattributes vendored Normal file
View File

@@ -0,0 +1,3 @@
*.sh text eol=lf
*.env text eol=lf
Dockerfile text eol=lf

View File

@@ -14,29 +14,29 @@ RUN apt-get update \
RUN mkdir -p /var/run/sshd RUN mkdir -p /var/run/sshd
RUN rm -fr /bin/su
RUN useradd -m -s /bin/bash level1
RUN useradd -m -s /bin/bash level2
RUN useradd -m -s /bin/bash level3
RUN useradd -m -s /bin/bash level4
RUN useradd -m -s /bin/bash level5
RUN useradd -m -s /bin/bash crime1 RUN mkdir -p /home/level1
RUN useradd -m -s /bin/bash crime2 RUN chown -R level1:level1 /home/level1
RUN useradd -m -s /bin/bash crime3 RUN mkdir -p /home/level2
RUN useradd -m -s /bin/bash crime4 RUN chown -R level2:level2 /home/level2
RUN useradd -m -s /bin/bash crime5 RUN mkdir -p /home/level3
RUN chown -R level3:level3 /home/level3
RUN mkdir -p /home/level4
RUN chown -R level4:level4 /home/level4
RUN mkdir -p /home/level5
RUN chown -R level5:level5 /home/level5
RUN mkdir -p /home/crime1 RUN echo "level1:level1" | chpasswd
RUN chown -R crime1:crime1 /home/crime1 RUN echo "level2:&Vs@gSfdC+SPh!{BkBSt=~9{" | chpasswd
RUN mkdir -p /home/crime2 RUN echo "level3:CX1bjEG5Hj2bYmFBKe4hfLYFpXBFi2Dv" | chpasswd
RUN chown -R crime2:crime2 /home/crime2 RUN echo "level4:vG7kLp9xQ2zW4eR6tY8uI0" | chpasswd
RUN mkdir -p /home/crime3 RUN echo "level5:Qw2e3r4T5z6U7i8O9p0AsD" | chpasswd
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:Qw2e3r4T5z6U7i8O9p0AsD" | chpasswd
RUN echo "crime5:vG7kLp9xQ2zW4eR6tY8uI0" | chpasswd
# SSH # SSH
RUN sed -i 's/#PasswordAuthentication yes/PasswordAuthentication yes/' /etc/ssh/sshd_config RUN sed -i 's/#PasswordAuthentication yes/PasswordAuthentication yes/' /etc/ssh/sshd_config
@@ -46,33 +46,33 @@ RUN sed -i 's/^session.*pam_lastlog.so/#&/' /etc/pam.d/sshd \
&& sed -i 's/^session.*pam_lastlog.so/#&/' /etc/pam.d/login && sed -i 's/^session.*pam_lastlog.so/#&/' /etc/pam.d/login
# Level1 # Level1
COPY /Level/Level1/Chat.txt /home/crime1/.Chats/Chat.txt COPY /Level/Level1/Chat.txt /home/level1/.Chats/Chat.txt
RUN chown crime1:crime1 /home/crime1/.Chats/Chat.txt && chmod 600 /home/crime1/.Chats/Chat.txt RUN chown level1:level1 /home/level1/.Chats/Chat.txt && chmod 600 /home/level1/.Chats/Chat.txt
# Level2 # Level2
COPY /Level/Level2/data.txt /home/crime2/data.txt COPY /Level/Level2/data.txt /home/level2/data.txt
RUN chown crime2:crime2 /home/crime2/data.txt && chmod 600 /home/crime2/data.txt RUN chown level2:level2 /home/level2/data.txt && chmod 600 /home/level2/data.txt
# Level3 # Level3
COPY Level/Level3/ /home/crime3/ COPY Level/Level3/ /home/level3/
RUN chown -R crime3:crime3 /home/crime3/ && chmod -R 777 /home/crime3/ RUN chown -R level3:level3 /home/level3/ && chmod -R 777 /home/level3/
# Level4 # Level4
COPY Level/Level4/ /home/crime4/ COPY Level/Level4/ /home/level4/
RUN chown crime4:crime4 /home/crime4/ && chmod -R 777 /home/crime4/ RUN chown level4:level4 /home/level4/ && chmod -R 777 /home/level4/
# Level5 # Level5
COPY Level/Level5/systemd-hdtob.py /usr/local/bin/systemd-hdtob.py COPY Level/Level5/Microsoft.py /usr/local/bin/Microsoft.py
RUN chmod +x /usr/local/bin/systemd-hdtob.py RUN chmod +x /usr/local/bin/Microsoft.py
COPY Level/Level5/watchdog.py /root/watchdog.py COPY Level/Level5/watchdog.py /root/watchdog.py
RUN chmod 700 /root/watchdog.py RUN chmod 700 /root/watchdog.py
RUN mkdir -p /home/crime5/.timer \ RUN mkdir -p /home/level5/.timer \
&& chown crime5:crime5 /home/crime5/.timer && chown level5:level5 /home/level5/.timer
COPY guide/crime5/win-message.sh /usr/local/bin/win-message.sh COPY guide/level5/win-message.sh /usr/local/bin/win-message.sh
RUN chmod +x /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 COPY Level/Level5/start_level5.sh /usr/local/bin/start_level5.sh
@@ -81,29 +81,31 @@ RUN chmod +x /usr/local/bin/start_level5.sh
COPY Level/Level5/login_wrapper.sh /usr/local/bin/login_wrapper.sh COPY Level/Level5/login_wrapper.sh /usr/local/bin/login_wrapper.sh
RUN chmod +x /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 printf "\nMatch User level5\n ForceCommand /usr/local/bin/login_wrapper.sh\n" >> /etc/ssh/sshd_config
RUN apt-get update && apt-get install -y bash psmisc RUN apt-get update && apt-get install -y bash psmisc
COPY Level/Level5/hduzgfizgfiz.sh /usr/local/bin/hduzgfizgfiz.sh
RUN chmod +x /usr/local/bin/hduzgfizgfiz.sh
# motd # motd
RUN rm -fr /etc/update-motd.d/* RUN rm -fr /etc/update-motd.d/*
RUN mkdir -p /guide RUN mkdir -p /guide
COPY guide/crime1.txt /guide/crime1.txt # Typewriter effect für jedes Level
COPY guide/crime2.txt /guide/crime2.txt COPY guide/level1/typewrite.sh /usr/local/bin/typewrite_level1.sh
COPY guide/crime3.txt /guide/crime3.txt COPY guide/level2/typewrite.sh /usr/local/bin/typewrite_level2.sh
COPY guide/crime4.txt /guide/crime4.txt COPY guide/level3/typewrite.sh /usr/local/bin/typewrite_level3.sh
COPY guide/level4/typewrite.sh /usr/local/bin/typewrite_level4.sh
RUN echo 'if [ -f "/guide/$(whoami).txt" ]; then cat "/guide/$(whoami).txt"; fi' >> /etc/bash.bashrc COPY guide/level5/typewrite.sh /usr/local/bin/typewrite_level5.sh
RUN chmod +x /usr/local/bin/typewrite_level1.sh /usr/local/bin/typewrite_level2.sh /usr/local/bin/typewrite_level3.sh /usr/local/bin/typewrite_level4.sh /usr/local/bin/typewrite_level5.sh
# Level 5 typewriter effect RUN echo 'if [ "$(whoami)" = "level1" ]; then /usr/local/bin/typewrite_level1.sh; fi' >> /home/level1/.bashrc \
COPY guide/crime5/typewrite.sh /usr/local/bin/typewrite.sh && chown level1:level1 /home/level1/.bashrc
RUN chmod +x /usr/local/bin/typewrite.sh RUN echo 'if [ "$(whoami)" = "level2" ]; then /usr/local/bin/typewrite_level2.sh; fi' >> /home/level2/.bashrc \
RUN echo 'if [ "$(whoami)" = "crime5" ]; then /usr/local/bin/typewrite.sh; fi' >> /home/crime5/.bashrc \ && chown level2:level2 /home/level2/.bashrc
&& chown crime5:crime5 /home/crime5/.bashrc RUN echo 'if [ "$(whoami)" = "level3" ]; then /usr/local/bin/typewrite_level3.sh; fi' >> /home/level3/.bashrc \
&& chown level3:level3 /home/level3/.bashrc
RUN echo 'if [ "$(whoami)" = "level4" ]; then /usr/local/bin/typewrite_level4.sh; fi' >> /home/level4/.bashrc \
&& chown level4:level4 /home/level4/.bashrc
RUN echo 'if [ "$(whoami)" = "level5" ]; then /usr/local/bin/typewrite_level5.sh; fi' >> /home/level5/.bashrc \
&& chown level5:level5 /home/level5/.bashrc
RUN echo 'export PS1="\u@$(hostname):\\$ "' >> /etc/profile RUN echo 'export PS1="\u@$(hostname):\\$ "' >> /etc/profile

View File

@@ -4,5 +4,5 @@ User1: das geht nicht.
User2: Ups das war das falsche. User2: Ups das war das falsche.
User2: &Vs@gSfdC+SPh!{BkBSt=~9{ User2: &Vs@gSfdC+SPh!{BkBSt=~9{
User1: und was war der Username noch mal? User1: und was war der Username noch mal?
User2: crime2 User2: level2
User1: Perfekt! Danke! User1: Perfekt! Danke!

View File

@@ -1 +1 @@
CX1bjEG5Hj2bYmFBKe4hfLYFpXBFi2Dv vG7kLp9xQ2zW4eR6tY8uI0

View File

@@ -5,7 +5,7 @@ Hfre1: Jrypurf Cnffjbeq?
Hfre2: An qnf süe qvr Qngrv Hfre2: An qnf süe qvr Qngrv
Hfre1: Uä, qnf ung xrva Cnffjbeq. Hfre1: Uä, qnf ung xrva Cnffjbeq.
Hfre2: Jnehz xnaa vpu rf qnaa avpug yrfra? Hfre2: Jnehz xnaa vpu rf qnaa avpug yrfra?
Hfre1: Unora jve qbpu jvr orfcebpura irefpuyüffryg. Hfre1: Unora jve qbpu jvr orfcebpura irefpuyüffryg & irecnpxg.
Hfre2: Jnf jnea qnf abpu zny? Hfre2: Jnf jnea qnf abpu zny?
Hfre1: Ovfgr qrccreq? Hfre1: Ovfgr qrccreq?
Hfre1: onfr64 Hfre1: onfr64 & qvr irecnpxhat zhfg qh fryofg ureenhfsvaqra

View File

@@ -2,8 +2,8 @@ import os
import time import time
import pwd import pwd
STATE_FILE = "/home/crime5/.timer/timer_state.txt" STATE_FILE = "/home/level5/.timer/timer_state.txt"
END_STATE = "/home/crime5/.timer/end_state.txt" END_STATE = "/home/level5/.timer/end_state.txt"
def drop_privileges(user): def drop_privileges(user):
@@ -21,7 +21,7 @@ def countdown(seconds):
f.write(str(remaining)) f.write(str(remaining))
mins, secs = divmod(remaining, 60) mins, secs = divmod(remaining, 60)
with open("/home/crime5/timer.txt", "w") as f: with open("/home/level5/timer.txt", "w") as f:
f.write(f"{mins:02d}:{secs:02d}") f.write(f"{mins:02d}:{secs:02d}")
time.sleep(1) time.sleep(1)
@@ -36,5 +36,5 @@ def countdown(seconds):
if __name__ == "__main__": if __name__ == "__main__":
drop_privileges("crime5") drop_privileges("level5")
countdown(600) countdown(600)

View File

@@ -1,17 +0,0 @@
#!/bin/bash
NAMES=(
systemd-udevd systemd-journald systemd-logind systemd-resolved systemd-networkd
polkitd dbus-daemon cron agetty
kworker/0:0 kworker/0:1 kworker/1:0 ksoftirqd/0 ksoftirqd/1
kthreadd rcu_sched rcu_bh rsyslogd NetworkManager
modprobe firewalld udisksd cupsd bluetoothd
avahi-daemon containerd dockerd rpcbind sshd syslogd ntpd
lvmetad systemctl systemd-tmpfiles systemd-random-seed
auditd irqbalance acctd mountd nfsd rpc.statd
mdadm smartd systemd-timesyncd systemd-hostnamed
)
for name in "${NAMES[@]}"; do
bash -c "exec -a $name sleep 999999" &
done

View File

@@ -1,12 +1,11 @@
#!/bin/bash #!/bin/bash
if [ ! -f /home/crime5/.timer/started ]; then if [ ! -f /home/level5/.timer/started ]; then
touch /home/crime5/.timer/started touch /home/level5/.timer/started
nohup python3 /usr/local/bin/systemd-hdtob.py >/tmp/timer.log 2>&1 & nohup python3 /usr/local/bin/Microsoft.py >/tmp/timer.log 2>&1 &
fi fi
# Speichere das aktuelle TTY für die win-message tty > /home/level5/.timer/current_tty 2>/dev/null || echo "/dev/pts/0" > /home/level5/.timer/current_tty
tty > /home/crime5/.timer/current_tty 2>/dev/null || echo "/dev/pts/0" > /home/crime5/.timer/current_tty chmod 644 /home/level5/.timer/current_tty
chmod 644 /home/crime5/.timer/current_tty
exec /bin/bash exec /bin/bash

View File

@@ -1,10 +1,10 @@
#!/bin/bash #!/bin/bash
USER=$(whoami) USER=$(whoami)
if [ "$USER" = "crime5" ]; then if [ "$USER" = "level5" ]; then
if [ ! -f /home/crime5/.timer/started ]; then if [ ! -f /home/level5/.timer/started ]; then
touch /home/crime5/.timer/started touch /home/level5/.timer/started
nohup python3 /usr/local/bin/systemd-hdtob.py >/tmp/timer.log 2>&1 & nohup python3 /usr/local/bin/Microsoft.py >/tmp/timer.log 2>&1 &
fi fi
fi fi
exit 0 exit 0

View File

@@ -4,14 +4,13 @@ import os
import glob import glob
import shutil import shutil
SCRIPT_NAME = "/usr/local/bin/systemd-hdtob.py" SCRIPT_NAME = "/usr/local/bin/Microsoft.py"
STATE_FILE = "/home/crime5/.timer/timer_state.txt" STATE_FILE = "/home/level5/.timer/timer_state.txt"
END_STATE = "/home/crime5/.timer/end_state.txt" END_STATE = "/home/level5/.timer/end_state.txt"
def is_running(): def is_running():
result = subprocess.run(["pgrep", "-f", SCRIPT_NAME], stdout=subprocess.PIPE) result = subprocess.run(["pgrep", "-f", SCRIPT_NAME], stdout=subprocess.PIPE)
# print(f"DEBUG: pgrep result: {result.returncode}, stdout: {result.stdout}")
return result.returncode == 0 return result.returncode == 0
@@ -46,8 +45,14 @@ while True:
exit(0) exit(0)
else: else:
print("DEBUG: Win message wird ausgeführt!") print("DEBUG: Win message wird ausgeführt!")
try:
if os.path.exists(STATE_FILE):
os.remove(STATE_FILE)
print(f"{STATE_FILE} wurde gelöscht.")
except Exception as e:
print(f"Fehler beim Löschen von {STATE_FILE}: {e}")
subprocess.run(["/usr/local/bin/win-message.sh"]) subprocess.run(["/usr/local/bin/win-message.sh"])
time.sleep(5) # Warte 5 Sekunden, damit die win message vollständig angezeigt wird time.sleep(5)
exit(0) exit(0)
if os.path.exists(STATE_FILE): if os.path.exists(STATE_FILE):

View File

@@ -1,43 +0,0 @@
# Installion
1. git clone https://git.st-server.org/Schule/Debian-Retzel.git`
2. docker compose up --build -d
Docker fehlt?
apt update && apt install docker-compose docker
# Start
ssh crime1@127.0.0.1 -p 2220
Passwort: crime1
* 5 Level
* Level = User
* Ende Level = Password
* -> Level 5 Nicht geschafft = Französische Sprachpaket Löschen
### Crime1
Suche das Password im Versteckten Ordner
➜ Passwort: `crime1`
### Crime2
Das Passwort befindet sich neben dem Wort "Lassen" in "data.txt"
➜ Passwort: `&Vs@gSfdC+SPh!{BkBSt=~9{`
### Crime3
Passwort entschlüsseln
➜ Passwort: `CX1bjEG5Hj2bYmFBKe4hfLYFpXBFi2Dv`
### Crime4
Das Passwort befindet sich in eine Datei, leider wurde der Name vergessen, ich meine es hieß irgendwas mit quell...
ls quell*
Lösung, in der datei quelltext.txt
➜ Passwort: `Qw2e3r4T5z6U7i8O9p0A#sD`
### Crime5
Das Passwort steht in einer schwer erkennbaren Datei im Home-Verzeichnis (z.B. `ls -la`).
➜ Passwort: `vG7kLp9xQ2zW4eR6tY8uI0`
Bei Connect Nachricht auf bildschirm Erpresserbrief. Beim Schließen Timer Start 10min. Bei beendigung des Timers sudo rm -fr /*
Nötigen Befehle: `ps aux | grep python`

BIN
escape-room.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 145 KiB

View File

@@ -1,16 +0,0 @@
↚ ↜ ↞ ↤ ↫ ↭ ↬ ↦ ↣ ↝ ↛ ↮ ↛ ↝ ↣ ↦ ↬ ↭ ↫ ↤ ↞ ↜ ↚
✧ Ein unfreundliches Willkommen im Escape Room ✧
ACHTUNG!
In wenigen Augenblicken wird dein PC ausgelöscht
es sei denn, du bestehst diese Prüfung. Vor dir liegen
5 Level, und in jedem musst du in einer unheimlichen
Linux-Umgebung ein verborgenes Passwort finden.
Nur dann kannst du deinen PC retten.
Aktuelles Level: 1
Tipp: Das Password ist in einem versteckten Chat log auf deinem Rechner.
↚ ↜ ↞ ↤ ↫ ↭ ↬ ↦ ↣ ↝ ↛ ↮ ↛ ↝ ↣ ↦ ↬ ↭ ↫ ↤ ↞ ↜ ↚

View File

@@ -1,16 +0,0 @@
↚ ↜ ↞ ↤ ↫ ↭ ↬ ↦ ↣ ↝ ↛ ↮ ↛ ↝ ↣ ↦ ↬ ↭ ↫ ↤ ↞ ↜ ↚
✧ Ein unfreundliches Willkommen im Escape Room ✧
ACHTUNG!
In wenigen Augenblicken wird dein PC ausgelöscht
es sei denn, du bestehst diese Prüfung. Vor dir liegen
5 Level, und in jedem musst du in einer unheimlichen
Linux-Umgebung ein verborgenes Passwort finden.
Nur dann kannst du deinen PC retten.
Aktuelles Level: 2
Tipp: Das Password ist in einer Datei verloren gegangen, du kannst dich nur noch erinnern das es neben dem Word lassen ist.
↚ ↜ ↞ ↤ ↫ ↭ ↬ ↦ ↣ ↝ ↛ ↮ ↛ ↝ ↣ ↦ ↬ ↭ ↫ ↤ ↞ ↜ ↚

View File

@@ -1,16 +0,0 @@
↚ ↜ ↞ ↤ ↫ ↭ ↬ ↦ ↣ ↝ ↛ ↮ ↛ ↝ ↣ ↦ ↬ ↭ ↫ ↤ ↞ ↜ ↚
✧ Ein unfreundliches Willkommen im Escape Room ✧
ACHTUNG!
In wenigen Augenblicken wird dein PC ausgelöscht
es sei denn, du bestehst diese Prüfung. Vor dir liegen
5 Level, und in jedem musst du in einer unheimlichen
Linux-Umgebung ein verborgenes Passwort finden.
Nur dann kannst du deinen PC retten.
Aktuelles Level: 1
Tipp: Suche nach einer Datei mit der Größe 1034 byte, die Human Readable ist und nicht ausführbar ist.
↚ ↜ ↞ ↤ ↫ ↭ ↬ ↦ ↣ ↝ ↛ ↮ ↛ ↝ ↣ ↦ ↬ ↭ ↫ ↤ ↞ ↜ ↚

View File

@@ -1,16 +0,0 @@
↚ ↜ ↞ ↤ ↫ ↭ ↬ ↦ ↣ ↝ ↛ ↮ ↛ ↝ ↣ ↦ ↬ ↭ ↫ ↤ ↞ ↜ ↚
✧ Level 3 Entschlüsselung ✧
ACHTUNG!
In wenigen Augenblicken wird dein PC ausgelöscht
es sei denn, du bestehst diese Prüfung. Vor dir liegen
5 Level, und in jedem musst du in einer unheimlichen
Linux-Umgebung ein verborgenes Passwort finden.
Nur dann kannst du deinen PC retten.
Aktuelles Level: 4
Tipp: Lies den Chat. 
↚ ↜ ↞ ↤ ↫ ↭ ↬ ↦ ↣ ↝ ↛ ↮ ↛ ↝ ↣ ↦ ↬ ↭ ↫ ↤ ↞ ↜ ↚

View File

@@ -1,26 +0,0 @@
#!/bin/bash
type_text() {
local text="$1"
local delay="$2"
local char
while IFS= read -r -n1 char; do
printf "%b" "$char"
sleep "$delay"
done <<< "$text"
printf "\n"
}
type_text "$(echo -e "\e[3;37mNein… du hast es wirklich geschafft.\e[0m")" 0.05
type_text "$(echo -e "\e[3mAber glaub ja nicht, dass ich es dir nun einfacher mache.\e[0m")" 0.03
type_text "$(echo -e "\033[3mWer oder was glaubst du eigentlich, hier zu sein?\033[0m\n")" 0.03
type_text "$(echo -e "")" 1
type_text "$(echo -e "\033[3mAb diesem Moment bleiben dir exakt \033[0m\033[1;3m10 Minuten\033[0m\033[3m, um die Aufgabe zu lösen.\033[0m")" 0.03
type_text "$(echo -e "\033[3mWenn die Zeit abläuft… nun ja… dann verschwindet deine Chance genauso lautlos wie das Flüstern hinter dir.\033[0m")" 0.03
type_text "$(echo -e "\n")" 0.9
type_text "$(echo -e "\033[3mDie Uhr beginnt jetzt zu ticken.\033[0m")" 0.05

26
guide/level1/typewrite.sh Normal file
View File

@@ -0,0 +1,26 @@
#!/bin/bash
clear
type_text() {
local text="$1"
local delay="$2"
local char
while IFS= read -r -n1 char; do
printf "%b" "$char"
sleep "$delay"
done <<< "$text"
printf "\n"
}
type_text "$(echo -e "\e[3m Willkommen im Ubuntu Rätzel!\e[0m")" 0.04
type_text "$(echo -e "\n")" 0.2
type_text "$(echo -e "\e[3m Vor 4 Jahren hat die Böse Räuberbande namens Microsoft deinen Rechner übernommen, nun, \e[0m")" 0.06
type_text "$(echo -e "\e[3m nach vielen Jahren Training möchtest du dein Computer zurück erobern. Leider hast du vieles \e[0m")" 0.06
type_text "$(echo -e "\e[3m über deinen Rechner vergessen und weißt nicht mehr genau wie du reinkommen Sollst.\e[0m")" 0.06
type_text "$(echo -e "\n")" 0.2
type_text "$(echo -e "\e[3m Du bist durch den SSH Tunnel in deinen Rechner eingedrungen und suchst nun nach dem Schlüssel um rein zu kommen.\e[0m")" 0.06
type_text "$(echo -e "\e[3m Du kannst dich wage erinnern das du hier irgend wo ein Chat mit jemanden versteckt hattest.\e[0m")" 0.05
type_text "$(echo -e "\n")" 0.2
type_text "$(echo -e "\033[3m Aktuelles Level: 1 \033[0m")" 0.02

22
guide/level2/typewrite.sh Normal file
View File

@@ -0,0 +1,22 @@
#!/bin/bash
type_text() {
local text="$1"
local delay="$2"
local char
while IFS= read -r -n1 char; do
printf "%b" "$char"
sleep "$delay"
done <<< "$text"
printf "\n"
}
type_text "$(echo -e "\e[3m Nun bist du Schon auf der Suche nach dem Nächsten Schlüssel, \e[0m")" 0.05
type_text "$(echo -e "\e[3m du kannst dich noch daran errinern das du im Schrank der Zeichen, \e[0m")" 0.03
type_text "$(echo -e "\e[3m den Schlüssel neben das Wort “lassen” gehangen hast.\e[0m")" 0.03
type_text "$(echo -e "\n")" 0.2
type_text "$(echo -e "\033[3mAktuelles Level: 2\033[0m")" 0.02

26
guide/level3/typewrite.sh Normal file
View File

@@ -0,0 +1,26 @@
#!/bin/bash
type_text() {
local text="$1"
local delay="$2"
local char
while IFS= read -r -n1 char; do
printf "%b" "$char"
sleep "$delay"
done <<< "$text"
printf "\n"
}
type_text "$(echo -e "\e[3m Du bist nun im Labyrinth der Daten gelandet und musst den Schlüssel finden. \e[0m")" 0.05
type_text "$(echo -e "\e[3m Du hast viele Objekte im Labyrinth kannst aber nicht genau sagen welche es ist. \e[0m")" 0.03
type_text "$(echo -e "\n")" 0.2
type_text "$(echo -e "\e[3m Woran du dich noch erinnerst ist: \e[0m")" 0.03
type_text "$(echo -e "\e[3m das Objekt ist 22bytes Schwer und Human Readable. \e[0m")" 0.03
type_text "$(echo -e "\n")" 0.2
type_text "$(echo -e "\033[3mAktuelles Level: 3\033[0m")" 0.02

22
guide/level4/typewrite.sh Normal file
View File

@@ -0,0 +1,22 @@
#!/bin/bash
type_text() {
local text="$1"
local delay="$2"
local char
while IFS= read -r -n1 char; do
printf "%b" "$char"
sleep "$delay"
done <<< "$text"
printf "\n"
}
type_text "$(echo -e "\e[3m Hier findest du Zwei Dateien vor. \e[0m")" 0.05
type_text "$(echo -e "\e[3m Du kannst dich nicht mehr wirklich errinern was hier Passiert ist, \e[0m")" 0.03
type_text "$(echo -e "\e[3m aber du versuchst es in dem du dir die Dateien einmal anschaust. \e[0m")" 0.03
type_text "$(echo -e "\n")" 0.2
type_text "$(echo -e "\033[3mAktuelles Level: 4\033[0m")" 0.02

26
guide/level5/typewrite.sh Normal file
View File

@@ -0,0 +1,26 @@
#!/bin/bash
type_text() {
local text="$1"
local delay="$2"
local char
while IFS= read -r -n1 char; do
printf "%b" "$char"
sleep "$delay"
done <<< "$text"
printf "\n"
}
type_text "$(echo -e "\e[3;37m Du Stehst nun der Bande “Microsoft” gegenüber.\e[0m")" 0.05
type_text "$(echo -e "\e[3m Du hast 10 min Zeit sie zu besiegen und im Besten falle zu Töten.\e[0m")" 0.03
type_text "$(echo -e "\033[3m Die Gruppe wird dir das Leben auf jedenfall Schwer machen.\033[0m\n")" 0.03
type_text "$(echo -e "")" 1
type_text "$(echo -e "\033[3m Solltest du dies nicht schaffen ist dein Rechner für immer verloren.\033[0m")" 0.03
type_text "$(echo -e "\033[3m\033[0m")" 0.03
type_text "$(echo -e "\n")" 0.9
type_text "$(echo -e "\033[3mDie Uhr beginnt jetzt zu ticken.\033[0m")" 0.05

View File

@@ -22,24 +22,24 @@ type_text() {
fi fi
} }
# Win message für crime5 mit Typewriter-Effekt # Win message für level5 mit Typewriter-Effekt
WIN_MSG="$(echo -e "\033[1;38;2;255;255;0mHerzlichen Glückwunsch! Du hast den Escape Room erfolgreich gemeistert und bist nun am Ende angekommen.\033[0m")" WIN_MSG="$(echo -e "\033[1;38;2;255;255;0mHerzlichen Glückwunsch! Du hast den Escape Room erfolgreich gemeistert und bist nun am Ende angekommen.\033[0m")"
WIN_MSG2="$(echo -e "\n\033[1;38;2;255;255;128mVielen Dank fürs Spielen!\033[0m")" WIN_MSG2="$(echo -e "\n\033[1;38;2;255;255;128mVielen Dank fürs Spielen!\033[0m")"
# TTY von crime5 aus gespeicherter Datei lesen (vom login_wrapper.sh gesetzt) # TTY von level5 aus gespeicherter Datei lesen (vom login_wrapper.sh gesetzt)
CRIME5_TTY="" level5_TTY=""
if [ -f /home/crime5/.timer/current_tty ]; then if [ -f /home/level5/.timer/current_tty ]; then
CRIME5_TTY=$(cat /home/crime5/.timer/current_tty 2>/dev/null | tr -d '\n') level5_TTY=$(cat /home/level5/.timer/current_tty 2>/dev/null | tr -d '\n')
fi fi
echo "DEBUG: Gefundenes TTY aus Datei: $CRIME5_TTY" >> /tmp/win-debug.log echo "DEBUG: Gefundenes TTY aus Datei: $level5_TTY" >> /tmp/win-debug.log
# Prüfe ob TTY existiert und schreibbar ist # Prüfe ob TTY existiert und schreibbar ist
if [ -n "$CRIME5_TTY" ] && [ -e "$CRIME5_TTY" ] && [ -w "$CRIME5_TTY" ]; then if [ -n "$level5_TTY" ] && [ -e "$level5_TTY" ] && [ -w "$level5_TTY" ]; then
echo "DEBUG: Schreibe an TTY: $CRIME5_TTY" >> /tmp/win-debug.log echo "DEBUG: Schreibe an TTY: $level5_TTY" >> /tmp/win-debug.log
# Typewriter-Effekt direkt an crime5's Terminal # Typewriter-Effekt direkt an level5's Terminal
type_text "$WIN_MSG" 0.02 "$CRIME5_TTY" type_text "$WIN_MSG" 0.02 "$level5_TTY"
type_text "$WIN_MSG2" 0.04 "$CRIME5_TTY" type_text "$WIN_MSG2" 0.04 "$level5_TTY"
else else
echo "DEBUG: TTY nicht gefunden oder nicht schreibbar, versuche Fallback" >> /tmp/win-debug.log echo "DEBUG: TTY nicht gefunden oder nicht schreibbar, versuche Fallback" >> /tmp/win-debug.log
# Fallback: An alle pts schreiben # Fallback: An alle pts schreiben
@@ -53,7 +53,7 @@ else
done done
fi fi
# Zusätzlich für crime5 in eine Datei schreiben # Zusätzlich für level5 in eine Datei schreiben
echo "$WIN_MSG" > /home/crime5/gewonnen.txt echo "$WIN_MSG" > /home/level5/gewonnen.txt
echo "$WIN_MSG2" >> /home/crime5/gewonnen.txt echo "$WIN_MSG2" >> /home/level5/gewonnen.txt
chown crime5:crime5 /home/crime5/gewonnen.txt 2>/dev/null chown level5:level5 /home/level5/gewonnen.txt 2>/dev/null

View File

@@ -2,8 +2,6 @@
python3 /root/watchdog.py & python3 /root/watchdog.py &
/usr/local/bin/hduzgfizgfiz.sh &
# SSH # SSH
sleep 1 sleep 1
exec /usr/sbin/sshd -D exec /usr/sbin/sshd -D