Microsoft Exchange 服务器是威胁参与者的常见目标,不仅因为它们提供了多个入口点,而且因为它们在绑定到 Active Directory 时提供了持久性和域升级的机会。通过 Exchange 连接破坏组织的域可能成为一项微不足道的任务,尤其是在缺少许多安全控制的情况下。
下图演示了威胁参与者实施的真实世界攻击,目的是通过滥用 Exchange 服务、Exchange API 和标准 Outlook 功能来实现完全的域入侵。
阻止这些攻击需要组织应实施的一系列措施,以降低通过 Microsoft Exchange 连接发生安全漏洞的风险。这些措施包括:
Microsoft Exchange 的默认安装启用了以下服务:
所有这些服务都创建了一个攻击面,威胁参与者可以通过进行可能导致发现合法凭据、访问用户邮箱和执行域升级的攻击而受益。Outlook Web Access 使域用户能够从外部访问其邮箱。但是,如果业务需要,则应评估 Exchange Web 服务和 Exchange ActiveSync。
Exchange Web 服务允许客户端应用程序与 Exchange 服务器进行通信。如果 EWS 不能满足特定的业务需求,则应禁用访问。从 Exchange 命令行管理程序执行以下命令将禁用对所有邮箱的访问。
Get-Mailbox | Set-CASMailbox -EwsEnabled $false
ActiveSync 协议允许域用户的移动设备与 Exchange 邮箱同步数据(邮件、日历、联系人和任务)。如果企业不需要此协议,则应将其禁用。
Get-Mailbox | Set-CasMailbox -ActiveSyncEnabled $false
还应禁用身份验证,以减少密码喷射攻击期间威胁参与者的攻击面。
大多数与 Microsoft Exchange 相关的攻击都要求攻击者已经获得用户的域凭据(密码喷洒、网络钓鱼等)。为所有暴露的服务(如 Outlook Web Access、Exchange Web 服务和 ActiveSync)启用 2 因素身份验证将防止威胁参与者:
即使双因素身份验证将提供额外的安全层,它也应仅被视为第一道防线。需要采取其他一些补救措施来防止攻击的实施。
Microsoft 建议删除以下注册表项,以防止对 Exchange 服务器的网络环回地址提出 NTLM 身份验证请求。此操作将阻止攻击的实施,使威胁参与者能够将转发规则添加到目标邮箱或将受感染的帐户添加为委托人。影响是检索电子邮件和冒充用户,这将允许内部网络钓鱼攻击。
reg delete HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa /v DisableLoopbackCheck /f
滥用 Exchange Push Subscription 可以进行域升级。Microsoft 已发布补丁,通过降低对 Active Directory 的权限来修复各种版本的 Exchange 服务器的问题。
此技术需要有效的 Exchange 凭据,并且依赖 EWS 来执行身份验证。禁用 Exchange Web 服务 (EWS) 的身份验证将阻止攻击。
同样,禁用跨组织的 Exchange Web 服务邮箱访问将产生相同的结果。
Get-Mailbox | Set-CASMailbox -EwsEnabled $false
威胁参与者将无法通过 Exchange 进行身份验证以发送 API 调用,他们将在其终端中收到以下错误。
Benjamin Delpy在 Twitter 上提出了一种通过将MaxSubscriptions设置为零来缓解漏洞的替代方法。此设置将阻止 Exchange 发送任何 EWS 通知。
需要从 Exchange 命令行管理程序执行以下命令:
New-ThrottlingPolicy -Name NoEWSSubscription -ThrottlingPolicyScope Organization -EWSMaxSubscriptions 0
Restart-WebAppPool -Name MSExchangeServicesAppPool
将不允许尝试通过使用 Exchange API 调用(推送订阅)来执行域升级的威胁参与者。
完全禁用 EWS 身份验证还将进行 NTLM 中继攻击,这些攻击将作为目标在不破解密码哈希的情况下获取对用户邮箱的访问权限。
或者,如果需要身份验证,可以将 Microsoft Exchange 配置为拒绝所有域帐户的传入 NTLM 流量。
这将导致威胁参与者利用 NTLM 中继作为一种技术来获取邮箱访问权限并执行恶意操作的尝试失败。
Nick Landers 在 2015 年发现,为了从远程位置(WebDAV 或 SMB 共享)执行任意代码并获得对用户主机的持久访问权限,可能会滥用 Microsoft Outlook(规则和警报)的功能。Microsoft 发布了一个补丁 ( KB3191893 ),它通过创建注册表项来解决该问题。零值表示禁用 Outlook 规则。
Outlook 2016
HKEY_USERS\<SID>\Software\Microsoft\Office\16.0\Outlook\Security\EnableUnsafeClientMailRules
Outlook 2013
HKEY_USERS\<SID>\Software\Microsoft\Office\15.0\Outlook\Security\EnableUnsafeClientMailRules
应用 Microsoft 补丁将永久禁用任意客户端邮件规则。
Outlook 主页功能可用于注入将在用户系统上执行任意有效负载的页面。在浏览邮箱文件夹或重新启动 Microsoft Outlook 时将触发有效负载。该技术的发现属于Etienne Stallans,并且该攻击的实施需要用户凭据。
Microsoft 已发布补丁 ( KB4011162 ),通过从收件箱属性中删除主页功能来解决该漏洞。
与 Microsoft Exchange 相关的各种攻击滥用与 Active Directory 存在的信任关系,以修改权限并获得提升的访问权限。预防这些攻击需要启用 LDAP 签名和 LDAP 绑定。目前,默认情况下禁用此设置,但 Microsoft 打算发布一个安全更新(2020 年 1 月),以启用 LDAP 签名和 LDAP 绑定。管理员可以通过修改组策略管理编辑器手动执行更改。
可以通过组策略或本地安全策略为客户端启用 LDAP 签名。
可以通过在以下注册表位置创建注册表项来启用 LDAP 绑定:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NTDS\Parameters
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<LDS instance name>\Parameters
值 2 表示始终启用通道绑定。
LdapEnforceChannelBinding=2
按时应用 Microsoft 安全补丁并实施变通办法将提高组织对以 Microsoft Exchange 为目标的网络攻击的弹性。下图总结了本文中描述的补丁和缓解修复。
下表关联了威胁参与者滥用的功能,他们可以通过相关的 Microsoft 补丁和 CVE 编号实现什么。
功能性 | 技术 | 微软补丁 | CVE 编号 |
---|---|---|---|
展望规则 | 代码执行 | KB3191883KB3191893KB3191938 | 不适用 |
展望主页 | 代码执行 | KB4011162 – 2016KB4011178 – 2013KB4011196 – 2010 | CVE-2017-11774 |
展望表格 | 代码执行 | KB3191883 | 不适用 |
推送订阅 | 权限提升 | 不适用 | CVE-2018-8581 |
推送订阅 | 域升级 | KB4471391 – 2019KB4471392 – 2016KB4345836 – 2013KB4487052 – 2010 | CVE-2019-0686CVE-2019-0724 |
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。