kerberos协议(续)

接上一篇kerberos协议,后面又看了一些东西所以记录一下

Kerberos协议(续)

最近在先知上看到了一篇关于kerberos协议的相关攻击技巧,正好前段时间初步学了一下关于kerberos协议的东西,故此记录一下这篇文章。
先放个截图

请输入图片描述请输入图片描述

AS-REQ

先说一下AS-REQ是什么
AS-REQ:当某个域用户试图访问域中的某个服务,于是输入用户名和密码,本机Kerberos服务会向KDC的AS认证服务发送一个AS-REQ认证请求。该请求包中包含:请求用户名客户端主机名加密类型Autherticator(用户NTLM Hash加密的时间戳)以及一些信息。

Client向KDC发起AS-REQ请求凭据是用户hash加密的时间戳。请求凭据放在PA_DATA里面。

请输入图片描述请输入图片描述

hash传递攻击(PTH)
hash传递攻击是指攻击者可以通过捕获密码的hash值,然后简单地将其传递来进行身份验证,以此来横向访问其他网络系统。

域外用户枚举
当我们不在域内时,可以通过kerberos中的AS_REQ工作原理来进行枚举域内账户

密码喷洒工具(password spraying)
确定域策略后,设置密码次数使用工具对应的协议爆破密码
?这不就是爆破吗???

AS-REP

什么是AS-REP呢
Client发送AS_REQ,请求凭据是用户 hash加密的时间戳。请求凭据放在PA_DATA里面。当KDC中的AS认证服务收到后,在AS服务器中有用户hash,使用用户hash进行解密,获得时间戳,如果解密成功,并且时间戳在五分钟之内,那么预认证通过。接着AS认证服务将会向Client发送响应包,响应包中包括krbtgt用户的NTML hash加密后的TGT票据以及用户NTML Hash加密的Login Session key和其他信息。

请输入图片描述请输入图片描述

ticket中的enc-part是由krbtgt的密码hash加密生成的。如果我们拥有krbtgt的hash,便可以自制ticket,发起黄金票据攻击

Login Session Key使用用户NTML Hash加密,作用是用于是用于确保客户端和KDC下一阶段之间通信安全,作为下一阶段的认证密钥

在这一阶段,client与KDC之间的交互在于AS认证服务,主要是为了获得TGT认证票据以及Login session key,经过该阶段后,client将会使用自身密码的NTML hash解密Login session key得到原始的key。然后会在本地缓存TGT票据和原始的key

SPN:SPN全称 Service Principal Names,是服务器上所运行服务的唯一标识,每个使用kerberos认证的服务都需要一个SPN。

Kerberosast攻击:这种攻击方法主要利用了TGT_REP阶段使用对方NTLM Hash返回的加密数据,通过碰撞加密数据破解用户密码。

白银票据:获取某域账号HASH之后,伪造服务票据ST。通过伪造的TGS,可以直接发送给Server,访问指定的某个服务,来进行攻击。此过程无需KDC。

S4U

非约束委派攻击:拿到非约束委派的主机权限,如果能配合打印机bug,可以直接拿到域控权限

约束委派攻击:拿到配置了约束委派的域账户或主机服务账户,就能拿到他委派服务的administrator权限。

基于资源的约束委派攻击

  • 1.如果拿到将主机加入域内的域账号,即使是普通账号也可以拿到那些机器的system权限
  • 2.烂番茄本地提权

关于约束和非约束委派,后续会继续学习记录下来~
内网的东西其实很深奥,如果不动手的话很难去真正理解,希望后面能有时间能够去自己搭环境去去动手做一遍。

添加新评论