MS Exchange攻击日志分析一

Microsoft Exchange是全球最常用的Email服务器之一,主要用于对企业网络中的Email通信进行集中管理。它在互联网上普遍性和可访问性使其成为攻击者的首选目标之一。

近些年来,MS Exchange频频成为攻击者进入企业内网的入口之一,本文将主要介绍如何使用标准系统事件日志检测CVE-2020-0688,在后续文章中将会介绍如何监测分析CVE-2020-16875,CVE-2021-24085等漏洞利用行为。

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

客户端访问协议体系结构

Exchange邮箱服务器上的客户端访问服务负责接受所有形式的客户端连接。客户端访问 (前端) 服务将这些连接代理到目标邮箱服务器上的后端服务, (本地服务器或保存用户邮箱) 的活动副本的远程邮箱服务器。客户端不直接连接到后端服务。这种通信体系结构如下图所示:

image

客户端使用的协议决定了用于将请求代理到目标邮箱服务器上的后端服务的协议。例如,如果客户端使用的是HTTP连接,则邮箱服务器使用HTTP将请求代理到目标邮箱服务器(使用自签名证书通过SSL确保安全)。如果客户端使用的是IMAP或POP,则所使用的协议也是IMAP或POP。

MS Exchange使用的基本协议

协议类型名称作用
客户端协议HTTP/HTTPS客户端(包括移动客户端)用于访问邮件、日历、通讯簿等的Exchange组件的协议
客户端协议MAPI用于处理邮件和其他组件的传输协议,Outlook客户端使用它与Exchange服务器进行通信
客户端协议RPC over HTTPOutlook客户端和移动设备使用的备用传输协议
服务端协议SMTPTCP/IP 网络上邮件的传输协议
服务端协议IMAP4/POP3用于邮件访问的应用层协议
与活动目录服务进行数据交换的协议LDAP用于在分布式目录服务中查找和访问对象的协议

MS Exchange主要组成部分

  • Outlook Web Access(OWA):Exchange Server提供的一种Web访问方式,允许用户从Web浏览器中访问其Exchange Server上的邮件、日历、联系人等信息。OWA提供了一种方便、灵活的方式,使用户可以随时随地通过互联网连接到Exchange Server,并访问其邮件、日程和其他Exchange服务。
  • Exchange Control Panel (ECP) :Exchange Server提供的一种管理控制台,用于管理和配置Exchange Server上的邮件服务。ECP提供了一种直观、易用的方式,使管理员可以方便地监控和管理Exchange Server的运行状况、性能、安全性等方面。ECP还提供了一些高级功能,如备份和恢复、故障排除、安全设置等,使管理员可以更深入地管理和配置Exchange Server。
  • Autodiscover :Exchange Server提供的一种自动发现机制,用于自动发现和配置Exchange Server上的新邮件服务器。当用户尝试连接到Exchange Server时,Autodiscover会自动检测并连接到可用的邮件服务器,并提供用户所需的配置信息。Autodiscover还提供了一种快速、简单的方式来更新Exchange Server上的配置信息,如邮件服务器地址、端口号等。Autodiscover还可以用于检测和解决连接问题,以及检查Exchange Server的运行状况和安全性等方面。
  • Exchange Web Services (EWS) :Exchange Server提供的一种Web服务,用于在 Web浏览器和应用程序之间提供Exchange数据的访问和交互。EWS提供了一种简单、灵活的方式,使开发人员可以在其Web应用程序中集成Exchange数据和服务。
  • Exchange ActiveSync (EAS) :Exchange Server提供的一种同步协议,用于将移动设备上的Exchange数据同步到Exchange Server上。EAS提供了一种简单、高效的方式来管理移动设备和Exchange Server之间的数据同步,使用户可以轻松地管理和处理其移动设备上的Exchange数据。
  • Exchange RPC :Exchange Server提供的一种远程过程调用协议,用于在Exchange Server之间进行通信和数据交换。RPC提供了一种简单、高效的方式来管理Exchange Server之间的通信和数据同步,使用户可以轻松地管理和处理其Exchange数据。
  • Offline Address Book (OAB) :Exchange Server提供的一种离线访问方式,用于在Exchange Server关闭或网络连接中断时访问和管理其联系人数据。OAB提供了一种简单、高效的方式来管理Exchange Server上的联系人数据,使用户可以在Exchange Server关闭或网络连接中断时继续访问其联系人数据。

日志和事件

以下日志对于监测分析针对MS Exchange服务器的攻击行为具有一定的作用。

数据源描述路径
Windows安全审核日志安全日志存储在审核策略中配置的所有事件(进程启动、成功/失败登录等)%SystemRoot%\System32\Winevt\Logs\Security.evtx
Windows应用程序审核日志应用程序日志包含有关Windows中应用程序性能的各种信息:启动错误、检测信号、配置更改等%SystemRoot%\System32\Winevt\Logs\Application.evtx
PowerShell审核日志记录有关PowerShell操作的详细信息,例如启动和停止引擎和提供程序,以及执行PowerShell命令%USERPROFILE%\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadLine
Exchange服务器管理事件记录Exchange服务器的各种状态和行为,包括邮件传输、用户活动、备份和恢复等MSExchange Management log
IIS日志IIS Web服务器访问日志,其中包含部分接口的调用情况记录%SystemDrive%\inetpub\logs\LogFiles
Sysmon日志包含来自Sysmon的安全事件,通过在系统上安装Sysmon来进行高级日志记录Microsoft-Windows-Sysmon/Operational log

CVE-2020-0688

漏洞利用

