Kerberoasting攻击详解
2024年5月,Ascension Health系统遭到勒索软件攻击,攻击者通过滥用Microsoft Kerberos中的RC4支持破解了受保护数据库。一年后,美国参议员Ron Wyden敦促FTC调查Microsoft的安全默认设置,引用Ascension事件证明Kerberoasting让攻击者能够通过破解服务账户密码窃取域管理员凭证。
IBM的2025年X-Force威胁情报指数发现,2024年所有入侵事件中有30%涉及被盗或滥用的凭证,使身份攻击成为主要入口点。
Kerberoasting是一种后利用技术,域用户请求服务主体名称(SPN)的服务票据,收到使用服务账户密码哈希加密的票据,攻击者离线破解它以冒充该账户。本指南解释Kerberoasting为何复苏、工作原理、监控内容以及如何防御Active Directory。
Kerberoasting复苏的原因
Kerberoasting在2024-2025年仍然流行的原因包括:
-
传统加密和弱密码 许多Active Directory环境仍允许RC4加密。当服务票据使用RC4时,密码哈希来自账户的NetNTLM哈希,比新的AES哈希更容易暴力破解。在Ascension泄露事件中,攻击者利用RC4票据破解特权服务账户。Microsoft计划在2026年逐步淘汰RC4,意味着许多网络今天仍然暴露。
-
被忽视的服务账户 服务账户通常属于核心应用程序且很少轮换。这些账户通常具有提升权限且几乎永不过期;破解一个可能危及整个AD域。攻击者枚举与此类账户关联的SPN,因为管理员可能忘记它们,使其容易受到密码破解。
-
离线破解和低权限 任何经过身份验证的域用户都可以请求服务票据并导出它们,无需提升权限。破解发生在离线状态,因此网络监控工具无法看到暴力攻击。这使得Kerberoasting有吸引力,因为它逃避检测且可在初始入侵后使用最小权限执行。
-
凭证窃取和横向移动 一旦服务账户被破解,对手可以冒充它,遍历域,并最终成为域管理员。攻击者还将Kerberoasting与其他后利用技术(如Pass-the-Hash和Golden Ticket攻击)链接以维持持久性。随着对手针对身份而非机器,Kerberoasting完美融入更广泛的凭证窃取活动。
-
事件提高意识 像Ascension攻击和Wyden参议员信函等公开披露引起了对Kerberoasting的关注。威胁研究人员和执法部门现在报告滥用票证授予服务(TGS)票据的情况增加。广泛漏洞和攻击者兴趣增长相结合,意味着组织需要开始将Kerberoasting视为严重威胁。
Kerberoasting工作原理 - 逐步说明
理解Kerberoasting需要快速回顾Kerberos身份验证协议。Kerberos使用票据证明用户身份,无需通过网络发送明文密码。当用户登录时,他们请求票证授予票证(TGT)。身份验证服务器然后验证凭证并发放TGT。
之后,当用户想要访问服务时,他们使用TGT请求特定SPN的TGS票据。TGS票据使用服务账户的密码哈希加密,并记录为Windows事件4769。客户端将此票据呈现给应用程序服务器进行身份验证和访问。
Kerberoasting攻击在五个阶段操纵此过程:
-
域用户入侵 攻击者首先通过网络钓鱼、恶意软件或购买凭证入侵域用户账户。Kerberoasting不需要域管理员账户,可以使用任何有效域用户凭证启动。这使其成为可访问的后利用技术。
-
SPN发现和枚举 攻击者通过LDAP查询Active Directory以发现具有关联SPN的服务账户。Rubeus或GetUserSPNs.py等工具自动化此枚举。攻击者更喜欢链接到用户账户的SPN,因为它们的密码由人类选择且可能较弱。基于主机的SPN使用长随机密钥,每30天刷新一次,使其抵抗Kerberoasting。
-
请求服务票据 使用目标SPN列表,攻击者使用被入侵用户账户请求这些服务的TGS票据。因为域控制器不检查用户是否被授权访问特定服务,它按需发放票据。攻击者可以强制域控制器使用RC4加密,使后续破解更容易。
-
导出和破解票据 收到TGS票据后,攻击者从内存中提取它们并离线处理。然后他们使用Hashcat或JohnTheRipper等密码破解工具暴力破解服务账户密码。因为破解发生在离线状态,它不生成网络流量或日志,允许攻击者尝试无限次猜测而不提醒防御者。当使用RC4加密时,哈希来自NTLM密码哈希,比AES更容易破解。
-
横向移动 一旦攻击者恢复明文密码,他们可以作为服务账户进行身份验证并访问与该账户关联的任何系统或数据。服务账户通常具有提升权限,因此成功的Kerberoasting攻击可能迅速导致域范围入侵。对手然后可以横向移动,执行进一步凭证窃取并在网络中维持持久性。
检测 - 发现进行中的Kerberoasting
不幸的是,检测Kerberoasting具有挑战性,因为大部分攻击发生在域控制器之外。现有工具难以区分正常票据请求和恶意活动。Kerberoasting使用合法的Kerberos流量,密码破解阶段发生在离线状态,留下很少痕迹。然而,一些策略可以帮助网络安全专家识别可疑模式:
-
监控异常TGS请求 跟踪单个账户或特定主机请求的服务票据数量激增。观察短时间内过多的TGS请求和针对高特权账户的请求。对很少使用服务的意外请求也可能信号枚举或凭证窃取。
-
跟踪SPN枚举 LDAP查询SPN的突然激增可能表明攻击者使用PowerView或Rubeus等工具。狩猎团队应基线正常LDAP活动并调查偏差。
-
分析加密降级 攻击者可能请求RC4加密票据以简化破解。票据请求中从AES到RC4的突然转变应引发警报。Windows事件4769记录使用的加密类型,能够检测异常降级。
-
使用身份检测工具 传统防病毒产品专注于恶意软件,经常错过基于凭证的攻击。使用身份安全监控和端点检测与响应(EDR)工具,可以实时识别异常身份验证行为和票据请求模式。Microsoft Defender for Identity、CrowdStrike Falcon和其他身份分析平台可以帮助检测Kerberoasting尝试。
-
与其他指标关联 因为Kerberoasting需要先前访问,观察域用户入侵迹象,如异常登录位置、异常数量的失败登录或感染恶意软件的端点。将这些信号与Kerberos监控结合通常提高检测率。
缓解 - 如何防止Kerberoasting
防止Kerberoasting涉及减少攻击面、强化Kerberos设置和改进身份和访问管理(IAM)。
-
强化服务账户密码 服务账户应使用至少14个字符的长、复杂和随机密码,包括大小写字母、数字和特殊字符。定期轮换这些密码以限制攻击者可用时间。避免在服务账户间重用密码,确保密码更改自动更新关联应用程序。
-
禁用RC4;强制AES 管理员应考虑尽可能禁用RC4加密,确保所有服务账户支持AES 128/256位加密。使用AES产生更强的密码哈希,使暴力攻击更耗时。如果RC4不能立即移除,限制其用于可信主机并监控使用它的请求。
-
从人工账户移除SPN 在软件安装期间,开发人员有时将SPN分配给用户账户。从人工账户移除SPN并使用专用服务账户或组托管服务账户(gMSA)。这样做防止攻击者破解从未打算用作服务凭证的密码。
-
最小权限原则 减少与服务账户关联的权限,使入侵影响有限。除非绝对必要,避免使服务账户成为域管理员或其他高特权组成员。在可能情况下,限制服务账户到特定主机或功能。
-
更短票据寿命 降低票据寿命缩短捕获票据保持有效的时间窗口。启用Kerberos预身份验证强制客户端在接收票据前证明身份,阻碍离线密码猜测。
-
审计和轮换服务账户 定期审计Active Directory中未使用或不必要的SPN。移除或禁用旧服务账户,每月审查权限并维护服务账户密码轮换计划。
防御团队的工具和最佳实践
另一个有用想法是安全团队熟悉与Kerberoasting相关的进攻和防御工具:
-
进攻工具 ADRecon、PowerView和BloodHound帮助枚举Active Directory对象和可视化权限关系,让网络安全专家了解攻击者如何通过环境移动。PowerSploit中的Kerberoast模块、GetUserSPNs.py和Rubeus自动化SPN枚举和票据提取,演示启动Kerberoasting攻击多么容易。
-
防御工具 EventSentry和ELK Stack可以收集和关联Windows事件4769日志以检测异常票据请求。Microsoft Defender for Identity、CrowdStrike Falcon、BeyondTrust的统计检测工具和其他身份分析平台监控身份验证行为并标记异常。SIEM系统应聚合Kerberos票据日志、域控制器审计和端点遥测以实现交叉关联。
-
配置最佳实践 从域中移除不必要的SPN,每月审查服务账户并立即禁用未使用账户。创建定义审计TGS票据和轮换密码频率的剧本。使用gMSA并限制服务账户范围到最小主机和权限集。在可能情况下,限制服务账户仅支持AES加密。
-
威胁狩猎 使用主动威胁狩猎寻找低慢速Kerberoasting尝试。在事件响应情况下,隔离被入侵主机,重置服务账户密码并轮换Kerberos密钥。事件后,审查日志记录,收紧密码策略并更新检测规则。
五个常见问题
以下是关于Kerberoasting、工作原理以及如何防护的一些常见问题。
-
多因素认证(MFA)能否阻止Kerberoasting? MFA单独不防止攻击,因为Kerberos票据请求使用现有有效凭证。然而,MFA限制破解密码的价值。要求特权操作和远程访问的MFA减少服务账户被入侵的影响并使横向移动复杂化。
-
成功Kerberoasting攻击的成本是多少? 财务影响通常变化。在医疗保健领域,Ascension泄露暴露560万患者记录并中断多个医院的临床操作。从此类事件恢复包括赎金支付、修复成本、监管罚款和声誉损害。因为Kerberoasting授予域范围访问,攻击者可以窃取知识产权、安装勒索软件或操纵数据,导致昂贵停机。
-
Kerberoasting与Pass-the-Hash有何不同? Pass-the-Hash攻击直接重用NTLM或Kerberos票据哈希进行身份验证而无需破解它们。Kerberoasting涉及获取服务账户的TGS票据并离线破解密码哈希。两种技术都依赖凭证窃取和密码哈希的离线使用,但针对不同的身份验证元素。像禁用NTLM、强制AES和轮换服务账户密码等防御可以缓解两种攻击。
-
哪些加密类型影响Kerberoasting难度? RC4加密使用NTLM密码哈希作为服务票据密钥,使其相对容易使用基于GPU的暴力工具破解。AES 128/256使用更强的密钥派生过程,显著增加破解时间。组织应禁用RC4和DES并配置所有服务账户仅支持AES。如果旧应用程序需要RC4,限制其使用并监控RC4票据请求。
-
组织如何测试是否易受攻击? 管理员可以在实验室环境中使用PowerView或Rubeus枚举SPN并请求服务票据。尝试使用Hashcat与字典或暴力技术破解这些票据。如果密码快速破解,实施更强密码策略并轮换账户。BloodHound等工具也帮助识别哪些服务账户具有高特权。
结论:现在应该做什么
Kerberoasting不是新颖攻击;它是Kerberos中的漏洞,最近在高调泄露中重新出现。攻击者滥用合法Kerberos功能获取加密服务票据,离线破解它们并冒充服务账户。
传统加密和弱密码卫生继续使此攻击可行。检测具有挑战性,因为活动看起来像正常Kerberos流量且破解发生在网络外部。
组织应开始审查其Active Directory。这意味着识别服务账户,使用强密码,移除RC4加密,并删除任何不必要的SPN。他们还应使用身份安全和安全监控工具跟踪票据请求并发现异常活动。
Kerberoasting不仅仅是服务账户入侵;它是数据渗漏的网关。通过使用BlackFog保护端点,组织可以防止攻击者窃取敏感数据并在网络中横向移动。