Joomla Discovery & Enumeration
π― Objective: Master the identification, enumeration, and intelligence gathering techniques for Joomla installations to build comprehensive attack profiles for the second most popular CMS platform.
Overview
Joomla powers approximately 3% of all websites on the internet, making it the second most prevalent CMS after WordPress. Released in 2005, Joomla is a PHP-based CMS using MySQL backend, enhanced with over 7,000 extensions and 1,000+ templates. Understanding Joomla architecture and enumeration techniques is crucial for comprehensive web application assessments.
Key Statistics:
3.5% CMS market share - Second largest after WordPress
2.7+ million installations worldwide (via public API data)
7,000+ extensions and 1,000+ templates available
Notable users: eBay, Yamaha, Harvard University, UK government
"Jumla" means "all together" in Swahili
Joomla Architecture & Components
Core Directory Structure
/administrator/ # Administrative backend
/bin/ # Command-line scripts
/cache/ # Temporary cache files
/cli/ # Command-line interface
/components/ # Core and third-party components
/images/ # Media files and uploads
/includes/ # Core include files
/installation/ # Installation scripts (should be removed)
/language/ # Language files
/layouts/ # Layout files
/libraries/ # Core libraries
/logs/ # Error and access logs
/modules/ # Site modules
/plugins/ # System plugins
/templates/ # Site templates/themes
/tmp/ # Temporary files
configuration.php # Main configuration file
index.php # Main entry point
README.txt # Version information
robots.txt # Search engine directivesUser Role Hierarchy
Discovery & Fingerprinting
Initial Identification Techniques
Method 1: HTML Meta Generator Tag
Method 2: robots.txt Analysis
Method 3: Favicon Detection
Method 4: Directory Structure Probing
Version Detection Strategies
Core Version Identification
Method 1: README.txt File
Method 2: XML Manifest Files
Method 3: Cache XML Version
Method 4: JavaScript File Analysis
Language and Locale Detection
Manual Enumeration Techniques
Template Discovery & Analysis
Active Template Identification
Template Directory Enumeration
Component & Extension Discovery
Core Component Enumeration
Plugin Directory Analysis
Module Discovery
Configuration File Analysis
Database Configuration
Admin Panel Discovery
Administrative Access Points
Automated Enumeration Tools
DroopeScan - Multi-CMS Scanner
Installation & Setup
Basic Joomla Scanning
Advanced DroopeScan Options
JoomlaScan - Legacy Python Tool
Installation & Dependencies
JoomlaScan Execution
Custom Enumeration Scripts
Component Brute Force Script
Version-Specific Intelligence
Joomla 3.x Series Analysis
Joomla 4.x Series Analysis
Legacy Version Detection
Authentication & Brute Force Attacks
User Enumeration Limitations
Login Error Analysis
Brute Force Attack Strategies
Default Credential Testing
Custom Brute Force Script
Metasploit Brute Force Module
Joomla-Specific Vulnerability Patterns
Common Security Issues
Installation Directory Exposure
Configuration Backup Files
Directory Listing Vulnerabilities
Component-Specific Vulnerabilities
Intelligence Gathering Workflow
Comprehensive Enumeration Checklist
Phase 1: Initial Discovery
Phase 2: Component Analysis
Phase 3: Vulnerability Research
Phase 4: Authentication Assessment
Global Joomla Statistics API
Version Distribution Analysis
Geographic and Technology Statistics
HTB Academy Lab Solutions
Lab 1: Version Fingerprinting
Question: "Fingerprint the Joomla version in use on http://app.inlanefreight.local (Format: x.x.x)"
Solution Methodology:
Lab 2: Admin Password Discovery
Question: "Find the password for the admin user on http://app.inlanefreight.local"
Solution Methodology:
Professional Documentation
Enumeration Findings Template
Defensive Considerations
Security Hardening Recommendations
Monitoring and Detection
Next Steps
After Joomla enumeration, proceed to:
Joomla Attacks & Exploitation - Weaponizing discovered vulnerabilities
Component-Specific Attacks - Extension exploitation techniques
Privilege Escalation - Administrative access and persistence
π‘ Key Takeaway: Joomla enumeration requires systematic analysis of version indicators, component discovery, and security configuration assessment. While less common than WordPress, Joomla installations often contain unique vulnerabilities in custom components and configurations that reward thorough enumeration efforts.
Last updated