Performing Kerberoasting Attack

Kerberoasting 是一种后渗透技术,通过为设置了服务主体名称(SPN)的账户请求 Kerberos TGS 票据来针对活动目录中的服务账户。这些票据用服务账户的 NTLM 哈希加密,允许在不产生登录失败事件的情况下进行离线暴力破解。

killvxk 7cb6a25 8 files · 45.1 KB Updated

File contents

执行 Kerberoasting 攻击

概述

Kerberoasting 是一种后渗透技术,通过为设置了服务主体名称(SPN)的账户请求 Kerberos TGS(票据授予服务)票据来针对活动目录中的服务账户。这些票据使用服务账户的 NTLM 哈希加密,允许在不产生登录失败事件的情况下进行离线暴力破解。这是 AD 环境中最常见的权限提升路径之一,因为任何域用户都可以请求 TGS 票据。

MITRE ATT&CK 映射

  • T1558.003 - 窃取或伪造 Kerberos 票据:Kerberoasting
  • T1087.002 - 账户发现:域账户

实施步骤

阶段一:枚举 Kerberoastable 账户

  1. 使用 PowerView 或 Impacket 识别具有 SPN 的服务账户
  2. 优先排列具有特权组成员资格的账户
  3. 记录所有具有 SPN 的账户及其组成员关系

阶段二:请求 TGS 票据

  1. 为已识别的服务账户请求票据
  2. 以 Hashcat 兼容格式($krb5tgs$)保存票据
  3. 将票据导出到攻击工作站

阶段三:离线密码破解

  1. 使用 Hashcat(模式 13100)和词典列表破解票据
  2. 应用规则集以提高破解成功率
  3. 记录破解的凭据

阶段四:凭据验证和利用

  1. 使用 CrackMapExec 或 Impacket 验证破解的凭据
  2. 评估账户权限和横向移动机会
  3. 如果账户是域管理员则执行 DCSync

工具与资源

工具 用途
GetUserSPNs.py Linux 上的 Kerberoasting(Impacket)
Rubeus Windows 上的 Kerberoasting
Invoke-Kerberoast PowerShell Kerberoasting
Hashcat 离线密码破解
John the Ripper 替代密码破解工具

验证标准

  • 已识别具有 SPN 的服务账户
  • 已请求并保存 TGS 票据
  • 已执行离线密码破解
  • 已验证破解的凭据
  • 已记录具有相关 ACL 的受影响账户

killvxk/cybersecurity-skills-zh/tree/main/skills/performing-kerberoasting-attack commit 7cb6a25ca0

Frequently asked questions

npx skillmds@latest add killvxk/performing-kerberoasting-attack