Installation
Installation
Section titled “Installation”Requirements
Section titled “Requirements”- Python 3.10+
openssl(available on most Linux distros)- Optional: JDK 11+ for Java beacon compilation
- Optional: Go 1.21+ for Go beacon compilation
Install
Section titled “Install”git clone https://github.com/Juguitos/XoloC2.gitcd XoloC2bash install.shThe installer will:
- Prompt for the HTTPS port (default
8443) - Create a Python virtual environment and install dependencies
- Generate a self-signed TLS certificate
- Bootstrap the database with a random
adminpassword - Write a
start.shlaunch script
At the end it prints:
URL: https://0.0.0.0:8443 Username: admin Password: <random — shown once, must be changed on first login>Non-interactive install
Section titled “Non-interactive install”bash install.sh --port 443bash install.sh --port 8443 --host 127.0.0.1./start.shRun as a systemd service
Section titled “Run as a systemd service”For production deployments, run XoloC2 as a persistent service:
cat > /etc/systemd/system/xoloc2.service << 'EOF'[Unit]Description=XoloC2 C2 ServerAfter=network.target
[Service]Type=simpleUser=rootWorkingDirectory=/opt/XoloC2Environment=XOLO_TRUST_PROXY=0ExecStart=/opt/XoloC2/.venv/bin/python3 -m uvicorn server.main:app \ --host 0.0.0.0 \ --port 8443 \ --ssl-keyfile server/certs/key.pem \ --ssl-certfile server/certs/cert.pem \ --log-level warningRestart=on-failureRestartSec=5
[Install]WantedBy=multi-user.targetEOF
systemctl daemon-reloadsystemctl enable xoloc2systemctl start xoloc2Check logs:
journalctl -u xoloc2 -f