An open API service indexing awesome lists of open source software.

https://github.com/nategraf/naumachia-challenges

Open-source challenges for Naumachia
https://github.com/nategraf/naumachia-challenges

ctf ctf-challenges docker docker-compose network security

Last synced: 2 months ago
JSON representation

Open-source challenges for Naumachia

Awesome Lists containing this project

README

        

====================
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:
* `Stop and Listen `_
* `Stuck in the Middle `_
* `Straw House `_
* `Stick House `_
* `Brick House `_
* `Segal's Law `_
* `A Rose by Any Other IP `_
* `Secret Recipe `_
* `Open Letter `_
* `Table Scraps `_
* `Calculator `_
* `Clock `_
* `Homework Help `_
* `AltF4 for Ops `_
* `J. Schmidt `_

**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.