Skip to content

A lightweight, easy to deploy CTF framework(in Flask) for HackTheBox style machines.

License

Notifications You must be signed in to change notification settings

svensevenslow/RTB-CTF-Framework

 
 

Repository files navigation

RootTheBox CTF Framework

Rawsec's CyberSecurity Inventory

Build Status Language grade: Python Code style: black

A lightweight, easy to deploy CTF framework (in Flask) for HackTheBox style machines.

The main purpose of this project is to serve as a scoring engine and CTF manager.

Want to see it in action?

A live demo of the app is available at: https://rtblivedemo.herokuapp.com/.

You can login and mess around as the admin user admin:admin (i.e. username:password combinations) or register your own.

Features

  • Machines listing with fields: name, IP, OS, points and difficulty level.
  • Challenges listing with fields: title, description, URL, points.
  • Totally configurable settings such running time, organization details, CTF name.
  • Automatic strong password for administrator
  • Well implemented controls for administrators providing features such as issuing notifications, database CRUD operations, full fledged logging,
  • Simple User Registration/login process, account management, Forgot password functionalities,
  • Flag submission (currently 2 flags: user and root),
  • Real time scoreboard tracking,
  • Efficient caching so it's fast
  • Easily deployable on Heroku.

Build locally

Please see INSTALLATION.md.

Host Your Own CTF in a minute with Heroku

  1. Sign up on Heroku, if you haven't already and click on the below "Deploy to Heroku" button.

    Deploy

  2. Give your application an awesome name and optionally specify mail environment variables.

    Note: A psuedo-random password for the admin user would be created and set in the config variable ADMIN_PASS. On Heroku, you can reveal this password from your application's dashboard settings. Same for the Flask application's SECRET_KEY.

  3. Open your newly deployed application in the browser, you'll be redirected to login as the admin user and do so.

  4. Finally, you'll want to /setup the CTF Settings and,

Yay! Now you have a customized instance of the RTB-CTF-Framework live on Heroku. 🎉

Bonus: You can manage the database CRUD operations from admin views GUI; change machine settings, issue notifications to users, etc.

Contributing

GitHub contributors GitHub issues by-label

👨 Project Owner
👬 Mentors
Slack Channel for GSSoC 2020

For further guidelines, Please refer to CONTRIBUTING.md

Live Demo

Live Demo: https://rtblivedemo.herokuapp.com/ (login with admin:admin)

About

A lightweight, easy to deploy CTF framework(in Flask) for HackTheBox style machines.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 62.0%
  • HTML 32.3%
  • CSS 3.9%
  • Other 1.8%