3.-Joomla-discovery-and-enumeration

. Basic Joomla Identification

curl -s http://dev.inlanefreight.local/ | grep Joomla  # Check for Joomla in HTML source
curl -s http://dev.inlanefreight.local/robots.txt             # Check robots.txt for disallowed directories
curl -s http://dev.inlanefreight.local/README.txt              # Check for version information
curl -s http://dev.inlanefreight.local/administrator/manifests/files/joomla.xml # Detailed version info
curl -s http://dev.inlanefreight.local/plugins/system/cache/cache.xml # Approximate version info
curl -I http://dev.inlanefreight.local/favicon.ico # Check for Joomla default favicon.

2. Joomla Version Enumeration

curl -s https://developer.joomla.org/stats/cms_version | python3 -m json.tool # Joomla usage stats API
curl -I http://dev.inlanefreight.local/ | grep "X-Content-Encoded-By" # Joomla HTTP headers for version info
curl -s http://dev.inlanefreight.local/CHANGELOG.php # Check for changelog

3. Automated Scanning

Droopescan

sudo pip3 install droopescan
droopescan -h
droopescan scan joomla --url http://dev.inlanefreight.local/

JoomlaScan (Python 2.7)

4. Joomla Login Brute-Force

5. Extension Enumeration (Manual)

Check for JavaScript or CSS files:

6. Configuration File & Backup File Checks

7. Directory & File Enumeration

8. Joomla REST API Enumeration (If Enabled)

9. Joomla CLI (If Accessible)

10. Exploiting Known Joomla Vulnerabilities

SQL Injection (CVE-2017-8917)

Unauthenticated Admin Takeover (CVE-2023-23752)

11. Joomla User Enumeration

12. Joomla Debug Mode & Log File Checks

13. Extracting Sensitive Data from Logs

14. Checking for Default Credentials

15. Important Considerations

.

  • Version Fingerprinting:

    • Accurate version identification is crucial for finding relevant exploits.

    • Combine multiple methods (README, joomla.xml, cache.xml) for accuracy.

  • Extension Enumeration:

    • Extensions are a common source of vulnerabilities.

    • Manually examine directories and file paths for clues.

    • Identify extension versions when possible.

  • Configuration File Exposure:

    • The configuration.php file contains sensitive database credentials.

    • Check for its presence and assess the risk of exposure.

  • Robots.txt:

    • Carefully analyze robots.txt for disallowed directories that might reveal sensitive information.

  • Joomla Rest API:

    • If enabled, the Joomla Rest API can expose sensitive data and functionalities.

    • Test for common vulnerabilities and misconfigurations.

  • Joomla CLI:

    • If you have shell access, the Joomla CLI can be used to gather information and manage the Joomla installation.

  • Vulnerability Databases:

    • Use resources like the Joomla Vulnerability Center or CVE databases to find known exploits.

    • Search for vulnerabilities related to the Joomla version and installed extensions.

Last updated