前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MICROSOFT EXCHANGE – 防止网络攻击

MICROSOFT EXCHANGE – 防止网络攻击

原创
作者头像
Khan安全团队
发布2022-01-12 21:29:12
3.8K0
发布2022-01-12 21:29:12
举报
文章被收录于专栏:Khan安全团队Khan安全团队

Microsoft Exchange 服务器是威胁参与者的常见目标,不仅因为它们提供了多个入口点,而且因为它们在绑定到 Active Directory 时提供了持久性和域升级的机会。通过 Exchange 连接破坏组织的域可能成为一项微不足道的任务,尤其是在缺少许多安全控制的情况下。

下图演示了威胁参与者实施的真实世界攻击,目的是通过滥用 Exchange 服务、Exchange API 和标准 Outlook 功能来实现完全的域入侵。

阻止这些攻击需要组织应实施的一系列措施,以降低通过 Microsoft Exchange 连接发生安全漏洞的风险。这些措施包括:

  • 禁用不必要的服务
  • 启用两因素身份验证
  • 启用 LDAP 签名和 LDAP 绑定
  • 应用关键安全补丁和变通办法
禁用不必要的服务

Microsoft Exchange 的默认安装启用了以下服务:

  • Outlook Web 访问 (OWA)
  • 交换网络服务 (EWS)
  • Exchange ActiveSync (EAS)

所有这些服务都创建了一个攻击面,威胁参与者可以通过进行可能导致发现合法凭据、访问用户邮箱和执行域升级的攻击而受益。Outlook Web Access 使域用户能够从外部访问其邮箱。但是,如果业务需要,则应评估 Exchange Web 服务和 Exchange ActiveSync。

Exchange Web 服务允许客户端应用程序与 Exchange 服务器进行通信。如果 EWS 不能满足特定的业务需求,则应禁用访问。从 Exchange 命令行管理程序执行以下命令将禁用对所有邮箱的访问。

代码语言:javascript
复制
Get-Mailbox | Set-CASMailbox -EwsEnabled $false
禁用 EWS 访问
禁用 EWS 访问

ActiveSync 协议允许域用户的移动设备与 Exchange 邮箱同步数据(邮件、日历、联系人和任务)。如果企业不需要此协议,则应将其禁用。

代码语言:javascript
复制
Get-Mailbox | Set-CasMailbox -ActiveSyncEnabled $false
禁用 ActiveSync
禁用 ActiveSync

还应禁用身份验证,以减少密码喷射攻击期间威胁参与者的攻击面。

禁用 EWS 身份验证
禁用 EWS 身份验证
禁用 ActiveSync 身份验证
禁用 ActiveSync 身份验证
启用两因素身份验证

大多数与 Microsoft Exchange 相关的攻击都要求攻击者已经获得用户的域凭据(密码喷洒、网络钓鱼等)。为所有暴露的服务(如 Outlook Web Access、Exchange Web 服务和 ActiveSync)启用 2 因素身份验证将防止威胁参与者:

  1. 访问用户邮箱并收集敏感数据
  2. 以更高的成功率进行内部网络钓鱼攻击
  3. 通过任意 Outlook 规则实现网络持久性
  4. 破坏域

即使双因素身份验证将提供额外的安全层,它也应仅被视为第一道防线。需要采取其他一些补救措施来防止攻击的实施。

应用关键补丁和解决方法

Microsoft 建议删除以下注册表项,以防止对 Exchange 服务器的网络环回地址提出 NTLM 身份验证请求。此操作将阻止攻击的实施,使威胁参与者能够将转发规则添加到目标邮箱或将受感染的帐户添加为委托人。影响是检索电子邮件和冒充用户,这将允许内部网络钓鱼攻击。

代码语言:javascript
复制
reg delete HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa /v DisableLoopbackCheck /f
禁用环回检查
禁用环回检查

滥用 Exchange Push Subscription 可以进行域升级。Microsoft 已发布补丁,通过降低对 Active Directory 的权限来修复各种版本的 Exchange 服务器的问题。

  • KB4471391 – 交换 2019
  • KB4471392 – 交换 2016
  • KB4345836 – 交换 2013
  • KB4487052 – 交换 2010

此技术需要有效的 Exchange 凭据,并且依赖 EWS 来执行身份验证。禁用 Exchange Web 服务 (EWS) 的身份验证将阻止攻击。

禁用 EWS 身份验证
禁用 EWS 身份验证

同样,禁用跨组织的 Exchange Web 服务邮箱访问将产生相同的结果。

