防范kerberos金票攻击的核心是阻止攻击者获取krbtgt账户ntlm哈希:必须两次轮换krbtgt密码(间隔≥10小时)、禁用wdigest明文缓存、停用rc4并强制aes加密与fast、严格限制dcsync权限。
防范kerberos金票攻击,核心不是拦截票据,而是让攻击者拿不到krbtgt账户的ntlm哈希——这张“万能门票”的唯一签名密钥。
强制两次轮换krbtgt密码
krbtgt哈希一旦泄露,金票可长期有效(默认10年),单次重置无法清除所有DC缓存的旧密钥。
- 第一次重置后,必须等待至少10小时(确保AD复制完成、旧TGT自然过期)
- 再执行第二次重置,彻底覆盖新旧密钥
- 用PowerShell验证:
Get-ADUser krbtgt -Properties PasswordLastSet,确认两个时间戳均更新 - 避免在业务高峰操作,但间隔不足4小时即视为防护失效
禁用WDigest明文凭据缓存
WDigest会在内存中保存用户明文密码或NTLM哈希,攻击者通过Mimikatz可直接提取,为后续DCSync铺路。
- 组策略路径:计算机配置 → 管理模板 → 系统 → 凭据分配 → 不在WDigest身份验证中使用凭据
- 或手动设置注册表:
HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest\UseLogonCredential = 0 - 策略需重启生效,部署后务必检查终端注册表值是否为0
停用RC4、强制AES加密并启用FAST
RC4_HMAC_MD5密钥易被离线破解,而AES256大幅提高伪造成本;FAST(Kerberos armoring)可防御中间人和重放攻击。
- 组策略启用“要求AES加密”,同时禁用RC4
- 开启Kerberos armoring(FAST):需域功能级别≥Windows Server 2012 R2,并配置PKINIT支持
- 注意兼容性:启用AES后,Windows XP/Server 2003等老旧系统将无法认证
严格限制DCSync权限
DCSync是获取krbtgt哈希最主要手段,但默认权限常被过度放宽。
- 仅保留Domain Admins、Enterprise Admins和Schema Admins拥有
DS-Replication-Get-Changes权限 - 审查备份操作员、服务账户、自定义高权限组,移除不必要的复制权限
- 定期用PowerShell审计:
Get-ADObject -Filter {objectClass -eq "user"} -Properties msDS-AllowedToDelegateTo | Where-Object {$_.msDS-AllowedToDelegateTo}











