Windows Exchange组件漏洞分析(一):ProxyLogon
字数 1505 2025-08-06 12:20:41

Windows Exchange组件漏洞分析:ProxyLogon (CVE-2021-26855 & CVE-2021-27065)

漏洞概述

ProxyLogon是Microsoft Exchange Server中的一组关键安全漏洞组合,由两个主要漏洞构成:

  1. CVE-2021-26855:服务器端请求伪造(SSRF)漏洞
  2. CVE-2021-27065:远程代码执行(RCE)漏洞

这两个漏洞组合使用可导致攻击者在未授权的情况下完全控制Exchange服务器。

漏洞影响

  • 影响版本:Exchange Server 2013、2016和2019
  • 攻击复杂度:低
  • 所需权限:无需认证
  • 影响程度:远程代码执行,完全控制系统

环境搭建

所需环境

  • Windows Server 2016
  • Exchange Server 2019 (或受影响版本)

搭建步骤

  1. 安装Windows Server 2016
  2. 安装必要的先决条件:
    • .NET Framework 4.8
    • Visual C++ Redistributable
    • Unified Communications Managed API 4.0
  3. 安装Exchange Server
  4. 配置Exchange服务器

漏洞详细分析

CVE-2021-26855 (SSRF漏洞)

漏洞位置:Exchange前端服务中的身份验证机制

原理分析

  • Exchange前端服务在处理请求时未能正确验证请求的URL
  • 攻击者可构造特殊的HTTP请求,通过Exchange服务器向内部网络发送请求
  • 该漏洞允许绕过身份验证,访问后端服务

利用方式

POST /ecp/DDI/DDIService.svc/GetObject HTTP/1.1
Host: [target]
Cookie: X-BEResource=localhost~1942062522;
...
[恶意请求内容]

CVE-2021-27065 (RCE漏洞)

漏洞位置:Exchange控制面板(ECP)中的文件写入功能

原理分析

  • 通过SSRF漏洞获取有效会话后,攻击者可利用ECP的文件写入功能
  • 由于缺乏适当的输入验证,攻击者可写入任意文件
  • 结合其他技术可实现远程代码执行

利用方式

  1. 通过SSRF漏洞获取有效会话
  2. 构造恶意请求写入web shell
  3. 通过web shell执行任意代码

漏洞复现步骤

  1. 信息收集

    • 确认目标Exchange版本
    • 检查目标是否开放443端口
  2. 利用SSRF漏洞(CVE-2021-26855)

    • 发送精心构造的请求获取有效会话
    • 绕过身份验证访问后端服务
  3. 利用RCE漏洞(CVE-2021-27065)

    • 使用获取的会话写入恶意文件
    • 通常写入路径:/owa/auth/xxx.aspx
    • 写入webshell内容
  4. 执行远程代码

    • 访问写入的webshell
    • 通过webshell执行系统命令

防御措施

  1. 官方补丁

    • 立即安装Microsoft发布的安全更新
    • KB5000871 (Exchange Server 2019)
    • KB5000871 (Exchange Server 2016)
    • KB5000886 (Exchange Server 2013)
  2. 临时缓解措施

    • 禁用Exchange的离线地址簿(OAB)虚拟目录
    • 限制对Exchange服务器的外部访问
    • 启用Windows Defender攻击面减少规则
  3. 检测措施

    • 检查异常文件(如aspx文件)的创建
    • 监控Exchange日志中的异常请求
    • 使用Microsoft提供的IOC检测工具

漏洞验证脚本示例

import requests

target = "https://exchange.example.com"
ssrf_payload = {
    "Cookie": "X-BEResource=localhost~1942062522;",
    ...
}

# 检测SSRF漏洞
response = requests.post(f"{target}/ecp/DDI/DDIService.svc/GetObject", headers=ssrf_payload)
if response.status_code == 200:
    print("可能存在CVE-2021-26855漏洞")
    
    # 尝试写入webshell
    webshell_payload = {
        "session": "stolen_session",
        "filepath": "/owa/auth/shell.aspx",
        "content": "<%@ Page [...] %>"
    }
    # 发送RCE利用请求...

总结

ProxyLogon漏洞组合是Exchange Server近年来最严重的漏洞之一,影响范围广,利用难度低。安全团队应优先修补此漏洞,并加强系统监控。对于研究人员而言,深入理解这些漏洞的工作原理有助于开发更有效的防御机制。

Windows Exchange组件漏洞分析:ProxyLogon (CVE-2021-26855 & CVE-2021-27065) 漏洞概述 ProxyLogon是Microsoft Exchange Server中的一组关键安全漏洞组合,由两个主要漏洞构成: CVE-2021-26855 :服务器端请求伪造(SSRF)漏洞 CVE-2021-27065 :远程代码执行(RCE)漏洞 这两个漏洞组合使用可导致攻击者在未授权的情况下完全控制Exchange服务器。 漏洞影响 影响版本:Exchange Server 2013、2016和2019 攻击复杂度:低 所需权限:无需认证 影响程度:远程代码执行,完全控制系统 环境搭建 所需环境 Windows Server 2016 Exchange Server 2019 (或受影响版本) 搭建步骤 安装Windows Server 2016 安装必要的先决条件: .NET Framework 4.8 Visual C++ Redistributable Unified Communications Managed API 4.0 安装Exchange Server 配置Exchange服务器 漏洞详细分析 CVE-2021-26855 (SSRF漏洞) 漏洞位置 :Exchange前端服务中的身份验证机制 原理分析 : Exchange前端服务在处理请求时未能正确验证请求的URL 攻击者可构造特殊的HTTP请求,通过Exchange服务器向内部网络发送请求 该漏洞允许绕过身份验证,访问后端服务 利用方式 : CVE-2021-27065 (RCE漏洞) 漏洞位置 :Exchange控制面板(ECP)中的文件写入功能 原理分析 : 通过SSRF漏洞获取有效会话后,攻击者可利用ECP的文件写入功能 由于缺乏适当的输入验证,攻击者可写入任意文件 结合其他技术可实现远程代码执行 利用方式 : 通过SSRF漏洞获取有效会话 构造恶意请求写入web shell 通过web shell执行任意代码 漏洞复现步骤 信息收集 : 确认目标Exchange版本 检查目标是否开放443端口 利用SSRF漏洞(CVE-2021-26855) : 发送精心构造的请求获取有效会话 绕过身份验证访问后端服务 利用RCE漏洞(CVE-2021-27065) : 使用获取的会话写入恶意文件 通常写入路径: /owa/auth/xxx.aspx 写入webshell内容 执行远程代码 : 访问写入的webshell 通过webshell执行系统命令 防御措施 官方补丁 : 立即安装Microsoft发布的安全更新 KB5000871 (Exchange Server 2019) KB5000871 (Exchange Server 2016) KB5000886 (Exchange Server 2013) 临时缓解措施 : 禁用Exchange的离线地址簿(OAB)虚拟目录 限制对Exchange服务器的外部访问 启用Windows Defender攻击面减少规则 检测措施 : 检查异常文件(如aspx文件)的创建 监控Exchange日志中的异常请求 使用Microsoft提供的IOC检测工具 漏洞验证脚本示例 总结 ProxyLogon漏洞组合是Exchange Server近年来最严重的漏洞之一,影响范围广,利用难度低。安全团队应优先修补此漏洞,并加强系统监控。对于研究人员而言,深入理解这些漏洞的工作原理有助于开发更有效的防御机制。