Repository for the MITRE Capture the Flag scoreboard.
Switch branches/tags
Nothing to show
Clone or download
Permalink
Failed to load latest commit information.
app Standardize usage of email_field across all files instead of text_fie… Jul 12, 2018
bin Added Delayed::Job for sending emails Async (#130) Jan 2, 2018
config Add link to download transcripts as well May 22, 2018
db Add resume and transcript upload for users, and the ability for admin… Mar 23, 2018
lib Remove commented out code from cert module. Apr 24, 2018
log app from last year Jul 1, 2014
public app from last year Jul 1, 2014
script Run bundle update to latest gem versions Mar 19, 2018
templates Fixed error with mkdir... Jun 29, 2017
test Added check to make sure team actually exists before attempting to sh… Apr 24, 2018
.codeclimate.yml Add default codeclimate config back Jun 26, 2017
.csslintrc Add default codeclimate config back Jun 26, 2017
.eslintignore Add default codeclimate config back Jun 26, 2017
.eslintrc.yml Add default codeclimate config back Jun 26, 2017
.gitignore Added VPN Certificate download through S3 to the scoreboard Sep 8, 2017
.rubocop.yml Upgrade to rails 5.1.4 and ruby 2.5.0 (#135) Jan 3, 2018
.ruby-version Bump ruby version to 2.5.1 Aug 8, 2018
.travis.yml Bump gem version on travis Feb 16, 2017
Gemfile Bump ruby version to 2.5.1 Aug 8, 2018
Gemfile.lock Merge branch 'master' of github.com:mitre-cyber-academy/ctf-scoreboard Oct 22, 2018
LICENSE Update LICENSE Jan 30, 2015
Procfile Update Procfile Jun 29, 2017
README.md add PG user creation Aug 24, 2018
Rakefile Run bundle update to latest gem versions Mar 19, 2018
coffeelint.json Add default codeclimate config back Jun 26, 2017
config.ru Bump to ruby latest 2.3 and fix latest rubocop errors. Apr 13, 2017
logfile Adding controllers and models for scoreboard features May 30, 2017

README.md

MITRE CTF Scoreboard

Build Status Coverage Status Code Climate

MITRE CTF Scoreboard is a fully featured CTF platform with scoreboard and registration application built with Ruby on Rails. It is used for MITRE Capture the Flag competition website.

Deployment

  • Install ruby.
  • In your terminal run gem install bundler
  • Install postgres to your system (and create a role with your system username sudo -u postgres -i then createuser --interactive).
  • Setup Recaptcha. This can be done by getting a site key from here and then setting the RECAPTCHA_SITE_KEY and RECAPTCHA_SECRET_KEY environment variables for the application. The steps for this will vary based on your hosting platform.
  • Run bundle install
  • Run bundle exec rake db:create
  • Run bundle exec rake db:schema:load
  • Run bundle exec rake db:seed
  • Run bundle exec rails s
  • Open the webpage shown in your terminal from the last command in your browser.
  • Login to the registration app http://localhost:3000 as email: root@root.com, password: ChangeMe123 or email: ctf@mitre.org, password: Test123456 and change the password.
  • Access the administration panel at http://localhost:3000 to configure the application.

Note: for specific deployment steps check the wiki.

Automated Emails

Automated emails can be setup by adding min hour * * * /bin/bash -l -c 'cd /path/to/ctf-scoreboard && RAILS_ENV=production bundle exec rake email:automated_email --silent' where min, hour, and path/to/ctf-scoreboard are replaced with the values you prefer. If the project is being hosted on Heroku a daily task can be created using the Heroku Scheduler to run rake email:automated_email

Screenshots

Gameboard

gameboard

Administration: dashboard

admin dashboard

Administration: add challenge

add challenge

More screenshots available on the wiki.

License

This application is licensed under Apache License 2.0.