appledeveloperprogram许可协议_三步轻松理解Kerberos协议

appledeveloperprogram许可协议_三步轻松理解Kerberos协议


2023年11月29日发(作者:vivoy3手机参数)

appledeveloperprogram许可协议_三步轻松理解Kerberos协议

Kerberos是⼀种⾝份验证协议,它作为⼀种可信任的第三⽅认证服务,通过使⽤对称加密技术为客户端/服务器应⽤程序提供强⾝份验证。

在域环境下,AD域使⽤Kerberos协议进⾏验证,熟悉和掌握Kerberos协议是学习域渗透的基础。

Kerberos协议中主要的三个⾓⾊:

1.访问服务的Client

2.提供服务的Server

:密钥分发中⼼,默认安装在域控上

AS:⾝份验证服务

TGS:票证授予服务

Kerberos协议认证过程:

协议可以分为三个步骤:⼀是获得票据许可票据,⼆是获取服务许可票据,三是获得服务。

第⼀步:获得票据许可票据

KRB_AS_REQ:⽤于向KDC请求TGT

当⽤户在客户端输⼊域⽤户和密码时,客户端将⽤户密码转换为hash作为加密密钥,对时间戳进⾏加密作为请求凭据。

cipher:加密的时间戳,即客户端的当前时间与⽤户的hash加密后的结果

KRB_AS_REQ 数据包如下:

ticket:使⽤krbtgt hash加密,包含⽤户名/会话密钥和到期时间等信息.

enc-part:使⽤⽤户hash加密,包含会话密钥/TGT到期时间和随机数(防重放)

KRB_AS_REP数据包如下:

第⼆步:获得服务许可票据

KRB_TGS_REQ:使⽤TGT向KDC请求TGS

客户端获得TGT和⽤户密钥加密的enc-part,使⽤⽤户hash解密enc-part获得会话密钥(Session key),然后使⽤会话密钥将⽤户名/时间戳

进⾏加密,⽣成authenticator和TGT发送给TGS。

ticket:实质上就是⼀张TGT,客户端没有 krbtgt hash,故⽆法解密TGT.

KRB_TGS_REQ 数据包如下:

KRB_TGS_REP:通过KDC传递TGS

TGS 收到KRB_TGS_REQ请求后,使⽤ krbtgt hash解密ticket 获取会话密钥(Session key),然后使⽤会话密钥解密 authenticator 获

取⽤户名和时间戳进⾏⾝份验证。确认信息后,创建⼀个服务会话密钥(Service Session key)。

ticket:使⽤对应的服务密钥进⾏加密,包含服务会话密钥/⽤户名/到期时间等信息,本质上就是⼀张ST(Service Ticket)

enc-part:包含使⽤会话密钥加密的服务会话密钥(Service Session key)

KRB_TGS_REP数据包如下:

第三步:获得服务

KRB_AP_REQ:使⽤TGS,服务对⽤户⾝份验证

客户端已经拥有了有效的TGS可以与服务进⾏交互,使⽤会话密钥解密 enc-part,得到 服务会话密钥(Service Session key),将⽤户名/


发布者:admin,转转请注明出处:http://www.yc00.com/num/1701260225a1064798.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信