Note
If you have questions about our code or if you are just interested in what the league does reach out
In addition to this code there also is a blog post covering the infrastructure and competition
- Andrew Aiken
- Kubernetes
- InfluxDB
- Teleport
- Nginx
- AWS
- Andrew Iadevaia
- Firewalls
- pfSense
- Palo Alto
- Windows
- Firewalls
- Gerry Normandin
- ipSec VPN
- Justin Marwad
- Graylog
- Jake White
- Discord
- Evan Soroken
- Competition support
- Jason Gendron
- Competition support
This directory contains a majority of the code base for shaping the individual hosts and services within the environment.
Contains the inventory files necessary for ansible to be able to target multiple teams with a inventory group. Utilizing ansible's inventory load order and and a python script we can abstract the creation of the inventory hostvars from individual host -> host groups -> all hosts. To supplement this, an ansible.cfg file is included to specify the inventory file to use.
This directory contains all the packer build configurations for the competition. Each host is either broken down into a separate directory or is grouped into a single directory with multiple hosts based on category. The directories contain the necessary packer build configurations, typically within a folder named packer, and any necessary provisioning scripts located at the same level as the packer folder.
This directory contains all configuration and setup tasks for anything that could not be completed in the Packer stage. The majority of the codebase is Ansible with some special scripts for edge cases ansible could not handle. Similar to the Pre directory, the Post directory is broken down into individual host directories or grouped into a single directory with multiple hosts based on category.
- black-team - Tasks to provision a black-team user.
- blue-team - Tasks to provision blue-team users for their respective host.
- wireguard - Tasks to setup wireguard EC2 instance, wg-easy docker containers, and black, blue, and red team certs.
This directory contains the necessary resources to provision the scorestack engine for the competition. The scorestack engine is provisioned and controlled solely through ansible.
This directory contains the necessary resources to provision the infrastructure for the competition on AWS. Most of the repetition in the codebase is abstracted into modules to make the codebase more maintainable and easier to use.
