简介
Kerberoasting 利用 Kerberos 身份验证流程的合法性,从服务票据中脱出服务账号凭据,成为对 Active Directory 环境极具威胁性的后渗透手法。本文深入剖析攻击流程、为何多数组织难以察觉,并给出可立刻实施的检测与防护策略(包括审计配置、加密与服务账号管理等),帮助你堵住可视性盲点、降低被攻陷风险。
关键词
- Kerberoasting
- Kerberos 服务票据
- Service Ticket
- Active Directory 安全
- 服务账号管理
- TGS(Service Ticket)请求
- RC4 / AES 加密
- SPN(Service Principal Name)
- 审计与检测(Event ID 4769)
- gMSA / dMSA 密码轮换
- 行为分析与异常检测
- Lepide Auditor / AD 审计
Kerberoasting 是一种已被广泛讨论的后渗透技术,安全社区熟知其工作原理。但由于它利用的是 Kerberos 的正常功能,并在请求和提取服务票据(Service Ticket)时很难被常规检测手段区分,许多真实环境仍然存在被攻陷的风险。 什么是 Kerberoasting?
Kerberoasting 是一种典型的后渗透攻击,专门针对 Kerberos 身份验证系统(AD 环境中的一种身份验证机制)。攻击者无需提升权限或植入恶意软件,就能获得服务账户凭据。当某个账户关联有服务主体名称(SPN,Service Principal Name)时,攻击者就能利用任何已认证域用户请求服务票据的能力。 随后,攻击者可将这些服务票据带回脱机状态,尝试使用服务账户密码的哈希值进行暴力破解,从而获得明文凭据。
Kerberoasting 攻击流程如何运作? 以下是 Kerberoasting 的详细步骤:
- 初始访问:攻击者首先入侵一个合法的域用户账户(通过网络钓鱼、系统漏洞或先前获得的凭据)。关键的一点是:一旦认证用户账户被利用,后续流程就可启动,无需管理员特权。
- SPN 枚举:攻击者使用例如 PowerShell 的 Get-ADUser 等工具枚举域内的所有 Service Principal Name。服务账户在 Active Directory 中由 SPN 唯一标识,而这些账户通常是 Kerberoasting 的目标。
- 请求服务票据:攻击者向识别出的 SPN 请求 Kerberos 的 Ticket Granting Service (TGS) 票据。服务账户密码的哈希值被用来加密这些票据。因为任何已认证用户都能请求 TGS,故攻击初期难以被察觉。
- 提取票据:攻击者使用工具从系统内存或 Kerberos 票据缓存中提取 TGS 票据,并保存以供脱机分析。
- 脱机破解:使用各种工具脱机对提取的票据进行暴力或字典攻击,以恢复服务账户的明文密码。因该过程在线下执行,被检测的概率较低。
- 权限提升:一旦服务账户凭据被攻破,攻击者可冒用该账户,获得更高权限,在网络内横向移动并窃取数据。
为什么大多数组织无法检测到 Kerberoasting? 尽管 Kerberoasting 潜在危害极大,但多数组织仍无察觉,主要原因包括:
- 利用合法 Kerberos 功能:攻击者的行为与合法域用户请求 TGS 的行为无异。域控制器按例回应,生成大量 Event ID 4769 日志。许多安全运营中心 (SOC) 将 TGS 请求激增视为噪声,而没有进行深入分析。
- 无需提升权限或恶意软件:攻击不需要管理员权限或恶意软件。许多 SOC 团队对 AD 内部机制缺乏深入理解。票据加密类型、票据选择、SPN 属性等可能未被日志记录。
- 可视性差:大多数 SOC 团队对 AD 内部访问有限,且往往删除“无用”告警。SIEM 系统难以识别诸如 RC4 加密使用或单一服务器大量 TGS 请求等可疑行为。日产生数千条 Kerberos 日志,如无明确异常规则,恶意活动易淹没。
- 加密弱:许多环境仍允许使用 RC4-HMAC 等老旧加密方式,其破解难度较低。服务账户密码长期未变更,当与 RC4 配合,又进一步降低破解难度。
- 缺乏行为检测:因缺少行为分析监控,攻击者得以迅速请求数十个 SPN 。在多数系统上,合法用户几乎不会如此操作。很多团队缺乏人力或资源来分析海量 Kerberos 日志并构建行为检测系统。
Kerberoasting 的检测与防护策略 以下是可层叠实施的检测与防护策略:
- 启用审计:在组策略中配置 “Audit Kerberos Service Ticket Operations” 审计设置,对于分析 Kerberos 活动至关重要。启用后,每台域控制器都会记录 Event ID 4769(TGS 请求)和 Event ID 4770(票据续期)日志。若未启用审计,安全团队将错过每天数千次的 Kerberos 请求。务必同时跟踪 SPN 、请求用户、所用加密算法(如 RC4 或 AES)。
- 监控异常票据活动:在 SIEM 平台中监控异常 Kerberos 行为,如客户端非预期的 TGS 请求激增(4769 事件)、以及使用 RC4 等薄弱加密方式的票据。RC4 的出现本身就是潜在被攻破信号,因为现代系统通常不会使用它。
- 强化服务账户管理:Kerberoasting 主要针对服务账户凭据。建议强制使用长度超过 25 字符的随机密码,定期(如每 30-90 天)更换密码。考虑使用 dMSA (Delegated Managed Service Accounts)与 gMSA (Group Managed Service Accounts),这些可生成并自动轮换超长(100 字符以上)复杂密码。确保证券账户及域控制器使用 AES 加密,并禁用 RC4,从而大幅增加线下破解难度。
- 限制服务账户权限:遵循最小权限原则,仅授予服务账户必要访问权限。SPN 仅应绑定至预定用途、且不得与有额外特权的用户账户混用。减少绑定于账户的 SPN 数量,可降低攻击面及被攻陷后造成的影响。同时,这也让攻击者的横向移动和权限提升难度增加。
- 强化 Kerberos 配置:移除任何遗留且不安全的加密算法(如 RC4、DES),确保所有用户账户只使用 AES。调整 Active Directory 设置,如 Default Domain Supported Enc Types 与 msDS-SupportedEncryptionTypes,杜绝后退加密选项。将关键身份相关账户放入 “Protected Users” 组,启用 Kerberos 强化(也称 FAST 策略)以缓解弱加密风险。
- 提升可视性与响应能力:集中收集所有域控制器的 Kerberos 日志,消除盲区。要分析可疑行为,应将 TGS 请求(4769)与登录事件(4624)、票据申请(4768)和失败事件(4625)结合分析。为弥补可视性不足,应训练 SOC 分析师识别 Kerberoasting 指标,如 SPN 枚举、票据激增、RC4 使用。
结论
Kerberoasting 之所以仍然是对 Active Directory 环境的持续威胁,主要因为它利用合法身份验证流程悄然进行。任何已认证用户即可发起攻击,无需恶意软件或管理员权限,因此传统安全工具和团队往往难以察觉。
尽管该攻击方式被充分记录,但由于加密薄弱、服务账户密码长期不变、SPN 活动缺乏监控,许多组织依然脆弱。真正的突破在于检测到行为异常(如 TGS 请求突然激增、RC4 加密广泛出现)并补齐可视性盲区。
好消息是:若企业采取正确的审计机制、加密策略和主动监控措施,Kerberoasting 是可防可控的。通过理解攻击原理及可视性空缺,组织就能构建更强防线,使这一技术大大失效。 如果你希望降低此类风险,并对抗类似威胁,就从堵住这些盲点开始,同时确保你的 AD 监控工具具备相应能力。
Lepide 如何提供帮助
Lepide Data Security Platform 是一款针对 Active Directory 审计的解决方案,专门应对 Kerberoasting 风险。
- 它监控服务主体名称(SPN)的变更,如果发现未经授权的修改,会发出告警。
- 若检测到可疑活动,它甚至可执行脚本快速禁用账户,从而阻止 Kerberoasting 攻击的发生。 使用 Lepide,组织能够主动防御并监控其 AD 环境的安全态势。 如你想了解 Lepide 如何提升你的 Active Directory 安全性,可联系我们下载免费试用版 或预约产品演示。