Welcome to the PicoPrimer page on adding a “trivial” custom challenge. By trivial, we mean as simple as possible - which is good for demonstrating the moving parts of the picoCTF platform.

This primer is intended to be used as a checklist with hyperlinks to other pages that can guide or step you through solving each bulleted item. We try to assume very little about your current set up or knowledge of picoCTF.

  1. Install the picoCTF platform’s required software:
    1. Install Vagrant (which is for creating Virtual Machines - commonly VM’s - via terminal command): Vagrant by HashiCorp
    2. Install virtualization software (Vagrant needs this): There are multiple options, but VirtualBox will work
  2. Set up the picoCTF platform: This repo’s root README has the best instructions for this
  3. Sanity Check; you should have evidence of the following after completing the previous step:
    • Two (2) Virtual Machines:
      • Web Server: reachable via browsers by the following URL * Shell Server: reachable via ssh at IP address * Credentials for the Site Administrator account (this is the first user one registers on the Web Server via a browser)
  4. SSH to Shell Server as vagrant user: $ ssh vagrant@
  5. ltj:the rest of the lines are WIP, but a good outline: Create a simple challenge: Walkthrough on creating a buffer overflow challenge
  6. Use shell_manager to deploy your new challenge: Overview of testing, packaging, installing, deploying, and enabling challenges
  7. Test as a non-privileged participant!