角色组成

  1. 客户端(Client):发送请求一方

  2. 服务端 (Server):接收请求一方

  3. KDC 密钥分发中心

  • AS (Authorization Server) 认证服务器,用于认证客户端身份并发放客户用于访问TGS的TGT(票据授予票据)
  • TGS (Ticket Grant Server) 票据授予服务器,用来发放整个认证过程以及客户端访问服务端时所需的服务授予票据

image-20231025133359329

认证过程

(认证过程部分内容使用的wanli师傅画的图片)

第一阶段

Client向KDC-AS发起req请求,当AS接收到请求后,返回一张TGT票据

TGT票据的内容如下:

  1. 一部分为Client-hash加密的含CT_SK内容
  2. 一部分为krbtgt-hash加密的含CT_SK内容

image-20231025133359329

Client接收到TGT票据后,使用Client-hash解密得出CT_SK值,再利用CT_SK加密产生新的TGT票据,并且传递给TGS。

(新)TGT票据的内容如下:

  1. 一部分为CT_SK加密的内容
  2. 一部分为krbtgt-hash加密的含CT_SK内容

image-20231025133359329

第二阶段

当Client发送(新)TGT给TGS后,TGS利用krbtgt-hash值解密出CT_SK,并利用CT_SK加密出剩余部分,TGS返回一张ST票据给Client

ST票据内容如下:

  1. 一部分为CT_SK加密的含CS_SK内容
  2. 一部分为server-hash加密的含CS_SK内容(server-hash为选取的目标服务的hash值)

image-20231025133359329

第三阶段

Client将接收到的ST票据重新解密封装,发送(新)ST给Server,Server使用本机的机器用户HASH值解密ST得到 CS_SK,进行对比后成功访问建立信任

(新)ST票据内容如下:

  1. 一部分为CS_SK加密的内容
  2. 一部分为server-hash加密的含CS_SK内容

image-20231025133359329

数据包分析

第一阶段

获得TGT票据

image-20231025135726385

image-20231025135800908

AS-REQ

  1. PA-DATA pA-ENC-TIMESTAMP 使用用户的hash或者AES key加密的时间戳(可能导致PTH PTK攻击)
  2. kdc-options 协商字段
  3. cname 请求的用户名
  4. realm 域名

image-20231025140404770

image-20231025140523735

AS-REP

enc-part

第一个enc-part内容为:TGT中由Krbtgt hash加密

第二个enc-part内容为:TGT中由用户 hash加密

image-20231025141600939

第二阶段

TGS-REQ:客户端发送给TGS数据包

TGS-REP:TGS发送给客户端数据包

申请ST票据

1
tgs::ask /tgt:tgt票据路径 /service:cifs(服务名)/主机名.域

image-20231025143753573

image-20231025144016548

TGS-REQ

  1. ticket-enc-part:原本的TGT,使用krbtgt加密
  2. authenticator:使用CT_SK加密的内容
  3. cname:请求用户名
  4. realm:请求域名
  5. sname:请求服务名

image-20231025144254327

image-20231025144428123

TGS-RSP

  1. 第一个enc-part: 是请求服务的密钥加密内容
  2. 第二个enc-part:CT_SK加密内容

image-20231025144655268

第三阶段

AP-REQ

登录god\dyh域普通账户,通过该账户构建Administrator账户票据访问域控,域控机器名(owa.god.org)

image-20231025151311851

1
klist //清空票据

image-20231025151851005

image-20231025152023616

1
tgs::ask /tgt:tgt票据路径 /service:cifs(服务名)/主机名.域 /tt    生成tgs票据并注入内存

image-20231025152201698

可见成功生成票据

image-20231025152306583

成功访问到域控目录

image-20231025152338006

客户端发送到服务端的数据包

image-20231025152849386

  1. ticker中cipher:使用server hash加密内容
  2. authenticator:CS_SK加密内容

image-20231025190444355

AP-REP

包含类客户端验证服务端的信息

image-20231025190740163