Ir al contenido

Instalación

  • Python 3.10+
  • openssl (disponible en la mayoría de distribuciones Linux)
  • Opcional: JDK 11+ para compilar beacons Java
  • Opcional: Go 1.21+ para compilar beacons Go
Ventana de terminal
git clone https://github.com/Juguitos/XoloC2.git
cd XoloC2
bash install.sh

El instalador:

  1. Solicita el puerto HTTPS (por defecto 8443)
  2. Crea un entorno virtual Python e instala dependencias
  3. Genera un certificado TLS autofirmado
  4. Inicializa la base de datos con una contraseña aleatoria para admin
  5. Escribe el script de inicio start.sh

Al finalizar muestra:

URL: https://0.0.0.0:8443
Username: admin
Password: <aleatoria — mostrada una sola vez, debe cambiarse en el primer login>
Ventana de terminal
bash install.sh --port 443
bash install.sh --port 8443 --host 127.0.0.1
Ventana de terminal
./start.sh

Para despliegues en producción, ejecuta XoloC2 como servicio persistente:

Ventana de terminal
cat > /etc/systemd/system/xoloc2.service << 'EOF'
[Unit]
Description=XoloC2 C2 Server
After=network.target
[Service]
Type=simple
User=root
WorkingDirectory=/opt/XoloC2
Environment=XOLO_TRUST_PROXY=0
ExecStart=/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 warning
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable xoloc2
systemctl start xoloc2

Ver logs:

Ventana de terminal
journalctl -u xoloc2 -f