A scheduler that launches exploits on all teams.
Exploit Runner loads exploits from /app/exploits directory and runs their. Results push into rabbit mq for flag_sender proccessing.
Supports four exploit types:
Binary exploit should compiled with libs for your arch and os. Example for amd64 on Golang: CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o exploit ./main.go.
Exploit should take hostname or ip address of team as the first argument.
Examples of starting exploits:
./exploit.py <hostname>./exploit.sh <hostname>./exploit.elf <hostname>
EXPLOIT_RUNNER_FLAG_FORMAT- flag format. Default: [A-Z0-9]{31}=EXPLOIT_RUNNER_PERIOD- all exploits are launched during this period. Default: 10sEXPLOIT_RUNNER_MAX_WORKING_TIME- timeout of exploit runner. Default: 15sEXPLOIT_RUNNER_MAX_CONCURRENT_EXPLOITS- max concurrect exploits (including per teams). Default: 50EXPLOIT_RUNNER_VENV_MAX_INSTALL_TIME- timeout of installing venv in python exploits