Skip to content
No description, website, or topics provided.
Shell Python Ruby HTML
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


This infrastructure consists of 4 parts:

  1. Host System / Listener Service
  2. Bastion Host with openVPN/Restart Service
  3. Leaderboard
  4. Vulnerable VMs

Each part is configured on its own. For more detail on either part, resort to the README in

  1. bastionHost
  2. leaderboard
  3. restartService

For normal operations, you will need to read the What You Need section.


The network in the enviornment is configured as such

External Network
  .                     +------------------+
  |            macvtap  | CTFBastionHost   |
  |                  +--| IP: 192.168.122.x|
+-----------------+  |  | IP: 192.168.124.x|--+
| Host: VMHost    |--+  +------------------+  |
|                 |                           |
+-----------------+     +------------------+  |
                        | VM 2             |  |
                        | IP: 192.168.124.x|  |--+  virbr1337
                        +------------------+  |
                        +------------------+  |
                        | VM 3             |  |
                        | IP: 192.168.124.x|  |
                        +------------------+  |
                                     etc    --+

CTFBastionHost contains OpenVPN server running at

virbr1337 is assigned the subnet

Requirements to Stand Up Infrastructure

You will need (for Ubuntu 16.04) a server that has has and supports libvirt, vagrant, and vagrant-libvirt

  1. libvirt with virtinstall

  2. Vagrant

  3. Vagrant Libvirt


  1. Define a private network for virsh to consume. Below is an example xml you can use for this and there is also one in ctfnetwork.xml

      <bridge name="virbr1337" />
      <ip address="" netmask="">
          <range start="" end="" />
  2. Define the network with virsh

    virsh net-define --file examplenetwork.xml
    virsh net-start examplenetwork
    virsh net-autostart examplenetwork
  3. Stand up the bastion host in bastionHost. Consult the README there for more directions.

  4. Stand up the leaderboard in leaderboard. Consult the README there for more directions.

  5. Configure the listener service in restartService/host by running

  6. Deploy vulnerable machines to the network using CTF-Infrastructure/vmScripts. Consult the README there for more directions

You can’t perform that action at this time.