赞
踩
概述:Kerberos协议是一种网络认证协议,其设计目标是通过密钥系统为客户机/服务器应用程序提供强大的认证服务,该认证过程的实现不依赖于主机操作系统的认证,无需基于主机地址的信任,不要求网络上所有主机的物理安全,并假定网络上传送的数据包可以被任意的读取、修改和插入数据。在以上的情况下,Kerberos作为一种可信任的第三方认证服务,是通过传统密码技术执行认证服务的。
Kerberos协议角色组成:
1.首先用户把身份信息发送给KDC,身份信息内容如下:
2.KDC中的AS模块来校验用户身份信息,并返回TGT信息,TGT信息如下:
3.用户拿到TGT后会进行解密,但是只能解密上半部分(因为krbtgt用户没有),然后进行封装,发送给TGS
4.TGS验证TGT后,就会给用户发送ST
5.客户端收到TGS发送的ST之后,对其进行解密,并重新封装,发送给服务端
6.服务端收到ST后进行解密
两台域内主机(Windows server 2019和Windows server 2003 R2),两台域内主机以及域控之间都要相互ping通才可以,不然后面有些操作会报错,还需要一个票据生成工具--kekeo。
AS-REQ:提供身份信息的数据包
AS-REP:发送TGT的数据包
首先进到kekeo的文件目录下
使用命令去请求一张TGT(tgt::ask /user:用户名 /domain:域名 /password:密码)
就会看到对应的文件目录下,已经有刚刚请求的TGT了
使用wireshark抓包,就可以看到AS-REQ和AS-REP数据包
AS-REQ;主要包含了用户的一些信息,是由客户端发送给AS的数据包,里面有几个重要信息:
AS-REP:当KDC收到AS-REQ之后解密PA-DATA pA-ENC-TIMESTAMP如果成功就返回AS-REP
该信息是使用krbtgt的Hash进行加密的,用户不能解密
该信息是使用用户的Hash进行加密的,用户可以解密
TGS-REQ:客户端发送给TGS数据包
TGS-REP:TGS发送给客户端数据包
同样的这里使用kekeo工具,请求票据
使用wireshark抓包可以看到有TGS-REQ和TGS-REP数据包
TGS-REQ:客户端发送给TGS数据包,其中包含:
ticket里面的enc-part就是使用krbtgt的hash加密的内容
TGS-REP:TGS发送给客户端数据包,主要内容如下:
AP-REQ:是客户端发送ST到服务端的数据
AP-REP:是服务端发送到客户端的数据(这个包是可选的)
但是这里去申请票据的时候需要注意,要使用administrator域管的账号进行申请票据,不然申请到的票据权限还不能访问到对方电脑
先把之前的票据缓存清楚
使用一下命令申请票据,并将它注入内存(注入内存的票据是不显示在相关文件目录下的)
远程访问ls电脑
AP-REQ数据包内容:
AP-REP数据包内容:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。