Challenge Development
Technical Details
This blog provides insight into the development of challenges in the Hacking Lab Cyber Range. The video and slides to the video are more for understanding. Concrete details on how to create resources for challenges based on Docker, VM's or files is explained in the following PDF.
Technical Overview
YouTube Video
Docker Development
HL uses two different docker concepts of running vulnerable
services. We call them idocker
and rdocker
.
idocker (web challenge)
The idocker is suitable whenever the challenge provides an http or https endpoint. All web based Docker containers are provisioned via the load balancer traefik. For this, a traefik label must be configured in docker-compose.yml so that the load balancer can correctly route to its own Docker after startup.
rdocker (tcp/udp socket challenge)
The rdocker is suitable whenever the challenge provides any tcp/udp entpoint. Users of HL are directly communicating to the rdocker service. It is not required to define port-mappings in the docker-compose.yml
. All services listening to the rdocker service will be exposed. No traefik label must be configured! Traefik is not in use with rdocker.
HL Docker Templates
You may use the Docker template project of Hacking-Lab to create a HL compatible docker image. The HL RES editor is expecting a dockerfiles.tar.gz
. The link below will explain the docker templates