Active Directory安全指南:深入解析KRBTGT域Kerberos服务账户
域Kerberos服务账户KRBTGT是一个重要账户,因为它用于签名和加密Kerberos票据。该账户被禁用,且密码仅在从Windows 2000/2003升级到Windows Server 2008(或更新版本)时才会更改。这是一个高权限账户,如果攻击者能够获取该账户的密码哈希(或密码),他们就可以创建伪造的Kerberos票据(即Golden Tickets)。大多数AD林中的此账户仍使用旧密码。
KRBTGT账户存储两个密码:当前密码和先前密码,并同时检查两者以验证Kerberos票据。这意味着要确保KRBTGT密码完全更改,必须更改两次密码。如果攻击者能够获取与KRBTGT账户密码一样旧的DC备份(例如15年前),那么即使备份已有15年历史,他们也可以破坏环境!
我们可以使用“msds-keyversionnumber”属性来确定KRBTGT密码已更改的次数。公式n – 2可用于计算密码更改次数。如果该值为2,则表示自域创建时设置以来未更改过。如果值为9,则表示已更改7次(9 – 2 = 7)。有时该值非常大,例如100003。在这种情况下,我们仅使用最后一位数字(3)来计算更改次数:n – 2 = 1,因此已更改1次。建议先更改一次密码,等待至少一周,然后再次更改密码。设置密码时,DC上的进程实际上会将KRBTGT密码更改为完全随机的密码。
用于报告当前域KRBTGT账户的PowerShell代码:
|
|