Coder Social home page Coder Social logo

icodein / rtb-ctf-framework Goto Github PK

View Code? Open in Web Editor NEW

This project forked from abs0lut3pwn4g3/rtb-ctf-framework

0.0 2.0 0.0 10.78 MB

A fast, efficient and lightweight (~100 KB) Capture The Flag framework inspired by the HackTheBox platform. Built with Flask.

Home Page: https://rtblivedemo.herokuapp.com/

License: GNU Affero General Public License v3.0

Python 62.65% CSS 3.51% HTML 30.80% Dockerfile 0.59% Shell 0.93% JavaScript 1.52%

rtb-ctf-framework's Introduction

RootTheBox CTF Framework

Rawsec's CyberSecurity Inventory

Build Status Language grade: Python Code style: black

A fast, efficient and lightweight (~100 KB) Capture The Flag framework (in Flask) inspired by the HackTheBox platform.

The 100 second elevator-pitch is that: A Capture The Flag framework; one that is fast yet feature packed, efficient thus scalable, lightweight (insert some more pro developer adjectives) and customizable to your organization's brand while not emptying your bank A/C.

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 as running time, organization details, CTF name, etc.
  • 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 a customized CTF with Heroku for free in under a minute

  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.

Inspiration

The main purpose of this project is to serve as a scoring engine and CTF manager. One that is packed with features, can handle enterprise/global level traffic on a scalable yet free heroku's dyno.

CTFd is one of the most popular CTF framework and we have used it for multiple engagements and will surely use it again. But at the same time, CTFd is heavy (~22.2 mb) (it gives poor performance even on a $49/mo heroku dyno) and not everyone has $$$ to spend on cloud, especially students (like us). So, that's where RTB-CTF-Framework (~100 KB) comes in.

Contributing

GitHub contributors

Join us on slack

Please refer to CONTRIBUTING.md

License

This project is available under a dual license: a commercial one suitable for closed source projects and a A-GPL license that can be used in open source software.

Depending on your needs, you must choose one of them and follow its policies. A detail of the policies and agreements for each license type are available in the LICENSE.COMMERCIAL and LICENSE.AGPL files.

rtb-ctf-framework's People

Contributors

eshaan7 avatar mishrasunny174 avatar mostwanted002 avatar chttrjeankr avatar svensevenslow avatar aman-codes avatar sapna2001 avatar illseption avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.