CVE-2023-40044: Progress WS_FTP Server 未授权 RCE 漏洞分析
CVE-2023-40044: Progress WS_FTP Server 未授权 RCE 漏洞分析
CVE-2023-40044 是 2023 年最严重的文件传输平台漏洞之一。Progress WS_FTP Server 的 Ad Hoc Transfer 模块存在 .NET 反序列化漏洞,攻击者无需认证,仅需一个 HTTPS POST 请求即可实现远程代码执行。
这是 Progress Software 继 MOVEit Transfer CVE-2023-34362 之后,第二个被大规模利用的文件传输产品漏洞。从补丁发布到野外大规模利用仅间隔 约 72 小时。
文章以公开权威资料为基础,偏重研究与防守视角,不提供可直接攻击公网目标的一键利用代码。
0x01 漏洞背景与影响范围
1. 漏洞基本信息
| 字段 | 详情 |
|---|---|
| CVE 编号 | CVE-2023-40044 |
| 影响产品 | Progress WS_FTP Server(Ad Hoc Transfer 模块) |
| 漏洞类型 | .NET 反序列化漏洞(CWE-502) |
| CVSS 评分 | 10.0 Critical |
| 披露日期 | 2023-09-27 |
| 发现者 | Assetnote(Shubham Shah、Sean Yeoh) |
| CISA KEV | 已加入,截止日期 2023-10-26 |
2. 受影响版本
| 版本分支 | 受影响版本 | 修复版本 |
|---|---|---|
| WS_FTP Server 2020 | < 8.7.4 | 8.7.4 |
| WS_FTP Server 2022 | < 8.8.2 | 8.8.2 |
未安装 Ad Hoc Transfer 模块的实例不受此漏洞影响。
3. 暴露面
Censys 数据显示约 2,900 台 WS_FTP 主机暴露在公网,主要属于大型企业、政府机构和教育机构。
4. 在野利用时间线
| 时间 | 事件 |
|---|---|
| 2023-09-27 | Progress 发布补丁 |
| 2023-09-29 | 公开 PoC 出现 |
| 2023-09-30 | Assetnote 发布完整技术分析,Nuclei 模板发布 |
| 2023-10-01 | Rapid7 确认多个客户环境被利用,大规模自动化攻击开始 |
| 2023-10-03 | Suricata 检测规则发布(sid: 2048383) |
0x02 漏洞原理
1. 根因分析
WS_FTP Server 的 Ad Hoc Transfer(AHT)模块通过 IIS HTTP Module MyFileUpload.UploadModule 处理所有文件上传请求。该模块使用 .NET 的 BinaryFormatter 进行反序列化操作,且 未对输入数据进行任何有效性验证。
微软官方文档已明确警告:BinaryFormatter 是不安全的,不应处理不受信任的输入。
2. 攻击链路
3. 关键触发条件
- multipart 字段中 不包含
filename,仅包含name - 字段值以
::AHT_DEFAULT_UPLOAD_PARAMETER::开头 - 后续数据为 Base64 编码的恶意序列化对象
4. 利用方式
攻击者使用 ysoserial.net 生成恶意序列化 payload(如 TypeConfuseDelegate gadget),替换为 Base64 编码后嵌入请求中,实现预认证远程代码执行。
5. 本质总结
这是一个典型的 不安全的反序列化 漏洞:
- 使用了已知不安全的
BinaryFormatter - 未对输入进行任何验证
- 漏洞位于 HTTP Module 层,URL 可以是 AHT 应用的任意路由
- 单请求即可触发,无需认证
0x03 利用路径与攻击链
1. 单漏洞利用:CVE-2023-40044 → RCE
攻击者直接利用反序列化漏洞,通过 Process.Start() 执行 cmd.exe,实现任意命令执行。
2. 组合利用:CVE-2023-40044 + CVE-2023-42657
攻击者可以先利用 CVE-2023-40044 获取 RCE,再利用 CVE-2023-42657(目录遍历,CVSS 9.9)进行文件操作持久化,形成完整攻击链。
3. 实战中的后续动作
公开事件中,攻击者通常会:
- 部署 webshell 或后门
- 窃取服务器上的敏感文件和配置
- 横向移动到内网其他系统
- 建立持久化机制
0x04 高级利用姿势
1. HTTP Module 层的隐蔽性
由于漏洞位于 IIS HTTP Module 层,而非特定的 ASPX 页面,攻击者可以使用 AHT 应用的任意路由触发漏洞。这增加了 WAF 检测难度,因为无法通过固定 URL 路径来识别攻击。
2. 单请求触发
整个利用过程仅需一个 HTTPS POST 请求,无需多步交互,非常适合自动化批量利用。
3. 反序列化 Gadget 选择
攻击者可以根据目标环境选择不同的 ysoserial.net gadget:
TypeConfuseDelegate:最常用,稳定性高ObjectDataProvider:可执行任意命令DataSet:适用于特定 .NET 版本
4. 持久化与横向
- 利用 CVE-2023-42657 目录遍历进行文件操作
- 在 WS_FTP 配置目录植入后门
- 利用 WS_FTP 的 FTP/SFTP 功能进行横向移动
0x05 日志痕迹与应急排查
1. 网络层指标
HTTP 请求特征:
POST /AHT/AhtApiService.asmx/AuthUserContent-Type: multipart/form-data- multipart body 中包含
name=""(无 filename) - 字段值以
::AHT_DEFAULT_UPLOAD_PARAMETER::开头,后跟大段 Base64 编码数据
Suricata 规则:sid 2048383
2. 主机层指标
- 进程链:WS_FTP 相关进程(
ws_ftp/ IIS worker processw3wp.exe)→ 异常子进程cmd.exe/powershell.exe - Velociraptor 提供专用 artifact 用于威胁狩猎
- Qualys 扫描 QID:27395
3. 检测建议
- 监控 IIS 日志中对
/AHT/路径的异常 POST 请求 - 检查 WS_FTP 进程是否产生了非预期的子进程
- 使用 Suricata/Snort 规则(sid: 2048383)进行网络流量检测
- 使用 Nuclei 模板进行主动漏洞扫描验证
4. 已知 IoC
- Rapid7 确认 2023-10-01 01:38–01:41 UTC 期间,多个客户环境被利用,进程链一致
- Huntress 确认至少一台主机已被植入持久化机制
- 有勒索软件组织通过 WS_FTP Web 版本入侵
0x06 修复建议
1. 首选方案:升级补丁
- 升级至 WS_FTP Server 8.7.4 或 8.8.2(及以上版本)
- 必须使用完整安装程序升级,仅热修复不够
2. 临时缓解方案
- 移除或禁用 Ad Hoc Transfer 模块
- 禁用后 CVE-2023-40044 的攻击面将被完全消除
3. 事后响应
- 排查 IIS 日志中是否存在上述 IOC 特征请求
- 检查 WS_FTP 服务器是否存在异常子进程或持久化痕迹
- 使用 Velociraptor / Qualys QID 27395 进行全网扫描
- 若确认被入侵,应进行完整的事件响应流程
0x07 总结
CVE-2023-40044 的核心危险在于:
- CVSS 满分 10.0,预认证 + 单请求 RCE
- 根因是 .NET
BinaryFormatter的不安全反序列化——这是一个已知多年但被广泛忽视的反模式 - 从补丁发布到野外大规模利用仅间隔 约 72 小时
- 这是 Progress Software 继 MOVEit 之后第二个被大规模利用的文件传输产品漏洞
- 攻击者已展示组合利用能力,形成完整攻击链
- 暴露资产约 2,900 台,以大型企业、政府和教育机构为主
这个漏洞再次证明:文件传输平台是攻击者持续盯防的高价值目标,且 .NET 反序列化漏洞在企业应用中仍然普遍存在。