A webapp for managing CTFs by teams playing CTFs. If you're looking for a platform for hosting CTFs use CTFd.
For most people, this will suffice:
$ git clone https://github.com/hugsy/ctfpad
$ cd ctfpad
$ cp .env.example .env
### CHANGE THE CREDENTIALS IN .env ###
$ nano .env
### BUILD EXCALIDRAW USING .env VARIABLES ###
$ make build
$ docker compose up -d --build
If you want to use SSL locally, follow the instructions to generate local SSL certificates and run:
$ cp .env.nginx-proxy.example .env
$ docker compose -f docker-compose-proxy.yml -f docker-compose.yml up -d --build
A non-exhaustive list of features:
- Full Django + Python 3 code
- Clean (Bootstrap) interface
- Key-in-hands setup via
docker-compose
- Fully built on top of HedgeDoc: smart markdown note mechanism, with tons of features
- Possibility to create and play private CTFs
- Internal statistic system to track members' involment + basic ranking system
- Jitsi integration: instantly jump on video chat with your team mate
- CTFTime integration: import CTF (+ data) from CTFTime in 2 clicks
- Dark mode (duh!)
- Basic search engine
- Self-hosted Excalidraw integration: draw & share ideas with your team mates
- Discord notifications
- ...and more to come...
Note: the development of CTFPad is very active, the screenshots below might not reflect the exact state of the tool.
I was fed up of not finding a tool to my liking to manage CTFs for teams playing so I wrote one. You should probably not use it 😋 I wrote it quickly because I really couldn't find something that fitted my needs. Some other projects of the sort of collaboration during CTFs:
- CTFPad: nice project but NodeJS, so yeah. Also
etherpad-lite
doesn't support MarkDown easily. I like the name, so I took it shamelessly - rizzoma: a horrible outdated collaborative platform, poorly suited for CTFs.
I discovered HedgeDoc (aka. old CodiMD), an awesome platform, 100% Markdown, easily integrable. This project is just an eye-candy around using HedgeDoc as a central platform when doing a challenge collaboratively.
It's a toy project, so there's a lot of TODOs, features will be added (slowly).
Flag images are downloaded from https://flagpedia.net/