Azure AD Connect漏洞可能导致权限提升
发布日期:2017年6月27日
版本:1.0
执行摘要
微软发布此安全公告,告知客户新版本的Azure Active Directory (AD) Connect现已可用,该版本解决了一个重要的安全漏洞。
此更新解决了在启用过程中如果Azure AD Connect密码写回配置不当可能导致权限提升的漏洞。成功利用此漏洞的攻击者可以重置密码并获得对任意本地AD特权用户帐户的未授权访问。
最新版本(1.1.553.0)的Azure AD Connect通过不允许对本地AD特权用户帐户进行任意密码重置来解决此问题。
公告详情
密码写回是Azure AD Connect的一个组件。它允许用户配置Azure AD将密码写回到其本地Active Directory。它为用户提供了一种方便的基于云的方式,无论身在何处都可以重置其本地密码。有关密码写回的信息,请参阅[密码写回概述]。
要启用密码写回,必须授予Azure AD Connect对本地AD用户帐户的"重置密码"权限。在设置权限时,本地AD管理员可能无意中授予了Azure AD Connect对本地AD特权帐户(包括企业和域管理员帐户)的"重置密码"权限。有关AD特权用户帐户的信息,请参阅[Active Directory中的受保护帐户和组]。
不建议使用此配置,因为它允许恶意Azure AD管理员使用密码写回将任意本地AD用户特权帐户的密码重置为已知密码值。这反过来又允许恶意Azure AD管理员获得对客户本地AD的特权访问。
参见[CVE-2017-8613 - Azure AD Connect权限提升漏洞]
建议措施
验证您的组织是否受到影响
此问题仅影响在Azure AD Connect上启用了密码写回功能的客户。要确定是否启用了该功能:
- 登录到您的Azure AD Connect服务器
- 启动Azure AD Connect向导(开始 → Azure AD Connect)
- 在欢迎屏幕上,单击"配置"
- 在任务屏幕上,选择"查看当前配置"并单击"下一步"
- 在同步设置下,检查是否启用了"密码写回"
如果启用了密码写回,请评估您的Azure AD Connect服务器是否已被授予对本地AD特权帐户的"重置密码"权限。Azure AD Connect使用AD DS帐户与本地AD同步更改。相同的AD DS帐户用于执行与本地AD的密码重置操作。要识别使用哪个AD DS帐户:
- 登录到您的Azure AD Connect服务器
- 启动同步服务管理器(开始 → 同步服务)
- 在连接器选项卡下,选择本地AD连接器并单击"属性"
在属性对话框中,选择"连接到Active Directory林"选项卡并记下用户名属性。这是Azure AD Connect用于执行目录同步的AD DS帐户。
对于Azure AD Connect对本地AD特权帐户执行密码写回,AD DS帐户必须被授予对这些帐户的"重置密码"权限。如果本地AD管理员执行了以下任一操作,通常会发生这种情况:
- 使AD DS帐户成为本地AD特权组的成员(例如,企业管理员或域管理员组),或
- 在adminSDHolder容器上创建控制访问权限,授予AD DS帐户"重置密码"权限
您需要检查分配给此AD DS帐户的有效权限。通过检查现有ACL和组分配可能很困难且容易出错。更简单的方法是选择一组现有的本地AD特权帐户,并使用Windows有效权限功能来确定AD DS帐户是否对这些选定帐户具有"重置密码"权限。
注意:如果您使用Azure AD Connect同步多个本地AD林,则可能有多个AD DS帐户需要评估。
修复步骤
升级到最新版本(1.1.553.0)的Azure AD Connect,可从[此处]下载。即使您的组织目前未受影响,我们也建议您这样做。有关如何升级Azure AD Connect的信息,请参阅[Azure AD Connect:了解如何从先前版本升级到最新版本]。
最新版本的Azure AD Connect通过阻止对本地AD特权帐户的密码写回请求来解决此问题,除非请求的Azure AD管理员是本地AD帐户的所有者。更具体地说,当Azure AD Connect从Azure AD接收密码写回请求时:
- 它通过验证AD adminCount属性来检查目标本地AD帐户是否是特权帐户。如果值为null或0,Azure AD Connect会得出结论这不是特权帐户并允许密码写回请求。
- 如果值不是null或0,Azure AD Connect会得出结论这是特权帐户。接下来,它验证请求用户是否是目标本地AD帐户的所有者。它通过检查其Metaverse中目标本地AD帐户与请求用户的Azure AD帐户之间的关系来做到这一点。如果请求用户确实是所有者,Azure AD Connect允许密码写回请求。否则,请求将被拒绝。
注意:adminCount属性由SDProp进程管理。默认情况下,SDProp每60分钟运行一次。因此,新创建的AD特权用户帐户的adminCount属性从NULL更新为1最多可能需要一个小时。在此之前,Azure AD管理员仍然可以重置此新创建帐户的密码。
缓解步骤
如果无法立即升级到最新版本的"Azure AD Connect",请考虑以下选项:
- 如果AD DS帐户是一个或多个本地AD特权组的成员,请考虑从这些组中删除AD DS帐户。
- 如果本地AD管理员先前在adminSDHolder对象上为AD DS帐户创建了允许"重置密码"操作的控制访问权限,请考虑删除它。
- 可能并不总是可以删除授予AD DS帐户的现有权限(例如,AD DS帐户依赖组成员身份来获得其他功能所需的权限,例如密码同步或Exchange混合写回)。考虑在adminSDHolder对象上创建DENY ACE,禁止AD DS帐户具有"重置密码"权限。
使用Windows DSACLS工具创建DENY ACE:
|
|