KiddoCTF

CTF designed for Middle School-aged kids

View on GitHub

KiddoCTF - a Docker Linux-based intro to CTFs (Capture The Flag challenges)

Introduction & Audience

This CTF is aimed at students ages 12-15 (Middle School). These challenges are meant as more of a pre-cursor for PicoCTF, EasyCTF, HSCTF, and the like.

Since this CTF is based on Docker, some assistance is required by a mentor or teacher to help the student get the Docker Linux container instance up and running.

To submit answers, have the students write it down on paper or on their computer using an app like notepad or notes.

Some of the challenges have extra practice commands to help the student learn more

Spoil Alert: The flags are all in the Dockerfile so don’t let the student see that first!

Usage

This assumes some level of familiarity with Docker and Git, otherwise, here’s some links to help get you started:

Build this Docker Image yourself

git clone https://github.com/IPvFletch/KiddoCTF.git
cd KiddoCTF
docker build -t kiddoctf .
docker run --rm -ti kiddoctf:latest

Run a Container [default: downloads from Docker Hub]

docker run --rm -ti ipvfletch/kiddoctf:latest

KiddoCTF Instructions [print out and provide to students]

Flags will look like this: FLAGX_12345

These commands will get you back where you started if you get lost in directories:

cd ~ or

cd /home/centos

Check your current dir:

pwd
ls -l

Note: If you see ` marks, it means the command to run is inside those marks. Do not type the ` characters when you run the command.

Challenges

01 linux i

02 linux ii

03 linux iii

04 base64 encoded string

05 linux iv

06 linux v find a user id

07 linux vi

For example, this file is owned by user kfletcher and has group admin

drwxr-xr-x 1 kfletcher admin 4096 Jul 27 16:20 KiddoCTF

The letters on the left also mean something

    d = directory or not
    r = read
    w = write
    x = exec/cd
    - = no permission

Together they look like:

    -wx > no Read
    r-x > no Write
    rw- > no eXecute
    r-- > no Write or eXecute
-rw-r--r-- 1 root root 3812 Jul 27 16:31 flag.dmp
drwxr-xr-x 2 root root 4096 Jul 26 01:40 flag_dir
-rw-r--r-- 1 root root  177 Jul 26 01:12 oddfile

08 networking

09 visit a web service

10 web site

11 run a python script

12 unknown filetype

13 nmap to find a [local] hidden port

14 analyze a tcpdump

End

Optional Survey to get feedback

Author/Maintainer: @IPvFletch