Installing SysReptor on Kali Linux
This article explains how to install SysReptor on Kali Linux, starting from Docker installation to configuring the application with Caddy for HTTPS.
Install Docker on Kali Linux
Add Docker’s Official Repository
- Install required packages for adding the Docker repository:
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common gnupg
- Add Docker’s GPG key:
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
- Add the Docker repository to APT sources:
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list
Note: You should replace $(lsb_release -cs)
with the appropriate version of the undelying Debian, such as bullseye
or bookworm
. You can check it by running cat /proc/version
. As of December 2024, though my Kali uses trixie, the only supported version is bookworm
.
Install Docker
- Update the package database:
sudo apt update
- Install Docker:
sudo apt install -y docker-ce docker-ce-cli containerd.io
- Start and enable Docker:
sudo systemctl start docker sudo systemctl enable docker
- Verify Docker installation:
docker --version
Grant User Permissions for Docker
To allow your user to run Docker commands without sudo
:
sudo usermod -aG docker $USER
Note: Log out and log back in for the group changes to take effect. After re-login, you can check if docker runs without sudo by running docker ps
.
Install Additional Requirements
Run the following command to install required dependencies:
sudo apt install -y sed curl openssl uuid-runtime coreutils
Install SysReptor
Download and execute the installation script:
bash <(curl -s https://docs.sysreptor.com/install.sh)
This script will:
- Create a
sysreptor
directory with all necessary files. - Set up environment configurations.
- Create Docker volumes and secrets.
- Pull the required Docker images.
- Launch SysReptor containers.
The script will ask if you wanna enable encryption. For the best practice, you should choose yes
but be sure to handle the app.env file carefully.
You can also set up a webserver (Caddy) on Docker here, then it will ask if it should take care of your webserver HTTPS certificate using Let’s Encrypt, but you can do this manually later.
You should store the password and encryption key in a safe place. I used a password manager.
Access the Application
Once the installation completes, access the application at:
http://127.0.0.1:8000
If you set up Caddy, you can access it without specifying a port.
Import HTB Designs
If you use Hack the Box, you can import the HTB designs into SysReptor.
cd sysreptor/deploy && url="https://docs.sysreptor.com/assets/htb-designs.tar.gz" && curl -s "$url" | docker compose exec --no-TTY app python3 manage.py importdemodata --type=design
You can see the imported designs on the Designs section on SysReptor. However, for CPTS, I think it’s better to run it on your host machine not on Kali as you may use multiple VMs throughout the exam. Thre’s also the online version for this purpose.