Skip to content

Home

Bash EscapeRoom Labs

Logo


Decryption Tip

If the content doesn’t appear after entering the password in the selected room, please refresh the page (F5 or Ctrl+R).


Usage

  • There are several ways to run the Bash-EscapeRoom Labs.
  • Choose the method that works best for you.

Using Docker is the easiest way to get started locally with the labs:

# GitHub Container Registry
docker run -it --pull=always -p 3000:3000 ghcr.io/nirgeier/bash-escaperoom

Prerequisites:

  • Docker and Docker Compose installed on your system
  • No additional setup required
  • The easiest way to get started with the labs
  • Learn in your browser without any local installation

🌐 Launch on Killercoda

Benefits:

  • No installation required
  • Pre-configured environment
  • Works on any device with a web browser
  • All tools pre-installed

For those who prefer to run it directly on their machine:

# Clone the repository
git clone https://github.com/nirgeier/Bash-EscapeRoom
# Change to the Labs directory
cd Bash-EscapeRoom/Labs
# Start with the setup lab
cd assets
# Follow the instructions in the README of each lab
cat README.md

Prerequisites:

  • A Unix-like operating system (Linux, macOS, or Windows with WSL)
  • Basic command-line tools
  • Google Cloud Shell provides a free, browser-based environment with all necessary tools pre-installed.
  • Click on the Open in Google Cloud Shell button below:

Open in Cloud Shell

  • The repository will automatically be cloned into a free Cloud instance.
  • Use CTRL + click to open it in a new window.
  • Follow the instructions in the README of each lab.

Benefits:

  • No local installation required
  • Pre-configured environment
  • Works on any device with a web browser
  • All tools pre-installed
  • Free tier available

Intro

  • This tutorial is for teaching bash scripting through puzzles designed as escape rooms.
  • Each room is packaged in its own folder and includes the files, scripts, and assets required to play.
  • Every room folder includes a README that describes the room’s objectives, hints, rules, and how to verify the solution.
  • The Bash Escape Room is a series of bash puzzles (Escape-rooms, rooms similar to the real-life attractions of Escape rooms).
  • The Bash Escape Room puzzles are designed to teach the players Bash and Linux skills & features.
  • The inspiration for this project is the real-life Escape rooms.

Pre-Requirements

  • This tutorial will test your Linux and Bash skills.
  • You should be familiar with the following topics:
  • Basic Linux commands
  • Linux File system navigation
  • Linux Text processing tools (like grep, sed, awk)
  • Linux Shell scripting basics
  • Linux Understanding of environment variables
  • Basic knowledge of Docker (if you choose to run it with Docker)
  • Basic knowledge of Vim

Room Title Key Commands Status
Room-01 The Lost Expedition find, cat, sort, xargs Room-01
Room-02 The Broken Radio grep, grep -c, wc -l Room-02
Room-03 The Time Capsule tac, rev, head, tail, wc Room-03
Room-04 The Spy Cipher sed, sed 's/old/new/g' Room-04
Room-05 The Decoder Ring base64, tr (ROT13), rev Room-05
Room-06 The Duplicate Detective sort, uniq, comm, diff Room-06
Room-07 The Permission Maze chmod, stat, ls -l Room-07
Room-08 The Environment Lab export, env, source, alias Room-08
Room-09 The Ghost Process ps, kill, jobs, bg, fg Room-09
Room-10 The Data Mine awk, awk -F, NR, NF Room-10
Room-11 The Nested Archive base64 -d, gzip, tar, file Room-11
Room-12 The Grand Pipeline cut, tr, pipes Room-12
Room-13 The Mirror Maze ln -s, readlink, readlink -f Room-13
Room-14 The Web Crawler curl, curl -H, curl -s Room-14
Room-15 The JSON Vault jq, jq -r, select() Room-15
Room-16 The Space Station df -h, du -sh, sort -rh Room-16
Room-17 The Clockwork Fortress crontab -l, cron expressions Room-17
Room-18 The Twin Blueprints diff, diff -u, patch Room-18
Room-19 The Integrity Check md5sum, sha256sum, sha256sum -c Room-19
Room-20 The Hex Dungeon xxd, xxd -r, od, hexdump Room-20
Room-21 The Binary Library strings, strings -n Room-21
Room-22 The Calculator Cave bc, expr, $(( )) Room-22
Room-23 The Time Machine date, date -d @TIMESTAMP Room-23
Room-24 The Formatter’s Workshop printf, echo -e Room-24
Room-25 The Signal Crossroads tee, tee -a, paste Room-25
Room-26 The Variable Vault ${var##*/}, ${var%/*}, parameter expansion Room-26
Room-27 The Array Arsenal arr=(), ${arr[@]}, mapfile Room-27
Room-28 The Loop Labyrinth for loops, $(( )) Room-28
Room-29 The Endless Corridor while read, while IFS= read -r Room-29
Room-30 The Fork in the Road if/elif/else, [ ], [[ ]] Room-30
Room-31 The Decision Chamber case ... in, pattern matching Room-31
Room-32 The Function Factory func(){}, local, return Room-32
Room-33 The Argument Decoder getopts, $OPTARG Room-33
Room-34 The Ancient Scroll << 'EOF', here-documents Room-34
Room-35 The Nested Worlds $(), <(cmd), process substitution Room-35
Room-36 The Signal Tower trap, kill -SIGUSR1 Room-36
Room-37 The Interactive Gateway read, read -p, read -s Room-37
Room-38 The Time Bomb timeout, watch, sleep Room-38
Room-39 The Network Hub ss -tlnp, netstat -tlnp Room-39
Room-40 The DNS Oracle dig, host, nslookup Room-40
Room-41 The Netcat Tunnel nc, nc -l Room-41
Room-42 The Open Files Archive lsof, lsof -p, lsof -i Room-42
Room-43 The System Call Observatory strace, ltrace Room-43
Room-44 The Mirror Sync rsync -av, rsync --delete Room-44
Room-45 The Cryptographer’s Den openssl enc -d, openssl dgst Room-45
Room-46 The Vi Vortex vim, NG, /pattern Room-46
Room-47 The Remote Gateway ssh-keygen, ssh -i, scp Room-47
Room-48 The Version Vault git log, git show HASH:file Room-48
Room-49 The Grand Pipeline II awk, sort, uniq -c, sort -rn Room-49
Room-50 The Master Terminal find, base64, grep, bc, sha256sum Room-50
Room-51 The Command Assembler xargs, xargs -I{}, xargs -P, xargs -0, find \| xargs Room-51
Room-52 The Ownership Vault chown, chgrp, umask, id, groups, stat Room-52
Room-53 The Network Probe ping, traceroute, tracepath, wget, wget -O - Room-53
Room-54 The System Monitor top, free, uptime, vmstat, /proc/meminfo, nproc Room-54
Room-55 The System Inspector uname, hostname, whoami, id, who, w, lscpu Room-55
Room-56 The Process Controller pgrep, pkill, nohup, nice, renice, killall Room-56
Room-99 Final Exam All commands Room-99

Good Luck!