# Performing Kerberoasting Attack

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

- Skill: `killvxk/performing-kerberoasting-attack` (Agent Skill, multi-file: 8 files)
- Install (CLI): `npx skillmds@latest add killvxk/performing-kerberoasting-attack`
- Raw SKILL.md: https://api.skillmd.com/api/skills/killvxk/performing-kerberoasting-attack/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- License: Apache-2.0
- Author: killvxk (https://skillmd.com/u/killvxk)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/killvxk/performing-kerberoasting-attack

---

# 执行 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 的受影响账户

