0x01 前言
前一阵刚刚写了kerberos协议的原理,就是为了给后续的几篇文章做一下铺垫,保证大家都能看懂,尽量以简要的话术来描述,欢迎翻阅前面的文章进行查看。
0x02 Kerberoasting
Kerberoasting 是一种在请求访问服务时利用 Kerberos 协议中的弱点的技术。
首先会看以下kerberos认证的流程:
-
Client想要访问Server的服务时,先要向AS发送能够证明自己身份的验证
-
验证通过后AS会给Client发送一个TGT
-
随后Client再向TGS去验证自己的身份通过后
-
TGS会给Client发送一个ST
-
最后是Client和Server做双向验证
但是这里需要注意的就是ST(Service Ticket)使用Server的Master Key进行加密的,这也就导致了windows域上的任何经过身份验证的用户都能够从TGS处请求ST,然后进行暴力破解。
一、SPN协议
1.服务主体名称发现
1.1 SPN介绍:
SPN是服务实例的唯一标识符。
Kerberos身份认证过程中需要使用SPN,以便将服务实例与服务登录账户相关联。
Windows域环境中的SPN格式如下所示:SERVICE/host.name
1.2 查询SPN:
使用Wi