joomscan
Scanner de vulnérabilités pour le CMS Joomla. Détecte la version de Joomla, énumère les composants/plugins/templates installés, vérifie les CVE connues et identifie les mauvaises configurations courantes. Joomla CMS vulnerability scanner. Detects Joomla version, enumerates installed components/plugins/templates, checks for known CVEs, and identifies common misconfigurations.
↗ https://github.com/OWASP/joomscanOverview
JoomScan (OWASP JoomScan) is the dedicated vulnerability scanner for Joomla CMS. It fingerprints the Joomla version, enumerates installed extensions, checks for hundreds of known CVEs and vulnerabilities, identifies configuration issues, and probes for common misconfigurations.
Basic Usage
Basic scan
joomscan -u http://target.com
Scan with verbose output
joomscan -u http://target.com -v
Enumerate components
joomscan -u http://target.com --enumerate-components
All checks
joomscan -u http://target.com -ec
Scanning Options
Use a proxy
joomscan -u http://target.com --proxy http://127.0.0.1:8080
Set cookie for authenticated scan
joomscan -u http://target.com --cookie "PHPSESSID=abc123"
Random user agent
joomscan -u http://target.com --random-agent
Full scan with all components
joomscan -u http://target.com -ec --random-agent
What JoomScan Detects
Version detection
joomscan -u http://target.com
→ → Joomla Version: 3.9.x → CVE-2019-XXXX: Remote Code Execution
# Configuration exposure
# → /configuration.php — check for world-readable
# → /README.txt — version disclosure
# → /administrator/ — admin panel exposed
Extension enumeration
joomscan -u http://target.com --enumerate-components
→ → com_users (version, vulnerabilities) → com_content → com_banners
Admin Panel and Login
# Admin login is usually at /administrator/
# Check for default credentials:
# admin:admin, admin:password, admin:joomla
After finding login page, brute force:
hydra -l admin -P /usr/share/wordlists/rockyou.txt \
target.com http-post-form \
"/administrator/index.php:username=^USER^&passwd=^PASS^&option=com_login&task=login:Login failed"
Output
Save output to file
joomscan -u http://target.com 2>&1 | tee joomscan-results.txt
Check for high-value findings:
grep -i "CVE\|RCE\|SQL\|LFI\|Upload" joomscan-results.txt
Tips
- Run version detection first — knowing the Joomla version narrows down CVEs significantly
- Check /administrator/manifests/files/joomla.xml for exact version
- Vulnerable extensions (components) are often the attack vector — enumerate them all
- Joomla 3.x has many known CVEs; 4.x is more secure but still has issues
- After compromise, look for Joomla’s configuration.php — contains DB credentials
Help / Man page
joomscan [options]
-u URL Target URL
-ec Enumerate components
--enumerate-components Same as -ec
--proxy PROXY HTTP proxy (host:port)
--cookie COOKIE HTTP cookie string
--random-agent Use random User-Agent
-v Verbose
--version Show tool version
Vue d’ensemble
JoomScan (OWASP JoomScan) est le scanner de vulnérabilités dédié au CMS Joomla. Il identifie la version de Joomla, énumère les extensions installées, vérifie des centaines de CVE et vulnérabilités connues, identifie les problèmes de configuration et sonde les mauvaises configurations courantes.
Utilisation de base
# Scan basique
joomscan -u http://target.com
# Scan avec sortie verbeuse
joomscan -u http://target.com -v
# Énumérer les composants
joomscan -u http://target.com --enumerate-components
# Toutes les vérifications
joomscan -u http://target.com -ec
Options de scan
# Utiliser un proxy
joomscan -u http://target.com --proxy http://127.0.0.1:8080
# Définir un cookie pour un scan authentifié
joomscan -u http://target.com --cookie "PHPSESSID=abc123"
# User-agent aléatoire
joomscan -u http://target.com --random-agent
# Scan complet avec tous les composants
joomscan -u http://target.com -ec --random-agent
Ce que détecte JoomScan
# Détection de version
joomscan -u http://target.com
# → Joomla Version: 3.9.x → CVE-2019-XXXX: Remote Code Execution
# Exposition de la configuration
# → /configuration.php : vérifier si lisible par tous
# → /README.txt : divulgation de version
# → /administrator/ : panneau d'administration exposé
# Énumération des extensions
joomscan -u http://target.com --enumerate-components
# → com_users (version, vulnérabilités) → com_content → com_banners
Panneau admin et connexion
# La connexion admin se trouve généralement sur /administrator/
# Vérifier les identifiants par défaut :
# admin:admin, admin:password, admin:joomla
# Après avoir trouvé la page de login, bruteforce :
hydra -l admin -P /usr/share/wordlists/rockyou.txt \
target.com http-post-form \
"/administrator/index.php:username=^USER^&passwd=^PASS^&option=com_login&task=login:Login failed"
Sortie
# Sauvegarder la sortie dans un fichier
joomscan -u http://target.com 2>&1 | tee joomscan-results.txt
# Vérifier les résultats à forte valeur
grep -i "CVE\|RCE\|SQL\|LFI\|Upload" joomscan-results.txt
Conseils
- Lancer d’abord la détection de version : connaître la version de Joomla réduit considérablement le champ des CVE
- Vérifier /administrator/manifests/files/joomla.xml pour la version exacte
- Les extensions vulnérables (composants) sont souvent le vecteur d’attaque : les énumérer toutes
- Joomla 3.x compte de nombreuses CVE connues ; la 4.x est plus sécurisée mais présente encore des problèmes
- Après compromission, chercher le configuration.php de Joomla : il contient les identifiants de la base de données
Aide / Page de manuel
joomscan [options]
-u URL Target URL
-ec Enumerate components
--enumerate-components Same as -ec
--proxy PROXY HTTP proxy (host:port)
--cookie COOKIE HTTP cookie string
--random-agent Use random User-Agent
-v Verbose
--version Show tool version