代码语言:javascript
复制
Get-Mailbox | Set-CASMailbox -EwsEnabled $false
禁用 EWS 访问
禁用 EWS 访问

威胁参与者将无法通过 Exchange 进行身份验证以发送 API 调用,他们将在其终端中收到以下错误。

防止 PrivExchange 攻击
防止 PrivExchange 攻击

Benjamin Delpy在 Twitter 上提出了一种通过将MaxSubscriptions设置为零来缓解漏洞的替代方法。此设置将阻止 Exchange 发送任何 EWS 通知。

需要从 Exchange 命令行管理程序执行以下命令:

代码语言:javascript
复制
New-ThrottlingPolicy -Name NoEWSSubscription -ThrottlingPolicyScope Organization -EWSMaxSubscriptions 0
Restart-WebAppPool -Name MSExchangeServicesAppPool
创建新的限制策略
创建新的限制策略

将不允许尝试通过使用 Exchange API 调用(推送订阅)来执行域升级的威胁参与者。

订阅已禁用
订阅已禁用

完全禁用 EWS 身份验证还将进行 NTLM 中继攻击,这些攻击将作为目标在不破解密码哈希的情况下获取对用户邮箱的访问权限。

防止 NTLM 中继攻击
防止 NTLM 中继攻击

或者,如果需要身份验证,可以将 Microsoft Exchange 配置为拒绝所有域帐户的传入 NTLM 流量。

限制传入 NTLM 流量
限制传入 NTLM 流量

这将导致威胁参与者利用 NTLM 中继作为一种技术来获取邮箱访问权限并执行恶意操作的尝试失败。

ExchangeRelayX 身份验证失败
ExchangeRelayX 身份验证失败
Python 脚本 – CVE-2018-8581
Python 脚本 – CVE-2018-8581
规则

Nick Landers 在 2015 年发现,为了从远程位置(WebDAV 或 SMB 共享)执行任意代码并获得对用户主机的持久访问权限,可能会滥用 Microsoft Outlook(规则和警报)的功能。Microsoft 发布了一个补丁 ( KB3191893 ),它通过创建注册表项来解决该问题。零值表示禁用 Outlook 规则。

代码语言:javascript
复制
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
禁用 Outlook 规则 - 注册表
禁用 Outlook 规则 - 注册表

应用 Microsoft 补丁将永久禁用任意客户端邮件规则。

Outlook 规则已禁用
Outlook 规则已禁用
展望主页

Outlook 主页功能可用于注入将在用户系统上执行任意有效负载的页面。在浏览邮箱文件夹或重新启动 Microsoft Outlook 时将触发有效负载。该技术的发现属于Etienne Stallans,并且该攻击的实施需要用户凭据。

Microsoft 已发布补丁 ( KB4011162 ),通过从收件箱属性中删除主页功能来解决该漏洞。

Outlook 主页已删除
Outlook 主页已删除
强制执行 LDAP 签名和 LDAP 通道绑定

与 Microsoft Exchange 相关的各种攻击滥用与 Active Directory 存在的信任关系,以修改权限并获得提升的访问权限。预防这些攻击需要启用 LDAP 签名和 LDAP 绑定。目前,默认情况下禁用此设置,但 Microsoft 打算发布一个安全更新(2020 年 1 月),以启用 LDAP 签名和 LDAP 绑定。管理员可以通过修改组策略管理编辑器手动执行更改。

LDAP 服务器签名
LDAP 服务器签名

可以通过组策略或本地安全策略为客户端启用 LDAP 签名。

LDAP 客户端签名
LDAP 客户端签名

可以通过在以下注册表位置创建注册表项来启用 LDAP 绑定:

代码语言:javascript
复制
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NTDS\Parameters
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<LDS instance name>\Parameters

值 2 表示始终启用通道绑定。

代码语言:javascript
复制
LdapEnforceChannelBinding=2
LDAP 通道绑定
LDAP 通道绑定
概括

按时应用 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 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 禁用不必要的服务
  • 启用两因素身份验证
  • 应用关键补丁和解决方法
  • 规则
  • 展望主页
  • 强制执行 LDAP 签名和 LDAP 通道绑定
  • 概括
相关产品与服务
多因子身份认证
多因子身份认证(Multi-factor Authentication Service,MFAS)的目的是建立一个多层次的防御体系,通过结合两种或三种认证因子(基于记忆的/基于持有物的/基于生物特征的认证因子)验证访问者的身份,使系统或资源更加安全。攻击者即使破解单一因子(如口令、人脸),应用的安全依然可以得到保障。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com