MS Exchange攻击日志分析三 - ProxyLogon与ProxyShell漏洞监测指南
前言
本教学文档基于FreeBuf文章《MS Exchange攻击日志分析三》,详细讲解如何通过日志分析监测ProxyLogon和ProxyShell漏洞利用行为。这两种漏洞组合是Microsoft Exchange服务器近年来的高危漏洞,攻击者可以利用它们远程获取服务器权限。
ProxyLogon漏洞分析
漏洞概述
ProxyLogon是2021年3月微软公布的一系列Microsoft Exchange高危漏洞组合,由安全研究员Orange Tsai发现并命名。主要包含:
- CVE-2021-26855:SSRF漏洞,可绕过Exchange身份验证
- CVE-2021-27065:文件写入漏洞
组合利用可在未登录状态下写入webshell。
攻击链分析
完整攻击链通常包含以下步骤:
- 通过SSRF漏洞访问autodiscover.xml泄露LegacyDN信息
- 通过LegacyDN获取SID
- 使用合法SID获取Exchange有效cookie
- 使用有效cookie对OABVirtualDirectory对象进行恶意操作,写入webshell
日志监测方法
IIS日志分析
攻击初期行为在IIS日志中的表现:
2023-11-27 13:25:41 10.211.55.74 HEAD /rpc/rpcproxy.dll majack2f2d.abd.org:6001&RequestId=56d6f56b-2299-46b8-9da2-e739a712d2b1 444 ABD\MAJACK2F2D$ 10.211.55.74 MSRPC - 200 0 0 1
2023-11-27 13:25:41 10.211.55.74 POST /ecp/y.js &CorrelationID=<empty>;&cafeReqId=f21eb85b-3120-4329-9da0-9bd40ede37b6; 443 - 10.211.55.71 ExchangeServicesClient/0.0.0.0 - 200 0 0 4199
2023-11-27 13:25:41 10.211.55.74 POST /ecp/y.js &CorrelationID=<empty>;&cafeReqId=1c2bb500-f7b3-4ce3-8b5a-7bf7380ad5f9; 443 - 10.211.55.71 python-requests/2.25.1 - 200 0 0 36
关键特征:
- 请求/rpc/rpcproxy.dll
- 请求不存在的js文件(如y.js)
MSExchange CmdletLogs监测
写入webshell的行为可在MSExchange CmdletLogs日志中观测到。
Sigma监测规则:
title: MSExchange CmdletLogs monitors ProxyLogon webshell writing behavior
description: windows server 2016
author: DHZN
logsource:
product: windows
service: MSExchange CmdletLogs
detection:
selection:
EventID: 1
Message|contains|all:
- 'Set-'
- 'VirtualDirectory'
- '-ExternalUrl'
- 'script'
condition: selection
level: medium
Windows安全日志监测
连接webshell并执行命令的行为可在Windows安全日志中观测到,可复用CVE-2020-16875的监测规则。
Exchange HttpProxy日志监测
微软官方推荐的检测方法,日志路径:
%PROGRAMFILES%\Microsoft\Exchange Server\V15\Logging\HttpProxy
检测命令:
Import-Csv -Path (Get-ChildItem -Recurse -Path "$env:PROGRAMFILES\Microsoft\Exchange Server\V15\Logging\HttpProxy" -Filter '*.log').FullName | Where-Object { $_.AnchorMailbox -like 'ServerInfo~*/*' -or $_.BackEndCookie -like 'Server~*/*~*'} | select DateTime, AnchorMailbox, UrlStem, RoutingHint, ErrorCode, TargetServerVersion, BackEndCookie, GenericInfo, GenericErrors, UrlHost, Protocol, Method, RoutingType, AuthenticationType, ServerHostName, HttpStatus, BackEndStatus, UserAgent
ECP日志监测
针对CVE-2021-27065利用行为的检测,日志路径:
C:\Program Files\Microsoft\Exchange Server\V15\Logging\ECP\Server
检测命令:
Select-String -Path "$env:PROGRAMFILES\Microsoft\Exchange Server\V15\Logging\ECP\Server\*.log" -Pattern 'Set-.+VirtualDirectory'
ProxyShell漏洞分析
漏洞概述
ProxyShell是2021年8月由Kevin Beaumont发现的一系列Microsoft Exchange服务器漏洞,影响Exchange Server 2016/2019/2021和Exchange Online。包含三个CVE:
- CVE-2021-34473:未经认证访问PowerShell端点
- CVE-2021-34523:绕过身份验证
- CVE-2021-31207:执行任意PowerShell脚本
日志监测方法
MSExchange CmdletLogs监测
webshell写入行为在MSExchange CmdletLogs日志中表现明显。
PowerShell日志监测
在Microsoft-Windows-PowerShell日志中可观察到:
- 清理邮箱导出请求行为
- 命令执行异常记录
Windows安全日志监测
可观察到whoami等命令执行行为。
Sigma监测规则
title: Use MSExchange CmdletLogs or Powershell logs to monitor ProxShell vulnerability exploitation behavior
description: windows server 2016
author: DHZN
logsource:
product: windows
service: MSExchange CmdletLogs/PoweShell
detection:
selection1:
EventID: 1
Message|contains|all:
- 'New-MailboxExportRequest'
- 'FilePath'
selection2:
EventID: 4104
Message|contains|all: 'Get-MailboxExportRequest'
condition: selection
level: medium
总结
通过综合分析以下日志可有效监测ProxyLogon和ProxyShell攻击:
- IIS日志 - 初始攻击行为
- MSExchange CmdletLogs - webshell写入行为
- PowerShell日志 - 命令执行行为
- Windows安全日志 - 系统命令执行
- Exchange HttpProxy日志 - 官方推荐检测方法
- ECP日志 - 特定漏洞利用检测
建议安全团队建立多层次的监测体系,结合Sigma规则进行自动化检测,及时发现和响应Exchange服务器遭受的攻击。