web
Runs Cacti 1.2.22 from the vulhub/cacti:1.2.22 image, exposed on host port 8080. Uses a custom entrypoint script to initialize the database and start Apache.
docker-compose.yml:3-15entrypoint.sh:1-20File viewing is interactive and short-lived. Downloads are password-protected ZIP archives using password eip.
A Docker Compose environment defining a Cacti 1.2.22 web application with a MySQL 5.7 database, intended as a target for CVE-2023-39539 exploitation.
docker-compose.yml:1-21README.md:1-2The README explicitly states 'PoC for CVE-2023-39539 in Cacti 1.2.22', and the Docker Compose file sets up a Cacti 1.2.22 service, matching the described target. The included Python script (poc.py) is a proof-of-concept exploit for this CVE.
README.md:1-2docker-compose.yml:4poc.py:1-89Runs Cacti 1.2.22 from the vulhub/cacti:1.2.22 image, exposed on host port 8080. Uses a custom entrypoint script to initialize the database and start Apache.
docker-compose.yml:3-15entrypoint.sh:1-20MySQL 5.7 database service with root password 'root' and a database named 'cacti', used by the Cacti application.
docker-compose.yml:16-21A bash script mounted into the web container. It installs python3, waits for the database, imports cacti.sql if needed, sets admin password change flag, sets timezone, and then executes the provided command (apache2-foreground).
entrypoint.sh:1-20A Python script that authenticates to the Cacti web interface, exploits an SQL injection in graphs.php to update the path_php_binary setting with a reverse shell command, triggers the reverse shell via host.php, and then attempts to restore the original setting.
poc.py:1-89Supported by supplied evidence
The README and the exploit script both target CVE-2023-39539. The script exploits an authenticated SQL injection in graphs.php 'site_id' parameter of Cacti 1.2.22, which matches the CVE description.
README.md:1-2poc.py:1-89docker-compose.yml:1poc.py:67-68poc.py:69-70docker-compose.yml:1-21poc.py:66-70poc.py:30-65The exploit script targets the lab's own Cacti container and opens a reverse shell to an operator-specified listener. This is expected behavior for a vulnerability lab. No evidence of host compromise, persistence, data destruction, or actions against unrelated systems is present.
poc.py:30-65This review is limited to the supplied lab evidence packet. It does not assert that the environment runs, reproduces a vulnerability, or is safe to execute. Contract: eip-docker-lab-analysis-v1.