为何Kerberos黄金票据无需用户密码哈希即可生效?
黄金票据攻击无需用户会话密钥的原因
要搞懂这个问题,得把黄金票据的作用和Kerberos的核心验证逻辑拆透:
黄金票据伪造的是TGT,不是TGS
你提到的步骤5是用户持TGS票据访问目标服务,但黄金票据攻击的环节在请求TGS票据之前——攻击者跳过了向AS(认证服务器)申请TGT的步骤,直接伪造出一张KDC会认可的TGT(票据授予票据)。krbtgt哈希是TGT的“防伪核心密钥”
正常流程中,AS会用krbtgt账户的密钥加密TGT,里面包含用户身份、用户与KDC之间的会话密钥等信息。KDC验证TGT合法性的唯一标准是:用krbtgt的密钥能正常解密票据,且内容格式合规。
攻击者拿到krbtgt的NTLM哈希后,就掌握了加密/验证TGT的核心权限,完全可以自行设定虚假用户身份(比如域管理员)、生成一对用户与KDC的会话密钥,再用krbtgt哈希把这些信息加密成一张“看起来完全合法”的TGT。攻击者自己掌握伪造TGT内的会话密钥
这张伪造TGT里的会话密钥是攻击者自己生成的,所以他完全知晓密钥内容。当他把伪造的TGT发给KDC的TGS服务时,同时发送的认证信息就是用这个会话密钥加密的。KDC解密TGT后拿到里面的会话密钥,用它解密认证信息就能匹配通过,随后会给攻击者下发目标服务的TGS票据。全程绕开原用户的身份验证环节
整个攻击过程根本不需要用到原用户的密码或对应会话密钥——攻击者直接伪造了KDC信任的TGT,相当于拿到了一张能直接向KDC索要任意服务票据的“通行证”,完全跳过了AS对用户身份的验证步骤。
内容的提问来源于stack exchange,提问作者salzek
相关产品推荐
相关产品推荐

