Install and Self-host SysReptor on Kali

Jun Takemura · November 24, 2024

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

  1. Install required packages for adding the Docker repository:
    sudo apt install -y apt-transport-https ca-certificates curl software-properties-common gnupg
    
  2. 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
    
  3. 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

  1. Update the package database:
    sudo apt update
    
  2. Install Docker:
    sudo apt install -y docker-ce docker-ce-cli containerd.io
    
  3. Start and enable Docker:
    sudo systemctl start docker
    sudo systemctl enable docker
    
  4. 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.


Twitter, Facebook