
A comprehensive full-lifecycle penetration testing project on Joomla 4.2.5 exploiting CVE-2023-23752 inside a Dockerized lab environment
This project demonstrates a full-lifecycle penetration test conducted on an open-source CMS (Joomla 4.2.5). The entire test follows standard methodologies (OWASP/PTES) from lab deployment up to exploitation, post-exploitation, and administrative account takeover.
Follow these exact steps to deploy and replicate this vulnerable environment on your local infrastructure.
Turn on your target Ubuntu VM and connect via SSH (or open the terminal directly inside the VM).
Install Docker and the Compose utility based on your Ubuntu version:
sudo apt update && sudo apt install -y docker.io docker-compose-plugin
sudo apt update && sudo apt install -y docker.io docker-compose-v2
docker-compose.yml using the nano editor:
nano docker-compose.yml
docker-compose.yml file available in this repository and paste it inside the terminal.Ctrl + O then Enter, then Ctrl + X.sudo docker compose up -d
sudo docker compose ps
8080:
http://<YOUR_VM_IP>:8080
dbjoomla_userjoomlapasswordjoomla_dbActing as an attacker, network and CMS-specific scanning tools were deployed from Kali Linux:
8080.Joomla 4.2.5).

Based on the version fingerprinting, vulnerability research led to discovering CVE-2023-23752 (Improper Access Control in Joomla Core API).
Using Metasploit Framework (msfconsole), the specialized exploit module was executed against the target:
auxiliary/gather/joomla_vulnerable_config_disclosurejoomla_user / joomlapassword).
In a real-world assessment, misconfigurations often cascade. To test for Credential Reuse, the leaked database password was utilized to attempt an administrative takeover:
/administrator).
To secure the system against CVE-2023-23752:
4.2.8 or higher immediately./api endpoints using Web Application Firewalls (WAF) or server-level configuration blocks.