此攻击针对SPN帐户。SPN 是 Kerberos 用于将服务实例映射到运行该服务的服务帐户的唯一标识符。执行 Kerberoasting 攻击所需的只是某个帐户的明文密码(或 NTLM 哈希)、域用户帐户上下文中的 shell 或加入域的主机上的 SYSTEM 级的访问权限。
许多服务需要在各种系统上提升权限,因此服务帐户通常会被直接或通过嵌套成员身份添加到特权组(例如域管理员)。票证使用服务帐户的 NTLM 哈希加密,因此可以使用 Hashcat 等工具对其进行离线暴力攻击来获取明文密码(spn账户不能直接登录域)。
1.GetUserSPNs.py
前置条件:一台能访问域控的linux主机和域用户forend密码
使用 GetUserSPNs.py 列出 SPN 帐户
申请单张 TGS 门票并保存到输出文件(申请所有为: -request )
使用 Hashcat 离线破解票证(hashcat -m 13100 sqldev_tgs /usr/share/wordlists/rockyou.txt )
使用crackmapexec身份验证测试成功
2.PowerView.ps1
前置条件:windows域内主机,普通域用户权限
列出SPN账户
使用 PowerView 定位特定用户
将所有票据导出到 CSV 文件
Get-DomainUser * -SPN | Get-DomainSPNTicket -Format Hashcat | Export-Csv .\ilfreight_tgs.csv -NoTypeInformation
3.Rubeus.exe
前置条件:windows域内主机,普通域用户权限
使用Rubeus.exe导出重要用户票据