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 directives

User 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:

  1. Joomla Attacks & Exploitation - Weaponizing discovered vulnerabilities

  2. Component-Specific Attacksarrow-up-right - Extension exploitation techniques

  3. Privilege Escalationarrow-up-right - 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