Home > 博客 >

MICROSOFT EXCHANGE SERVER 权限提升漏洞(CVE-2024-21410)分析与处理

2024-04-19 20:51:20


此文时间:2024.2.29(注意此文时间)

友情提示:文中提供的链接你可以先不看,以免头晕。在看完文档之后再看。

 

最近又爆出了一个大的EXCHANGE漏洞,见微软官文https://msrc.microsoft.com/update-guide/vulnerability/CVE-2024-21410

有漏洞,就有补丁,打与不打,对管理员都是个问题,且看下文分析,你心里就有数了。

 

1,攻击者如何利用此漏洞

 

微软说:攻击者可以利用 NTLM 凭据泄露类型漏洞来针对 NTLM 客户端(例如 Outlook)。然后,泄露的凭据可以针对 Exchange 服务器进行中继,以获得受害者客户端的权限,并代表受害者在 Exchange 服务器上执行操作。

 

从上面这段微软官方描述来看,攻击者首先是搞到一台客户端,然后获取这台客户端的凭据,然后进行中继攻击,那如果这台客户端的凭据是exchange管理员凭据,那邮件服务器就死定了。

 

那从另外一个角度说,只要exchange管理员没有在客户端电脑登录,那利用这个漏洞还是难的。

 

2,有没有公开可用的PoC漏洞工具出来

截止这篇文章,虽然有在野利用,但还没有公开可用的 PoC 漏洞利用,这在一定程度上限制了可以利用此漏洞的攻击者数量。

但美国网络安全和基础设施安全局 (CISA)允许联邦机构在 2024 年 3 月 7 日之前应用可用的更新、缓解措施或停止使用该产品。

 

3,能缓解此漏洞吗

我不想打补丁,能不能通过其他措施缓解一下。好消息是可以不打补丁,可以缓解;坏消息是缓解前你得打其他前置补丁。

截止现在,只有EX2019有直接的补丁,EX2016/2013想打都没有,只有缓解,也就是在 Exchange Server 中配置 Windows 扩展保护。

https://learn.microsoft.com/en-us/exchange/plan-and-deploy/post-installation-tasks/security-best-practices/exchange-extended-protection?view=exchserver-2019

a

4,缓解的前提条件

缓解也有条件,不是想缓解就缓解。

缓解其实就是启用Exchange server里面的扩展保护,它的功能就是增强 Windows Server 中的现有身份验证,并减轻了身份验证中继或中间人 (MitM) 攻击。

 

但启用这个扩展保护并不轻松,不是改个注册表就行的,因为这涉及到底层的安全验证,所以影响面广,说不定你辛辛苦苦启用了保护还得回退

 

还是先来说说前提条件:

 

1, 首先是安装了2022.8月或更高版本的Exchange SU(安全更新)。

可以按下图来准备这个条件。

b

根据上图,也就是你的exchange的CU版本要满足,然后SU版本要满足,然后还要准备域。

上面三个条件还是够折腾人的:

1, CU不满足如何打?

2, SU不满足如何打?(https://setup.microsoft.com/exchange/exchange-update)

3, 如何准备域?(需要域的企业管理员身份)

首先安装 SU,然后使用 Exchange Server 安装路径(例如 …\Program   Files\Microsoft\Exchange Server\v15\Bin)中的 Setup.exe 运行以下命令提示符命令:
 
  Setup.exe   /IAcceptExchangeServerLicenseTerms_DiagnosticDataOFF /PrepareAllDomains

 

SU是基于现有的exchange CU确定,可以安装最新的。

列表:

https://learn.microsoft.com/zh-cn/exchange/new-features/build-numbers-and-release-dates?view=exchserver-2019

比如我这里是Ex2016 CU23,则我选择最新的Nov23SU。

c

 

其他前提条件:

 

1, 禁用outlook anywhere的SSL卸载功能。

Set-OutlookAnywhere "EX01-2019\RPC (Default Web Site)" -SSLOffloading $false

2, 所有服务器TLS设置要一样,如果你没特殊去修改,应该是一样的。

3, 网络安全:LAN Manager 身份验证级别至少是3,即Send NTLMv2 response only。如果没有去修改,默认就是这样。

完整的看微软官网:

https://learn.microsoft.com/en-us/exchange/plan-and-deploy/post-installation-tasks/security-best-practices/exchange-extended-protection?view=exchserver-2019

5,缓解

好了,终于可以动手缓解了。

虽然可以手动去修改,我想你还是希望有个自动化的工具,微软还是提供了:

https://github.com/microsoft/CSS-Exchange/releases/latest/download/ExchangeExtendedProtectionManagement.ps1

一个ps脚本,请在exchange服务器上以组织管理员身份登录,并以提升的管理员权限运行。

 

1, 首先先检查一遍,达到条件没有:

.\ExchangeExtendedProtectionManagement.ps1 –PrerequisitesCheckOnly

2, 如果要在所有服务器上启用扩展保护,直接运行:

.\ExchangeExtendedProtectionManagement.ps1

如果要先在一台上启用,则可以加服务器参数:

.\ExchangeExtendedProtectionManagement.ps1 -ExchangeServerNames <name>

3, 如果要回滚:

.\ExchangeExtendedProtectionManagement.ps1-RollbackType "RestoreConfiguration"

4, 如果要禁用保护

.\ExchangeExtendedProtectionManagement.ps1 –DisableExtendedProtection

5, 验证现有保护设置

.\ExchangeExtendedProtectionManagement.ps1 –ShowExtendedProtection