hckctl
The Cloud Native Breach and Attack Simulation Tool
Quick start •
Setup •
Development
Quick start
Box
Create an alpine
box to see how it works
# spawns a temporary docker box locally
hckctl box alpine
# deploys an ephemeral box to your kubernetes cluster
hckctl box alpine --provider kube
# TODO add env credentials: alpine|changeme
# (mac|linux) tty
[open|xdg-open] http://localhost:7681
Spin-up a parrot
box and access all port-forwarded ports locally to start hacking
# credentials: parrot|changeme
hckctl box parrot
# vnc
vncviewer localhost:5900
# (mac|linux) novnc
[open|xdg-open] http://localhost:6080
Attack a vulnerable dvwa
box
hckctl box start dvwa
# (mac|linux) web
[open|xdg-open] http://localhost:8080
There are no differences between an attacker or a vulnerable box, if you can containerize it you can run it
Task
TODO
# https://github.com/RustScan/RustScan/wiki/Installation-Guide#docker-whale
hckctl task rustscan ???
# TODO envs + args
Template
Explore the public templates, and consider pinning a git revision
to ensure reliability in a CI/CD pipeline
hckctl template list
Please, feel free to contribute to the companion repository and add more templates
Setup
TODO
# TODO latest
curl -sSL https://github.com/hckops/hckctl/releases/download/v0.1.0/hckctl_linux_x86_64.tar.gz | \
tar -xzf - -C /usr/local/bin
Edit the config to override the defaults
hckctl config
Development
# run
go run cmd/main.go
# build
just
./build/hckctl