导语:我们发现了一个Azure AD Connect软件配置AD DS目录同步帐户(MSOL)的漏洞,由于不正确的默认配置而导致网络中存在了大量不需要的隐形管理员。
前言
最近,我们审查了一个客户的网络,发现网络中85%的用户有一些不必要的管理权限。这种过度的特权来源于这些用户间接属于一个受保护的管理组。大多数Active Directory审核系统在用户权限过高时都会预警,但通常会忽略那些通过域访问控制列表(DACL)配置直接提升了权限的用户,我们称这些用户为隐形管理员。
在进一步调查隐形管理员时,我们发现当客户在混合部署中使用Azure AD Connect软件安装Microsoft Office 365时,出现了令人惊讶的问题。我们发现了一个Azure AD Connect软件配置AD DS目录同步帐户(MSOL)的漏洞,由于不正确的默认配置而导致网络中存在了大量不需要的隐形管理员。此漏洞影响部署了Microsoft Office 365的企业,具有本地Active Directory,并使用Azure AD Connect连接本地和云(混合部署)。
在文章中我们将讨论:
· 了解隐形管理员
· Azure AD Connect帐户漏洞的细节
· 谁受到影响
· 如何利用隐身管理员
· 组织如何保护自己
· 检测风险的免费工具 Preempt Inspector Tool
链接中的视频简要介绍了保护组织所需采取的方法步骤。
隐形管理员
要使组织更安全,一个重要原则是最小特权。这个原则的核心是确保组织中的每个人(或任何其他实体)拥有执行其任务所必需的最低权限。即使这个原则应用得很好,一些用户也将会负责管理组织的网络,并在网络中执行任何操作。在Microsoft Active Directory域中,此类用户就是域管理员。通常,用户通过成为预定义安全组的成员而获取域管理员权限。相关资料可以在这里查阅。
通过ACL管理的Microsoft权限模型非常复杂。它包含嵌套结构、复杂的权限规则、自定义对象权限以及诸多其他细节。
一个有趣的属性——即使用户不是任一受保护的安全组的成员,也可获得有效的域管理权限,这就是隐形管理员。
用户可能因拥有的诸多权限而等同于完整的域管权限,甚至更高权限。在不深入研究技术细节的情况下,下面列举了若干可以使用户成为隐形管理员的示例:
· 加入组——某些用户/组具有将users添加到给定安全组的特定权限。听起来很奇怪,用户有权将users添加到受保护的Domain Admins组(或类似权限的其他组)。
等价方法:用户可以在任何节点使自己成为域管理员。
· 重置密码 ——用户/组具有重置另一个用户密码的特定权限。
等价方法:同样,虽然很奇怪,非管理员具有特定的权限来重置管理员密码,并使用新密码进行登录。
· 复制域——更有趣的权限是复制域的权限。该权限通常包括从域控制器读取所有口令哈希的权限。
等价方法:一旦你获得管理员的口令哈希,你可以用它来执行管理操作。 (你可能会发现这个事实非常有趣,因为许多软件包需要这个特定的权限!)
隐形管理员在企业中很普遍。事实上,没有隐形管理员的网络很少。那么,隐形用户是如何“诞生”的呢? 大多数情况下,它们是在没有任何恶意的情况下作为某些软件包安装过程的一部分而创建的,还有一些是因管理员遵循最低权限准则的某些特定业务需求而创建的,但却忘记跟踪并删除它们。
Azure AD Connect帐户中的漏洞(MSOL)
最近,我们遇到了一个非常值得关注的例子,就是有超过50%的客户与Azure AD Connect帐户进行关联(在使用快速设置进行安装时)。Azure密码同步用作Azure AD的本地扩展,作为在本地网络和云服务之间同步密码的一种方式。 因此,显然它需要域复制权限来提取密码。我们认为这种配置是有问题的,原因有两个:
首先,如前所述,即便这些账户具有相对较高的权限,通常也不像域管理员那样受到监控。
但更严重的问题是该帐户没有 AdminSDHolder保护。由于此用户不属于管理员,因此不具有AdminSDHolder保护,并且可以让其他非特权用户重置其密码。在很多网络中,我们发现这个帐户是攻击者的主要攻击路径,攻击者可利用此帐户权限,可以提升他们的权限并成为域管理员。
想象一下,服务台技术人员有权重置非管理员密码,但没有其他域管理员权限。由于MSOL帐户是在内置用户容器下生成的,并且内置Account Operators 组(例如helpdesk团队)有权重置内置用户容器的密码,因此Account Operator可以实际访问域密码以及其他提升权限(例如域管理员)。我们提供了一个视频,演示如何利用Azure AD connect 漏洞。
谁受到影响?
所有混合部署Microsoft Office 365且拥有本地Active Directory的企业都使用Azure AD Connector连接本地和云。这会影响到很多企业,甚至成千上万。
隐身管理员如何被利用
我们认为隐形管理员是一个安全问题,原因有二:首先,这些用户经常被忽视,而且没有跟管理员帐户一起统一管理,即便他们具有管理权限。另外,由于这些用户不是通过常规安全组获得权限,所以他们有可能被错误地授予权限,甚至更严重地被恶意的人利用。今年,有两个报告公布了创建隐形管理后门的新技术(一个在BlackHat ,一个在DEF CON)。最后,由于隐形管理员缺乏可见性和保护,这就增加了攻击面,因为他们的凭证同管理员一样可以被获取和利用。
MSRC对漏洞的回应
Microsoft承认此问题并已发布Microsoft安全通报4056318和PowerShell脚本,此脚本通过调整Active Directory域帐户的权限来修改AD DS同步帐户(MSOL)的属性来解决此漏洞。以后,使用快速设置进行Azure AD Connect安装时,只有域的企业管理员、域管理员和内置管理员才能修改MSOL帐户(例如,重设密码)。
Preempt客户
自10月以来,Preempt客户一直保护自己免受这一漏洞攻击。他们收到了有关在网络中发现隐形管理员的警报,以及从这些用户检测到可疑行为时的实时预防。客户可以联系[email protected]了解更多详情。
组织如何保护自己
隐形管理员对组织的安全状况构成风险。为了保护您的网络,我们建议:
1、查看网络中的所有隐形管理员。作为Preempt平台的一部分,Preempt提供了对隐形管理员的审查。Preempt还提供免费工具Preempt Inspector,来评估网络安全,包括隐形管理员评估。
2、对于每个隐形管理员,确定是否有必要增加权限。如果没有,则应删除这些权限,否则,我们建议将用户添加到某个个Active Directory受保护的组。具体而言,对于AD DS目录同步帐户(MSOL),请使用Microsoft提供的PowerShell脚本修复。对于其他帐户,可以直接从Preempt平台查看和管理所有管理权限。
3、您应该通过增加保护来保护特权用户(已知的和隐形的)。使用Preempt平台,可以依据ID、行为和风险(来自任一具有任何级别权限的用户,包括隐形管理员)自动响应可疑行为。根据风险和策略的等级,用户可能被要求核实其身份。