一、摘要
AD(Active Directory)域中高权限用户的凭据泄露是最常见和严重的风险之一,实战中被攻击者利用会迅速导致域控失陷。本文介绍了现阶段可以从技术层面和管理层面遏制这类风险的技术方法和管理模型。
二、AD域登录会话威胁
AD 域作为企业内网的管理方案,涉及的用户、主机、服务器等资产类型复杂且数量众多。因此AD域中往往有各类不同权限的管理员,在域中运行管理服务、执行管理任务等日常运维任务。这些管理员和AD域中被管理的大量普通用户在同一个网络中,几乎不会有额外的网络隔离。这意味着,即使在额外注意的情况下,这些管理员也常常会和普通用户产生关系,导致管理员权限可能被窃取。
最常见的场景是,管理员因为各种原因,登录了普通用户也可以登录的主机,这个普通用户就可以通过提取这个主机上缓存的凭据,获得管理员的权限。实际情况往往更严峻一些,通常是一个权限很大的管理员在域中的各个主机上登录,来完成各种任务。出现这种情况的一个主要原因是管理员通常意识不到高权限的账号登录了普通用户可以登录的主机会产生什么风险,更不会注意到,如果已经登录后,如何安全退出才可能规避风险。我们发现这类登录会话的凭据泄露是AD域中非常常见且严重的一个风险。
下图是绿盟科技智能化AD域安全风险评估系统,在真实环境中分析的单个域管账号登录大量主机案例的可视化展示:
三、登录会话凭据泄露探究
在Windows环境中,用户成功登录时,将生成各种凭据并将其存储在系统服务 LSASS 进程的内存中。这个特性主要是用来帮助用户在初次输入登录凭据后,系统可以使用缓存的凭据无缝访问其他需要认证的网络资源,如文件共享、Exchange Server 邮箱,避免在访问其他服务时频繁要求用户输入凭据。
LSASS 会缓存登录凭据的登录方式有:
- 登录到计算机上的本地会话或 RDP 会话
- 使用“运行方式”选项运行任务
- 在计算机上运行活动的 Windows 服务
- 运行计划任务或批处理作业
- 使用远程管理工具在本地计算机上运行任务
LSASS 缓存的用户凭据,直到用户注销或者系统重启才会从内存中清除,需要注意的是仅断开连接而不注销并不会清除该用户的凭据。缓存在 LSASS 进程内存中的用户登录凭据,在清除之前,都可能被其他可以登录该主机的用户从内存中提取,导致缓存用户凭据的泄露。
四、登录会话凭据的一些保护措施
微软发布了各种补丁和系统机制,从凭据缓存与否、凭据存储方式、凭据缓存进程保护等多个方面来最大限度的避免凭据泄露,重要的措施有如下三个:
KB2871997补丁,这个补丁对凭据保护的各方面进行了加固,比如内置的“受保护的组”中成员在一些情况下不再缓存凭据、添加了用户在 RDP 登录时受限的管理员模式、修复之前即使注销后也可能不会清除缓存凭据的问题等等。
LSA Protection机制,为 LSASS 启用这种保护可以保护缓存凭据被获取,但只能有限的保护,使用 Mimikatz 等工具加载驱动后可以解除这种保护。
Windows Defender Credential Guard机制,从 Windows 10 开始,引入了这种专门用来保护用户凭据的机制,这种机制使用两个 LSASS 进程,一个只用来和用户交互,不存储凭据,一个运行在虚拟化进程中专门保存用户凭据,这种方式也可以有限的保护缓存的凭据,但也可被绕过。
现代Windows操作系统已经有很多系统机制保护凭据,但仅仅从系统机制上无法解决这类凭据窃取攻击,因为此类攻击面主要是由AD域运行过程中管理员的实践操作引起的。对此,微软设计了一套分层管理模型来管理用户的登录会话,减少登录会话凭据被窃取的可能。
五、分层管理模型
分层管理模型是一个专门针对AD域中遏制权限提升的管理模型。其核心思想是根据不同对象(如普通用户、服务管理员、域管理员等)的职责和业务资产的重要性,分配不同的权限,并将这些权限划分为多个层级。通过一系列管理措施和技术策略,严格限制不同层级对象之间的登录活动,特别是限制了权限较高的对象登录权限较低的资产。
一般而言,较低权限的层级拥有更多的资产,但其安全级别较低,攻击面更广。通过限制登录,可以最大限度的确保安全级别相对较低层级资产的失陷不会影响到高层级的资产,从而避免攻击者通过控制低层级的对象,迅速控制整个AD域。
- Tier 0 : 林管理员,能够直接或间接的控制林、域、域控的对象
- Tier 1 : 服务管理员,能够直接或间接的控制单个或多个服务的对象
- Tier 2 : 工作站管理员,能够直接或间接的控制单个或多个工作站的对象
通过权限分层和限制登录,可以从根本上有效地防止高权限层级的权限泄露,大量减少低权限层级到高权限层级的攻击路径,从而减少高权限层级的攻击面。但在具体实践过程中,该模型也存在一些难点,比如需要根据AD域的实际情况进行分层,而且在AD域的日常运维中,需要从管理层面和技术层面,严格遵循这个模型的策略,对企业来说会增加不少的管理成本。
通过权限分层和限制登录,可以从根本上有效地防止高权限层级的权限泄露,大幅减少低权限层级到高权限层级的攻击路径,从而降低高权限层级的攻击面。但是,在实际实施中,这一模型也面临一些挑战。首先,需要根据实际情况对AD域进行合理的分层,这要求深入了解组织的业务需求和安全风险。其次,在AD域的日常运维中,必须严格遵循这一模型的策略,这可能会增加管理成本
在这套模型的基础上,微软进一步演化出了一套企业访问模型(Enterprise access model),不再仅针对 AD 域环境,而是一套涵盖了本地、云、内部、外部等多个方面,以满足现代企业用户访问管理的全面需求。提供更广泛的访问控制和管理策略,以适应企业日益复杂和多元化的IT环境。
主要特点和优势包括:
- 控制平面对应 Tier 0,解决访问控制的所有方面
- 管理平面和数据/工作负载平面对应 Tier 1,主要是针对企业范围内重点业务和关键系统的 IT 管理
- 用户/程序接入访问对应 Tier 2,内外部用户/程序的访问管理
在中大型的 AD 域中,管理和控制各类用户的访问方式、凭据以及权限并非易事。只有在技术层面和管理层面共同作用下,才可能有效缓解此类安全风险导致的攻击面。然而,由于AD域的动态变化,企业仍需要定期监控和检查 AD 域中的此类安全风险。我们也研发了智能化AD域安全风险评估系统,拥有检测此类威胁的能力,同时也支持依据分层管理模型识别和评估风险。
智能化AD域安全风险评估系统,由绿盟科技天元实验室基于多年AD域攻防和身份安全威胁研究积累研发,具备全面的AD域风险识别量化评估和威胁暴露面管理能力,结合行业领先的APM攻击路径管理技术,能够以攻击者视角挖掘系统内潜藏的攻击链路,帮助用户理解安全风险和影响。在攻防演练前期,我们也帮助了多个客户发现了很多重大的安全隐患并协助完成了系统加固。
版权声明
本站“技术博客”所有内容的版权持有者为绿盟科技集团股份有限公司(“绿盟科技”)。作为分享技术资讯的平台,绿盟科技期待与广大用户互动交流,并欢迎在标明出处(绿盟科技-技术博客)及网址的情形下,全文转发。
上述情形之外的任何使用形式,均需提前向绿盟科技(010-68438880-5462)申请版权授权。如擅自使用,绿盟科技保留追责权利。同时,如因擅自使用博客内容引发法律纠纷,由使用者自行承担全部法律责任,与绿盟科技无关。