Exchange权限模型对比分析:RBAC Split vs Shared vs AD Split在Exchange-AD-Privesc中的安全影响
在Microsoft Exchange与Active Directory集成部署中,权限模型的选择直接影响整个域的安全态势。Exchange-AD-Privesc项目揭示了三种主要权限模型(RBAC Split、Shared和AD Split)在安全设计上的差异及其对Active Directory权限提升风险的影响。本文将通过深入分析Exchange权限模型对比,帮助管理员理解不同配置下的安全风险。
三种权限模型的核心差异
Exchange部署在Active Directory域中时,管理员可以选择三种不同的权限模型,每种模型都有其独特的安全特性:
1. RBAC Split权限模型(推荐配置)
RBAC Split是Microsoft推荐的权限模型,它将Exchange管理权限与Active Directory管理权限分离。在这种模型中:
- Exchange管理员只能管理Exchange相关对象
- Active Directory管理员负责管理域对象
- 权限边界清晰,减少了横向移动的风险
2. Shared权限模型(默认配置)
Shared权限模型是Exchange安装的默认选项,它允许Exchange管理员拥有更广泛的权限:
- Exchange安全组获得对域对象的写入权限
- Exchange Trusted Subsystem和Exchange Windows Permissions组拥有更多特权
- 权限边界模糊,增加了安全风险
3. AD Split权限模型
AD Split模型进一步分离权限,但实际部署较少:
- 提供更细粒度的权限控制
- 需要更复杂的配置管理
- 在某些场景下可能增加管理复杂性
Exchange-AD权限提升风险分析
Exchange-AD-Privesc项目揭示了在Shared和RBAC Split权限模型下存在的多个严重安全漏洞:
域对象DACL权限提升
在Shared和RBAC Split权限模型中,Exchange Windows Permissions组被授予对域对象的WriteDACL权限,但缺少INHERIT_ONLY_ACE标志。这个设计缺陷使得攻击者可以从Exchange Windows Permissions组提升到完全控制整个Active Directory域。
技术影响:攻击者可以设置Ds-Replication-Get-Changes和Ds-Replication-Get-Changes-All扩展权限,然后使用DCSync工具获取所有域秘密(Kerberos密钥、哈希等)。
DNSAdmins组控制风险
在最新的Exchange 2016部署中,Exchange Windows Permissions和Exchange Trusted Subsystem安全组获得了对DNSAdmins组的控制权限。DNSAdmins组拥有在域控制器上远程加载DLL的特殊权限,这为权限提升创造了条件。
安全后果:任何Organization Management组成员都可以在域控制器上以SYSTEM上下文远程执行代码,完全控制Active Directory域。
Public-Information属性集安全漏洞
Public-Information属性集本应只包含非敏感属性,但实际上包含了Service-Principal-Name和Alt-Security-Identities等安全相关属性。Exchange Trusted Subsystem和Exchange Enterprise Servers组被授予写入这些属性的权限,导致:
- Kerberoasting攻击:攻击者可以为任何域账户添加SPN,然后请求加密的TGS票据进行破解
- X509证书映射攻击:攻击者可以将X509证书映射到特权用户账户,通过PKInit进行身份验证
权限模型安全对比分析
RBAC Split vs Shared权限模型安全差异
| 安全特性 | RBAC Split权限模型 | Shared权限模型 |
|---|---|---|
| 权限分离程度 | 高 - Exchange与AD管理分离 | 低 - 权限重叠严重 |
| 默认安全配置 | 相对安全 | 存在多个已知漏洞 |
| 横向移动风险 | 较低 | 较高 |
| 权限提升路径 | 有限 | 多个已知路径 |
| 管理复杂性 | 中等 | 较低 |
实际部署中的安全影响
根据Exchange-AD-Privesc项目的研究,大多数生产环境中的Exchange部署都使用RBAC Split或Shared权限模型。然而,即使是推荐的RBAC Split模型,在某些配置下仍然存在安全风险:
- Active Directory Permissions RBAC角色可以通过EWP组代理,仍然存在权限提升到整个AD域的可能性
- Exchange服务器作为Exchange Trusted Subsystem和Exchange Windows Permissions组的成员,比域控制器更容易受到攻击
- Organization Admins在Exchange服务器上拥有本地管理员权限,可以控制Exchange安全组的SID
安全加固建议
1. 权限模型选择策略
- 首选RBAC Split模型:虽然不能完全消除风险,但提供了更好的权限分离
- 避免Shared模型:除非有明确的业务需求且接受相应的安全风险
- 定期审计权限配置:使用DomainObject/Fix-DomainObjectDACL.ps1等工具检查权限配置
2. 关键安全组保护
- 监控Exchange安全组:定期审查Exchange Trusted Subsystem和Exchange Windows Permissions组的成员
- 限制Organization Management权限:确保只有必要人员拥有这些权限
- 保护DNSAdmins组:考虑将其纳入AdminSDHolder保护范围
3. 定期安全评估
- 使用Exchange-AD-Privesc工具:定期运行项目中的PowerShell脚本检查安全配置
- 审查Public-Information属性集:确保不包含敏感安全属性
- 监控异常权限变更:建立权限变更的监控和告警机制
4. 补丁和更新管理
- 应用最新的Exchange更新:特别是2019年6月的季度更新修复了多个相关漏洞
- 定期运行/PrepareAD:确保权限配置符合最新安全标准
- 测试修复脚本:使用DNSAdmins/Fix-DNSAdmins-DACL.ps1等工具修复已知漏洞
结论与最佳实践
Exchange权限模型的选择对Active Directory安全有着深远影响。通过Exchange-AD-Privesc项目的分析,我们可以得出以下关键结论:
- 没有绝对安全的模型:即使是推荐的RBAC Split模型也存在权限提升风险
- 深度防御至关重要:不能仅依赖权限模型,需要多层安全控制
- 定期审计是必须的:使用自动化工具定期检查权限配置
- 及时应用安全更新:Microsoft已经修复了多个相关漏洞,及时更新至关重要
对于正在部署或维护Exchange环境的管理员,建议:
- 优先选择RBAC Split权限模型
- 定期使用Exchange-AD-Privesc项目中的工具进行安全评估
- 建立严格的权限变更管理流程
- 对Exchange服务器实施额外的安全加固措施
通过理解不同Exchange权限模型的安全影响并采取相应的防护措施,组织可以显著降低Active Directory被通过Exchange服务器攻陷的风险,保护企业最关键的身份和访问管理基础设施。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考







