安全漏洞说明
漏洞名称
Microsoft Exchange远程代码执行漏洞
0x01 关键词
微软、Microsoft Exchange、远程代码执行
0x02 背景
2020年2月11日,Microsoft发布了重要级别的补丁程序,以解决Microsoft Exchange Server中的远程代码执行漏洞(CVE-2020-0688)。成功利用此漏洞的攻击者可以完全控制受影响的Exchange服务器,在Exchange服务器上执行任意代码、随意窃取或伪造公司电子邮件通信。目前此漏洞的细节已经在互联网公开,有被恶意利用的可能。鉴于漏洞危害较大,建议客户尽快升级安装补丁程序。
0X04 威胁程度
个人风险评级:低危
企业风险评级:高危
情报风险预警:对公司影响等级为高,对使用微软Microsoft Exchange Server的企业均有被攻击的风险。
0X05 情报描述
2020年2月11日,Microsoft发布了针对Microsoft Exchange Server中的远程代码执行漏洞(CVE-2020-0688)的补丁程序。目前此漏洞的利用细节已经在互联网公开。
当服务器在安装时无法正确创建唯一密钥时,Microsoft Exchange Server中将存在一个远程代码执行漏洞。该漏洞是由于Exchange控制面板(ECP)组件中使用了静态密钥(validationKey和decryptionKey)。这些密钥用于为ViewState提供安全性。ViewState是ASP.NET Web应用程序在客户端上以序列化格式存储的服务器端数据。客户端通过__VIEWSTATE 请求参数将此数据传回服务器。经过身份验证的攻击者可以诱使服务器反序列化恶意制作的ViewState数据,从而在Exchange控制面板Web 应用程序的上下文中执行任意.NET 代码。由于Exchange控制面板Web 应用程序是以SYSTEM 权限运行,因而成功利用此漏洞的攻击者可以以SYSTEM身份执行任意代码,并完全破坏目标Exchange服务器。
0X06 影响版本
Microsoft Exchange Server 2010 Service Pack 3 Update Rollup 30
Microsoft Exchange Server 2013 Cumulative Update 23
Microsoft Exchange Server 2016 Cumulative Update 14
Microsoft Exchange Server 2016 Cumulative Update 15
Microsoft Exchange Server 2019 Cumulative Update 3
Microsoft Exchange Server 2019 Cumulative Update 4
受影响产品及版本:
Microsoft Exchange Server 2010、2013、2016、2019
解决方案:
0x07总结以及处置建议
目前,微软官方已发布针对受影响版本的补丁程序,建议用户尽快安装:
https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2020-0688
0x08参考链接
[2] https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2020-0688
补丁安装步骤
2010
1、 官网 下载,2010全版本都可以安装,没有前置条件,更新重启后,补丁列表里找到KB4536987即为安装成功
2016
1、补丁只支持cu14和cu15版本,如果cu过低,微软没有提供对应补丁包,需要先升级cu版本到支持版本后下载对应版本补丁
2、以管理员身份运行cmd,用cmd启动补丁安装文件,一直点击下一步,不需要做任何更改, 可以完成安装,安装完成后,会提示重启服务器,重启完成后,补丁列表里找到KB4536987即为安装成功
2016升级cu15
1、现有exchange2016服务器版本为cu13,官方没有发布cu13的补丁包,需要升级cu版本
2、升级cu15前置条件为 .net4.8,官网 下载4.8安装包,安装后需重启服务器生效
3、exchange shell 运行以下命令
Set-MailboxServer servername -DatabaseCopyActivationDisabledAndMoveNow $true
此命令将待升级mailbox所有副本进行转移,转移到dag其他mailbox上进行激活,并且此mailbox副本无法进行激活操作
4、官网 下载cu15安装包,以管理员身份运行,当先决条件检查完毕后,点击安装即可,安装完成后手动重启服务器,查看版本可以看到升级成功
最后步骤
1、exchange shell 运行以下命令
Set-MailboxServer servername -DatabaseCopyActivationDisabledAndMoveNow $false
此命令将mailbox恢复dag,并且可以将副本激活在此mailbox上
2、所有dag内mailbox补丁都安装测试完毕后,exchange shell 运行以下命令
cd $exscripts
.\RedistributeActiveDatabases.ps1 -DagName EX2016DAG01 –BalanceDbsByActivationPreference
自动平衡dag负载到最佳状态
3、检查iis配置,部分配置会被还原,需要变更操作
坑
1、.net4.8 安装时会卡主,现象为进度条显示进度为0,持续超过2小时以上没有进度,此时需要任务管理强行关闭更新,多次重启服务器后再进行安装
2、2016补丁文件运行时,一定不要双击直接运行,必须用管理员身份运行的cmd启动补丁文件,如果双击直接运行或没有用管理员身份运行cmd来启动,会导致补丁安装成功但实际不生效
3、2016补丁打完重启后,exchange有关服务可能会处于禁用状态,需要调整为自动模式然后启用即可
4、2016补丁安装过成功如果弹窗提示部分进程被占用,需要处理。需要手动关闭相关进程后重试,或取消补丁安装重新服务器后再进行补丁安装,不可以忽略,否则会导致补丁安装成功但实际不生效
5、漏洞验证是根据user所在db的mailbox服务器是否安装补丁决定的,和客户端直接连接的服务器无关
相关文档
1、升级cu参考文档:https://www.sysgeek.cn/installing-cumulative-updates-exchange-server-2016/
2、exchange build 参数对照实际cu版本:https://docs.microsoft.com/zh-cn/Exchange/new-features/build-numbers-and-release-dates?redirectedfrom=MSDN&view=exchserver-2019#Exchange
3、2016 cu15官方升级文档:https://support.microsoft.com/en-us/help/4522150/cumulative-update-15-for-exchange-server-2016