Skip to content

nategraf/Naumachia-challenges

Repository files navigation

Naumachia Challenges

Welcome to the open-source repository for Naumachia challenges! If you have some challenge ideas and/or code to contribute, I would love to see it!

All of the challenges in this repository can be played live at naumachiactf.com, and you can join the Discord channel to chat!

The challenges in this repository are challenges I have written for past CTFs and open-sourced after. It's my hope that this is helpful to developers who are interested in writing their own challenges or just curious as to how it all works.

Challenges:

Writeups written by players can be found in the writeups folder

Hosting

You can host these challenges for your own competition or class with the following steps:

  1. Clone Naumchia to your machine (git clone https://github.com/nategraf/naumachia.git)
  2. Install the dependencies listed in tHe Naumachia README and the network drivers below.
  3. Clone these challenges into the challenges subdirectory. (git clone https://github.com/nategraf/naumachia-challenges.git naumachia/challenges)
  4. Copy config.yml into your Naumachia directory.
  5. Run configure.py
  6. sudo docker-compose up!
These challenges make use of custom libnetwork (Docker networking) driver including:
  • l2bridge - Networking driver focused on providing (only) layer 2 connectivity
  • static - IPAM driver designed to work with overlapping and static IP assignemnts
  • mini - IPAM driver designed to allocate small subnets for lots of little networks

It is recommended that you install and run these with these challenges and any you write, as they are designed to sidestep some of the hair-pulling long days and nights I spent working around the design choices of libnetwork.