漏洞起于Microsoft Exchange服务器在安装时并没有正确创建唯一密钥,经过身份验证的攻击者可以欺骗目标服务器反序列化恶意创建的ViewState数据,使攻击者可以在Exchange Control Panel web应用上执行任意.net代码。

在Exchange Control Panel (ECP)组件中,所有Microsoft Exchange Server在安装后的web.config文件中都拥有相同的validationKey和decryptionKey。这些密钥用于保证ViewState的安全性,而ViewState是ASP.NET Web应用以序列化格式存储在客户机上的服务端数据。由于密钥是静态的,攻击者有了这两个密钥,就可以使用YSoSerial.net生成序列化后的ViewState数据,从而在Exchange Control Panel web应用上执行任意.net代码。

想要利用该漏洞我们需要知道四个参数:

--validationkey = CB2721ABDAF8E9DC516D621D8B8BF13A2C9E8689A25303BF(默认,漏洞产生原因)

--validationalg = SHA1(默认,漏洞产生原因)

--generator=B97B4E27(基本默认)

--viewstateuserkey = ASP.NET_SessionId(手工获取,变量,每次登陆都不一致)

获取到相关参数后,使用YSoSerial.net生成序列化后的恶意的ViewState数据,直接访问Url,导致服务器返回错误代码500。

image.png

具体漏洞分析利用细节可参考CVE-2020-0688:Exchange Server使用固定加密密钥远程代码执行漏洞修复通告

日志分析

在被攻击的Exchange服务器上,可利用IIS日志进行分析发现攻击行为。可疑日志如下:

2020-03-09 17:16:58 172.*.*.27 GET /ecp/default.aspx __VIEWSTATEGENERATOR=B97B4E27&__VIEWSTATE=%2FwEyhAYAAQAAAP%2F%2F%2F%2F8BAAAAAAAAAAwCAAAAXk1pY3Jvc29mdC5Qb3dlclNoZWxsLkVkaXRvciwgVmVyc2lvbj0zLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUFAQAAAEJNaWNyb3NvZnQuVmlzdWFsU3R1ZGlvLlRleHQuRm-9ybWF0dGluZy5UZXh0Rm19ybWF0dGluZ1J1blByb3BlcnRpZXMBAAAAD0ZvcmVncm191bmRCcnVzaAECAAAABgMAAACmBDxSZXNvdXJjZURpY3Rpb25hcnkNCiAgeG1sbnM19Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd2luZngvMjAwNi94YW1sL3ByZXNlbnRhdGlvbiINCiAgeG1sbnM6eD0iaHR0cDovL3NjaGVtYXMubWljcm19zb2Z0LmNvbS93aW5meC8yMDA2L3hhbWwiDQogIHhtbG5zOlN5c3RlbT0iY2xyLW5hbWVzcGFjZTpTeXN0ZW07YXNzZW1ibHk9bXNjb3JsaWIiDQogIHhtbG5zOkRpYWc9ImNsci1uYW1lc3BhY2U6U3lzdGVtLkRpYWdub3N0aWNzO2Fzc2VtYmx5PXN5c3RlbSI%2BDQoJIDxPYmplY3REYXRhUHJvdmlkZXIgeDpLZXk9IiIgT2JqZWN0VHlwZSA9ICJ7IHg6VHlwZSBEaWFnOlByb2Nlc3N9IiBNZXRob2ROYW1lID0gIlN0YXJ0IiA%2BDQogICAgIDxPYmplY3REYXRhUHJvdmlkZXIuTWV0aG9kUGFyYW1ldGVycz4NCiAgICAgICAgPFN5c3RlbTpTdHJpbmc%2BY2FsYy5leGU8L1N5c3RlbTpTdHJpbmc%2BDQogICAgIDwvT2JqZWN0RGF0YVByb3ZpZGVyLk1ldGhvZFBhcmFtZXRlcnM%2BDQogICAgPC9PYmplY3REYXRhUHJvdmlkZXI%2BDQo8L1Jlc291cmNlRGljdGlvbmFyeT4LJ%2F5i3bVSrOTrkun3pNej4tluDK0%3D&CorrelationID=<empty>;&cafeReqId=e0874638-b142-4c77-84c1-c0434137e691; 443 limou 10.0.254.139 Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64;+rv:73.0)+Gecko/20100101+Firefox/73.0 - 500 0 0 1502

对上述可疑日志中的VIEWSTATE内容进行解码,其调用了计算器进程。

image.png

根据IIS日志信息总结出0688漏洞利用日志分析要点:

HTTP请求方法:"GET"
HTTP请求路径:"/ecp/default.aspx"
请求路径中包含:"__VIEWSTATEGENERATOR"、"__VIEWSTATE"
HTTP状态代码:"500"

同样我们也可以在日志中定位到经过身份验证的用户账户是哪个?(limou)。在实际分析过程中,攻击者不可能简简单单的弹一个计算器就结束了,结合网上其他利用方法(如下)。
image.png
image.png

我们对其他方法也进行了总结,也可通过Windows安全日志对进程进行检测发现可疑行为,分析要点:Windows事件ID4688,父进程w3wp.exe(IIS)、子进程cmd.exe或者powershell.exe。

总结

在IIS日志中可利用请求方法、路径、状态码等特征进行监测分析;在Windows安全日志中可利用事件ID、子父进程名称进行监测分析,在实际应用过程中,利用IIS日志进行分析较为方便快捷。

朋友们如果有需要全套《黑客&网络安全入门&进阶学习资源包》,点击下方链接即可前往获取
CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

网络安全技术库

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值