学习记录2-Kerberos协议

前言:

kerberos协议和其他的协议一样,本质上就是一个域环境认证约定俗成的规矩!但是有一个特别的点的是,kerberos协议的认证除了通信双方以外,还有一个第三方KDC来对双方身份进行验证!而keberos的主要问题其实就是如何证明双方我就是我自己的一个过程!而学习这一个协议要搞明白的点主要为Kerberos的默认用户、认证的流程、黄金票据和白银票据

认证的流程:

KDC(Key Distribution Center)密钥分发中心,默认安装在域控之中,包括AS和TGS
AS(Authentication Service) 身份验证服务,用于KDC对Client认证,认证通过就会给一张TGT(Ticket Granting Ticket)给Client
TGS(Ticket Granting Service) 票据授予服务 将Client从AS中拿到的TGT换成能够访问Server的票据
krbtgt:创建域时系统自动创建的账号,发放票据时回使用它的密码

Client <==> AS

用户输入自己的账号和密码的时候,Client端会发送AS_REQ,里面包含使用被哈希函数加密的用户密码值进行对称加密的时间戳以及Client-info、Server-info等数据,以及一些其他信息。当KDC接收到AS_REQ后,通过Clent-info调出用户的密码解开时间戳,如果成功解开并且时间差不大证明身份验证成功(防止被黑客嗅探并进行重放攻击,因此我们会要求域的时间一致,而这也是为什么我们能够利用时间来确定域!)此时的AS会向Client发送AS_REP,里面包含用户NTLM-Hash加密的密钥Session-key(AS)和用Krbtgt的NTLM-Hash加密的TGT!

Client <==> TGS

Client接收到AS_REP后,通过自己的NTLM-Hash破解session-key来验证(TGT是用krbgt的,Client无法破解)!通过验证后会将解密得到的Session-Key(AS)保存在本地,如果需要访问某个服务就可以将Session-key(AS)加密时间戳、Client-info、Server-info等数据并且和TGT发送给TGS!TGS利用krbtgt的HTLM-Hash解密TGT获取session-Key(AS)和时间戳,并利用此解开Session-Key加密的部分进行对比,验证成功且时间在一定的范围内即返回TGS_REP!主要包含用Session-Key(TGS)加密时间戳、Client-info、Server-info的ST,和用Session-Key(AS)加密的Session-Key(TGS)等

Client <==> Server

Client接受到TGS_REP后,通过存在在本地的Session-Key(AS)解密得到Session-Key(TGS),并且将Session-Key(TGS)和ST缓存到本地为以后访问对应服务的时候使用!利用Session-Key(TGS)加密对应的时间戳、Client-info和Server-info等信息,然后和ST一起发送给服务器。剩下的就和上面的一样,服务器用自身的HTLM-Hash解开ST,得到Session-Key(TGS)并解开Client加密的数据来进行对比和验证,通过即验证成功

总结

其实这个协议,总结起来还是那句话,向双方证明我就是我自己的过程。所以你会发现在无论是AS或是TGS,返回都会包含两部分,一部分是票据用来换取服务,另一部分用来验证双方的身份!他们的过程就是KDC用Clien的锁(HTLM-Hash)加密了另一个锁(Session-Key),而另一部分是用KDC才有钥匙的锁加密的箱子(票据)!Clien拿到返回后,只能用现有的钥匙(HTLM-Hash)开其中一个箱子,打开发现是一个锁(Session-Key),由于通信还未结束,Client便用这把锁(Session-Key)把我们想要东西进行加密并且和最开始的箱子(票据)一起发送!由于最开始的箱子是KDC的锁加密,所以KDC解开就能够拿到锁(Session-Key)的钥匙,再用钥匙(Session-Key)进行解密Client发过来的东西。

拓展

黄金票据 -->黄金票据的本质就是伪造TGT票据来绕过权限验证!但是从刚开始的了解也应该知道,黄金票据利用的前提其实就是你必须得获得krbtgt的HTLM-Hash值!而主要的场景应用是你在某些情况下域控丢失但是管理员没有修改krbtgt用户的密码,这个时候可以利用黄金票据重新获取权限。

白银票据-->白银票据的本质是伪造ST票据,但是伪造只对部分服务起作用!因为白银票据依赖于服务账号的HTLM-Hash值,与黄金票据不同。

posted @ 2021-11-28 13:57  一肚子回锅肉  阅读(93)  评论(0编辑  收藏  举报