Getting started
Installation and First Run
Host environment
- OS: Linux or macOS recommended; Windows via WSL2 + Docker Desktop.
- Python 3.9 or higher, Git, Docker Engine or Docker Desktop.
- RAM: 8 GB minimum; 16 GB if LLM agent + proxy + several containers.
- Network: Internet access for
pip installand initial Docker images. - Local ports: 80 (DVWA), 8080/9090 (WebGoat/WebWolf), 21/80/2222/3306 (Metasploitable) --- verify no other service occupies them.
Step-by-step installation
Clone and prepare the venv
git clone https://github.com/SIA-IOTechnology/Kittysploit-framework
cd Kittysploit-framework
python3 -m venv venv
source venv/bin/activate # Windows: venv
pip install -r install/requirements.txt
First launch
python kittyconsole.py
Accept the usage charter. Then in the console:
banner
status
doctor
sync now
lab list
sync nowindexes modules forsearch.lab listdisplays JSON scenarios underlabs/.doctorproduces a health report (Python, dependencies, Docker, assets).
The doctor command in detail
doctor centralizes pre-campaign checks. Typical categories:
| dependencies | Missing critical pip packages. |
| docker | Reachable daemon, user permissions. |
| db / assets | Static files (wordlists, syscalls, YES). |
| tor | Optional; warning if absent. |
| marketplace | Connectivity or marketplace module cache. |
doctor
agent doctor
agent doctor completes the diagnosis for Ollama, agent policies, and LLM
dependencies.
Interpreting the report
- FAIL: blocking --- fix before isolated test environments (often Docker or dependency).
- WARN: degraded functionality (Tor absent, optional asset).
- OK: prerequisite satisfied.
Docker management: environments
The isolated test environment command starts usage scenarios; environments manages
all KittySploit containers (including those launched via use docker_environments/...).
Subcommands
environments
environments list
environments info kittysploit_dvwa
environments stop kittysploit_dvwa
environments restart kittysploit_dvwa
environments stop all
environments help
info <name> | Docker network IP, detailed port mapping, creation date. |
stop <name> | Clean stop of an isolated test environment container. |
stop all | Stop all recognized containers (kittysploit_ prefix,
names containing dvwa/webgoat/metasploitable). |
restart <name> | Quick restart after host network change. |
Docker troubleshooting
Common symptoms
Cannot connect to Dockerinenvironmentsorlab start.lab scorefails on TCP objective (closed port).- Port already in use (80, 8080, 2222).
- Container
exitedimmediately after start.
Linux checklist
# Daemon actif ?
sudo systemctl status docker
sudo usermod -aG docker $USER # puis deconnexion/reconnexion
docker ps
docker pull hello-world && docker run --rm hello-world
In KittySploit:
doctor
lab reset dvwa-basics
lab start dvwa-basics
environments info kittysploit_dvwa
lab score dvwa-basics --skip-start
Port conflict
sudo ss -tlnp | grep ':80 '
sudo ss -tlnp | grep ':8080 '
Stop the conflicting service (local Apache, another DVWA) or modify mapping in the
docker_environments/* module personal isolated test environment only --- document
the alternate port in your workspace.
WSL2 / macOS
- WSL2: Docker Desktop must be ``Running''; integrate WSL in Docker settings.
- macOS: allocate enough RAM to Docker Desktop (Preferences → Resources).
- Remote VM: isolated test environments listen on the machine hosting Docker; use the VM IP, not your laptop, if the console runs remotely.
After persistent failure
environments stop all
docker system prune -f # attention : supprime conteneurs arretes non utilises
lab start dvwa-basics
Orchestration: isolated test environment command
lab list
lab show dvwa-basics
lab walkthrough dvwa-basics
lab start dvwa-basics
lab score dvwa-basics
lab run dvwa-basics
lab reset dvwa-basics
lab state dvwa-basics
isolated test environment run is equivalent to start then score. --skip-start on
run or score assumes the environment is already running.