Skip to content

carlneuhaus/CTF-Framework

Repository files navigation

Platform to automatically deploy and host a CTF competition.

Many thanks go to PicoCTF for the basis of this project!

  1. git clone https://github.com/carlneuhaus/ctf-framework.git
  2. cd CTF-Framework
  3. vagrant up
  4. Navigate to http://192.168.2.2/
  5. Register an account (this user will be the site administrator)

picoCTF-platform

The picoCTF-platform is the infrastructure which is used to run picoCTF. The platform is designed to be easily adapted to other CTF or programming competitions.

Additional documentation can be found on the wiki. Quick Start

  1. git clone --recursive https://github.com/carlneuhaus/picoCTF-platform.git
  2. cd picoCTF-platform
  3. vagrant up
  4. Navigate to http://192.168.2.2/
  5. Register an account (this user will be the site administrator)

Current Development

The picoCTF-platform is actively being developed towards version 3 and additional documentation on significant platform changes are located on the wiki.

Project Overview

The picoCTF-platform is a superproject composed of three distinct git submodules (this is why you must use --recursive when you clone the project). The submodules are picoCTF-web, picoCTF-shell-manager, and picoCTF-problems. This repository (picoCTF-platform) consists of the necessary scripts and configurations to pull these three components together into a fully functional deployment for demonstration or development. In order to achieve this reproducible environment the project leverages Vagrant.

The picoCTF-web project consists of the competitor facing web site, the api for running a CTF, as well as management functionality for CTF organizers. This is deployed (via the Vagrantfile) as a virtual machine (web) at http://192.168.2.2/. For more information on this component of the picoCTF-platform please consult the documentation in the repository or on the wiki.

The picoCTF-shell-manager project consists of the hacksport library and the shell_manager utility which are used to create, package, and deploy challenges for use in a CTF. The Vagrantfile uses this to deploy a second virtual machine (shell) at 192.168.2.3. This shell-server is where challenge instances will be deployed and is also where competitors are provided an account for use in solving the challenges. For more information on this component of the picoCTF-platform please consult the documentation in the repository or on the wiki.

The picoCTF-problems project consists of CTF challenges that are compatible with picoCTF-platform. These challenges can be easily shared and deployed, or adapted for use in a CTF. When deployed the picoCTF-platform loads some example problems to demonstrate the features of both the web server and the shell-server. For more information on this component of the picoCTF-platform please consult the documentation in the repository or on the wiki.

Contact

We are happy to help but no support is guaranteed.

Authors: Tim Becker, Chris Ganas

Copyright: Carnegie Mellon University

License: MIT

Credits: David Brumley, Tim Becker, Chris Ganas, Peter Chapman, Jonathan Burket

Email: opensource@picoctf.com

Additional Credits

v1 Credits: Collin Petty, Tyler Nighswander, Garrett Barboza

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published