内网渗透 - 域渗透(2): 票据伪造

接上一章

下文的相关概念和术语在上一章基本都有介绍 -> 传送门

票据伪造的原理

因为整个认证过程中有使用NTLM Hash作为加密密钥,换而言之,能得到相应的NTLM Hash就能伪造相应的票据

伪造黄金票据

在第1次通讯时,服务器返回了使用TGS密钥(也就是KDC Hash/krbtgt用户的NTLM Hash)加密的TGT,当获取到TGS密钥后,便可使用该密钥生成TGT发送给给KDC,那么KDC通过解密伪造的TGS获取到伪造的SK1就可以成功解密在第2次通信中发送到服务器的用伪造的SK1加密的用户内容并且完成比对,骗过了KDC,也就是成功伪造了黄金票据

伪造黄金票据所需要的信息

  • 域名称
  • 域的SID
  • 域控制器的krbtgt账户的NTLM Hash
  • 任意域用户名

注意

制作TGT最需要的是krbtgt账户的NTLM Hash,而该信息存放在域控制器上,想要得到这个信息就需要域管理员权限。因此不难得到以下结论:黄金票据攻击并不是一种普通的攻击方式,它其实是属于一种后门攻击方法,严格来说属于二次攻击的讨论范畴。因为在拿到域控制器的权限之后就需要保存krbtgt账户的NTLM Hash,当第二次进行渗透攻击的时候就可以制作黄金票据从而获得管理员权限

伪造白银票据

用户向服务器发送的第三次通信请求中包含使用Server密钥(服务器的NTLM Hash)加密的ST。如果获取到了Server密钥,便可以伪造ST。服务器在收到请求后用自己的Server密钥解密ST并获得SK2,即可正常解密并完成比对,也就是成功伪造了白银票据

关于Service Hash

(暂不确定理解得正确与否,如有错误恳请各位斧正😊)
Service Hash其实就是目标中用户名和Hostname相同的用户的Hash;如Hostname为PC-DCPENT的服务器,对应的Hash就是Username : PC-DCPENT$的哈希