Helper scripts for hosting a Linux kernel exploitation CTF challenge
Switch branches/tags
Nothing to show
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.

Linux Kernel CTF

A set of scripts to help with hosting a Linux kernel exploitation CTF challenge. Deploys a challenge VM for each team.

Maintains a list of deployed VMs in droplets.json. Designed around the use of Ubuntu droplets in DigitalOcean, though it should be easy to switch out either.




  • Configure challenge details in (challenge name must match kernel module source directory)
  • Put DigitalOcean API key in the file API_KEY
  • Configure droplet details in

Automatically deploy DigitalOcean droplets and install the challenge multiple <number>
    Deploy and install the challenge on <number> droplets (with names team1 .. teamX) single <droplet name>
    Deploy a single droplet with name <droplet name> and install the challenge ip <IP address>
    Install the challenge on an already deployed droplet server
    Deploy a management server so teams can power cycle their droplets
    This should only be run AFTER all droplets are deployed, as it copies over the current droplets.json

Simple HTTP server on port 80 that teams can query to power cycle their VM


Print out droplets.json in a human-readable form