AS-REPRoasting

讲在前面:

最近笔者发布的几篇文章,大家不难发现,都是和kerberos协议相关的。国内外各类的研究员对于该协议的研究愈发的深入,从该协议产生的漏洞就会越来越多甚至越来越严重。当然这只是笔者的一点拙见。

在介绍了Kerberoasting后,与其分不开的一个漏洞AS-REPRoasting我们也要介绍一下。当然,该漏洞依然要建立在受害用户没有使用强壮的符合复杂策略的密码前提下。同时也要强调该漏洞并没有Kerberoasting出彩

简介:

对于域用户,如果设置了选项”Do not require Kerberos preauthentication(不要求kerberos预身份认证)”,此时向域控制器的88端口发送AS-REQ请求,对收到的AS-REP内容重新组合,能够拼接成”Kerberos 5 AS-REP etype 23”(18200)的格式,接下来可以使用hashcat对其破解,最终获得该用户的明文口令,但默认情况下,该选项不会开启。

利用条件:

  • 你当前的用户拥有对目标用户GenericWrite / GenericAll权限
  • 用户密码可能较为薄弱

进行Kerberos预身份验证的原因是为了防止离线密码猜测。尽管AS-REP 票证本身已使用 服务密钥(在本例中为krbtgt哈希)进行了加密,但AS-REP“已加密部分”却使用客户端密钥(即我们为其发送AS-REQ的用户密钥)进行了加密 。如果启用了不要求kerberos预身份认证,则攻击者可以为开启该选项的用户发送AS-REQ,从而获得指定用户的AS-REP并进行离线爆破。

查询满足条件的用户

使用powerview

寻找满足条件的用户(LDAP查询满足条件(userAccountControl:1.2.840.113556.1.4.803:=4194304))

开启选项

Set-DomainObject -Identity test2 -XOR @{userAccountControl=4194304} -Verbose

注意:
开启和关闭都为同一条命令,命令本身执行的异或操作,两次异或等于未修改原数值。

导出hash

使用ASREPRoast.ps1

注意:笔者这里使用该ps1脚本在实验环境中并未能提取到hash,所以使用的Rubeus

Rubeus.exe asreproast

离线破解

拼接成hashcat能够识别的格式需要在$krb5asrep后面添加$23,hashcat使用字典破解的参数如下:

hashcat -m 18200 'hash' /temp/pwd.txt -o found.txt --force

缓解措施

  • 确保域内不存在开启”Do not require Kerberos preauthentication”的用户
  • 域用户强制使用复杂口令,提高被字典和暴力破解的难度

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值