
Modernes Joomla Auth-Angriffs-Toolkit J3 / J4 / J5 - CVE-2023-23752 · CVE-2023-23755 · CVE-2025-25227

Modernes Joomla-Angriffs-Toolkit
J3 / J4 / J5 - CVE-2023-23752 · CVE-2023-23755 · CVE-2025-25227
Joomla-Anmeldedaten-Angriffs-Toolkit für die CMS-Versionen 3, 4 und 5. Sechs Unterbefehle decken die gesamte Angriffskette Ende-zu-Ende ab:
detect - Versions-Fingerabdruck (Manifest-XML → Generator-Meta → Admin-Markup)enum - CVE-2023-23752, unauthentifizierte API-Ernte: Benutzernamen, DB-Host/Benutzer/Passwort, SMTP-Anmeldedaten, Application Secretbrute - paralleles Admin-Login-Brute-Force mit Sitzungsisolierung pro Worker und Klassifizierung in vier Ergebnisse (Erfolg / MFA-erforderlich / ungültig / gesperrt)mfa-brute - CVE-2023-23755, erschöpfender 6-stelliger TOTP-Angriff auf den eingeschränkten MFA-Bildschirmmfa-bypass - CVE-2025-25227, MFA-Bypass via view=methods (und vier weiteren Kandidaten-Ansichten/-Aufgaben) auf der halb authentifizierten Sitzungchain - vollständiger Autopilot: detect → enum → brute → automatischer MFA-Bypass, wenn die Brute-Force auf einen eingeschränkten Bildschirm trifftEinzelne statische Binärdatei, keine Laufzeitabhängigkeiten. Native Goroutine-Parallelität mit Cookie-Jars pro Worker. JSONL-Ausgabe für SIEM-Import. HTTP/HTTPS/SOCKS5-Proxy-Unterstützung. Ende-zu-Ende gegen Joomla 3.10, 4.2.7 und 5.4.6 Docker-Labs verifiziert.
# Option A - Go install (erfordert Go 1.22+)
go install github.com/rvzsec/joombrute/cmd/joombrute@latest
# Option B - Vorkompilierte Binärdatei aus Releases
curl -L -o joombrute https://github.com/rvzsec/joombrute/releases/latest/download/joombrute-linux-amd64
chmod +x joombrute
# Option C - Aus Quellen bauen
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-Ausgabe für Piping / SIEM-Import
joombrute --json brute -u <target> --user admin -w rockyou.txt > hits.jsonl
CVE-2025-25227 nutzt MultiFactorAuthenticationHandler::needsMultiFactorAuthenticationRedirection() aus, das isMultiFactorAuthenticationPage() ohne das Flag $onlyCaptive aufruft – die Bypass-Ausnahmeliste enthält stillschweigend MFA-Verwaltungsansichten (view=methods, view=method, view=callback, task=method.add …), die eine halb authentifizierte Sitzung aufrufen kann, ohne die eingeschränkte Herausforderung zu lösen.
detect - Fingerabdruck via joomla.xml-Manifest → <meta name="generator"> → Admin-Markupenum - CVE-2023-23752, unauthentifizierte API-Ernte (Benutzer, DB-Host/Benutzer/Passwort, SMTP, App-Secret)brute - Admin-Formular-Brute-Force, Sitzungsisolierung pro Worker, Klassifizierung in vier Ergebnisse (success / mfa-required / invalid / blocked)mfa-brute - CVE-2023-23755, 6-stelliger TOTP-Brute-Force auf eingeschränktem Bildschirmmfa-bypass - CVE-2025-25227, Statusprüfungs-Bypass-Sonde (nicht destruktiv)chain - vollständig automatisch: detect → enum → brute → MFA-Bypass-Sondemake lab # docker compose up + Seed von J3.10 / J4.2.7 / J5.x mit Admin-Benutzer
make smoke # Ende-zu-Ende gegen alle drei (ohne MFA)
make lab-mfa # Seed eines bekannten TOTP-Geheimnisses auf J4-Admin (für mfa-* Tests)
make smoke-mfa # brute -> mfa-required, mfa-bypass VULN, chain Auto-Pivot
make lab-mfa-off # MFA-Eintrag entfernen (zurück zu normalem Admin)
make lab-down # Alles herunterfahren
Der Labor-Installer umgeht Joomlas Web-Installer komplett – lädt das Install-SQL direkt in MySQL, fügt einen Admin-Benutzer (admin / admin1234) ein, schreibt eine minimale configuration.php. seed_mfa.php verwendet Joomlas eigene AES-128-CBC + Secret-Key-Verschlüsselung, damit der eingeschränkte Endpunkt es korrekt entschlüsselt. Nur für das Labor – beide Skripte gehen von den standardmäßigen joombrute-* Containernamen aus lab/docker-compose.yml aus.
make all
# erzeugt statisch gelinkte Dateien: dist/joombrute-{linux,darwin,windows}-{amd64,arm64}
Nur für autorisierte Sicherheitstests. Nur gegen Systeme einsetzen, für die Sie eine ausdrückliche schriftliche Erlaubnis haben. Erzeugt Traffic, den jedes IDS erkennen wird. Die Entwickler lehnen jede Haftung für Missbrauch ab.
Ravindu Wickramasinghe | rvz (@rvzsec) · www.zyenra.com
Ursprüngliches Joomla 3-Brute-Force-Konzept: @ajnik CVE-2023-23752-Kettenforschung: VulnCheck
| CVE | Betroffene Versionen | Modus | Behoben in | Labor-bestätigt |
|---|
| 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 |