Hacking-Lab Challenge Generator
This generator uses Yeoman to generate new Hacking-Lab Challenge Docker containers.
Installation NPM package
- Install NodeJS and NPM (Live CD:
sudo apt install nodejs npm
) - Install yo and our generator:
sudo npm install -g generator-hl-challenge yo
Create a CTF docker (not as user root)
Generate a temporary uuid using uuidgen
. If you are going to create a docker for Hacking-Lab, the docker resource editor will return a uuid
you must use. If you do not have access to the HL resource editor, ask for a uuid
from them.
mkdir my-awesome-challenge
yo hl-challenge
cd ./my-awesome-challenge
docker-compose up --build
testing
Delivery to Hacking-Lab
Hacking-Lab is expecting a dockerfiles.tar.gz
. Thus, if you execute the prepare.sh
, this will create the file needed by Hacking-Lab. This is the file you must upload into the HL resource editor. Ignore your local docker-compose.yml
and configure the HL docker-compose.yml
within the HL resource editor.
Video
Issues
Please leave feedback if you run into any problems.
Adding New Image Type
To add support for a new base image, you will have to:
- Add it to the base images in
generator/app/index.js
- Add
generators/app/templates/{image}.md
with the customization instructions - Add
generators/app/templates/{image}/*
with a tiny sample application (optional, don't add root/ to the path) - OPTIONAL ADD `generators/app/templates/docker-compose.yml.{image}
DEV CORNER (deveoper of generator-hl-challenge package)
- cd /opt/generator-hl-challenge
- npm version patch (or minor or major)
- npm login
- npm publish
- sudo npm link