kerberos协议浅谈

##kerberos协议:基于第三方可信主机的计算机网络协议
想要搞懂kerberos协议首先需要知道一下术语:
KeyDistribution Center KDC 秘钥分发中心 有AS,TGS
AS:Authentication Service 对客户端的认证 证明客户端A是A 并没有规定权限问题
TGT(Ticket Granting Ticket):由身份认证服务授予的票据(黄金票据),用于身份认证,存储在内存,默认有效期为10小时
TGS(Ticket Granting Server):票据授予服务,该服务提供的票据也称为 TGS 或者叫白银票据
TGS:Ticket Granting Ticket,用于KDC向A和B分发Session Key
client-A向KDC的AS换取TGT,然后拿着TGT去TGS换取 service Ticket(TGS Ticket)
kerberos无法认证权限,添加了PAC(Privilege Attribute Certificate),特权属性证书 需要提供User的SID和所在组Group的SID

然后就看图讲解,此图来源Freebuf,如有侵权即可删除
在这里插入图片描述
网上很多描述的不是很繁琐,就是很令人难以理解,下面是我对kerberos协议的浅谈(个人理解):
看图说话,如果你能读懂上图协议过程中的英文再好不过,主要是靠个人的理解
client向AC发起请求(以clineHash加密的时间戳,clientid等),AC返回clientHash加密的密匙sessionKEY和域管理员hash加密的TGT,
client利用该秘钥加密生成一个Authenticator(时间戳,Client身份信息等),和TGT一起发送TGS
TGS解密认证成功后生成 用ServerHash加密的密匙2,和密匙1加密的clientid,密匙2,Server身份信息等
client用密匙2加密的Authenticator和ServerHash加密的密匙2发送给server

然后就是环境票据和白银票据
Golden Ticket: 伪造TGT,可以获取任何Kerberos服务权限
Silver Ticket: 伪造TGS,只能访问指定的服务器

下面是做域渗透中信息搜集的一些命令:
net config workstation 是否存在域环境
net time /domain 查询域同步时间 前面有域控完整名
net user /domain 查询域内所有用户
net user username /domain 查询是否为域管理员 该用户域的组
Domain Admins组 为域管理员权限
whoami /user 查询域用户sid 域控给不同计算机不同的sid
ip查询:targetIP,域服务器ip(53端口,389端口)


###################################
# 收集域名信息
net view  						//获取当前组的计算机名字
net view /domain   			//查看所有域
ping -n 1 [组计算机明] -4  	//从计算机名获取IP 地址
net user /domain				//查看域中的用户名
net group /domain				//查看域组名称
net group "Domain Admins" /domain     				//查询管理员
net group "Domain controllers"  /domain           //查询域控
net group "Domain Computers" /domain				//查询所有计算机名字
net config Workstation								//查看当前计算机名、全名、用户名、系统版本、工作站域、登录域
net group "Domain controllers" 						//查看域控制器
 
 
 
net user admin Ad123test /add /domain	  			//添加普通域用户
net group "Domain Admins" admin /add /domain 		//提升到域管理员
###################################

猜你喜欢

转载自blog.csdn.net/weixin_45682070/article/details/106337762