detecting-golden-ticket-attacks-in-kerberos-logs
通过分析 Kerberos TGT 异常(包括加密类型不匹配、不可能的票据生命周期、不存在的账户以及域控制器事件日志中的伪造 PAC 签名),检测 Active Directory 中的黄金票据攻击。
Best use case
detecting-golden-ticket-attacks-in-kerberos-logs is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
通过分析 Kerberos TGT 异常(包括加密类型不匹配、不可能的票据生命周期、不存在的账户以及域控制器事件日志中的伪造 PAC 签名),检测 Active Directory 中的黄金票据攻击。
Teams using detecting-golden-ticket-attacks-in-kerberos-logs should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/detecting-golden-ticket-attacks-in-kerberos-logs/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How detecting-golden-ticket-attacks-in-kerberos-logs Compares
| Feature / Agent | detecting-golden-ticket-attacks-in-kerberos-logs | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
通过分析 Kerberos TGT 异常(包括加密类型不匹配、不可能的票据生命周期、不存在的账户以及域控制器事件日志中的伪造 PAC 签名),检测 Active Directory 中的黄金票据攻击。
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# 检测 Kerberos 日志中的黄金票据攻击 ## 适用场景 - KRBTGT 账户哈希可能通过 DCSync 或 NTDS.dit 提取而遭到入侵时 - 狩猎用于持久域访问的伪造 Kerberos 票据时 - 事件响应揭示域级别的凭据盗取后 - 调查不可能的登录模式(用户同时从多地登录)时 - 泄露后评估以确定是否正在使用黄金票据时 ## 前置条件 - 域控制器上的 Windows 安全事件 ID 4768、4769、4771 - Kerberos 策略配置知识(最大票据生命周期、加密类型) - 启用 Kerberos 服务票据操作的域控制器审计策略 - SIEM 能够跨多个域控制器关联 Kerberos 事件 ## 工作流程 1. **监控 TGT 请求(事件 4768)**:跟踪 Kerberos 认证服务请求。黄金票据(Golden Ticket)完全绕过 AS-REQ/AS-REP 交换,因此在 4769 之前缺少 4768 是可疑的。 2. **检测加密类型异常**:黄金票据通常使用 RC4(0x17)加密。若您的域强制使用 AES(0x12),任何 RC4 TGT 都是危险信号。监控事件 4769 中的 TicketEncryptionType。 3. **检查票据生命周期异常**:默认 Kerberos TGT 生命周期为 10 小时,可续期 7 天。黄金票据可伪造为 10 年的生命周期。检测超过策略的票据持续时间。 4. **狩猎不存在的 SID**:黄金票据可包含任意 SID(包括不存在的账户或组)。将 TGS 请求与已知 AD SID 清单进行关联。 5. **检测无先前 TGT 的 TGS**:当来自相同 IP/账户的服务票据(4769)出现而没有先前的 TGT 请求(4768)时,这可能表明存在预先创建的黄金票据。 6. **监控 KRBTGT 密码年龄**:跟踪 KRBTGT 上次重置时间。若 KRBTGT 哈希自已知入侵后未更改,来自该时期的黄金票据仍然有效。 7. **验证 PAC 签名**:通过 KB5008380+ 和 PAC 验证执行,域控制器会拒绝伪造的 PAC。监控指示 PAC 验证错误的 Kerberos 失败。 ## 检测查询 ### Splunk——Kerberos TGS 中的 RC4 加密 ```spl index=wineventlog EventCode=4769 | where TicketEncryptionType="0x17" | where ServiceName!="krbtgt" | stats count by TargetUserName ServiceName IpAddress TicketEncryptionType Computer | where count > 5 | sort -count ``` ### Splunk——无先前 TGT 的 TGS ```spl index=wineventlog (EventCode=4768 OR EventCode=4769) | stats earliest(_time) as first_tgt by TargetUserName IpAddress EventCode | eventstats earliest(eval(if(EventCode=4768, first_tgt, null()))) as tgt_time by TargetUserName IpAddress | where EventCode=4769 AND (isnull(tgt_time) OR first_tgt < tgt_time) | table TargetUserName IpAddress first_tgt tgt_time ``` ### KQL——黄金票据指标 ```kql SecurityEvent | where EventID == 4769 | where TicketEncryptionType == "0x17" | where ServiceName != "krbtgt" | summarize Count=count() by TargetUserName, IpAddress, ServiceName | where Count > 5 ``` ## 常见场景 1. **DCSync 后黄金票据**:提取 KRBTGT 哈希后,攻击者伪造包含域管理员 SID 的 TGT,在 KRBTGT 被轮换两次前有效期可达数月。 2. **RC4 降级**:仅 AES 环境中伪造的 RC4 加密黄金票据,可通过加密类型不匹配检测。 3. **跨域黄金票据**:伪造的跨域 TGT 用于在 AD 域/林之间横向移动。 4. **修复后持久化**:因 KRBTGT 仅被轮换一次(当前和之前的哈希均有效),黄金票据在密码重置后依然存活。 ## 输出格式 ``` Hunt ID: TH-GOLDEN-[DATE]-[SEQ] Suspected Account: [使用伪造票据的账户] Source IP: [客户端 IP] Target Service: [访问的 SPN] Encryption Type: [RC4/AES128/AES256] Anomaly: [无先前 TGT/AES 环境中使用 RC4/超出生命周期] KRBTGT Last Reset: [日期] Risk Level: [Critical] ```
Related Skills
implementing-ticketing-system-for-incidents
实施集成事件工单系统,将 SIEM 告警对接 ServiceNow、Jira 或 TheHive, 用于结构化事件跟踪、SLA 管理、升级工作流和合规文档记录。 适用于 SOC 团队需要通过自动化工单创建、分配路由和解决跟踪来规范事件生命周期管理时。
hunting-for-ntlm-relay-attacks
通过分析 Windows 事件 4624 中的 NTLMSSP 认证、IP 与主机名不匹配、Responder 流量签名、SMB 签名状态及跨域可疑认证模式,检测 NTLM 中继攻击。
hunting-for-lolbins-execution-in-endpoint-logs
通过分析终端进程创建日志,识别合法 Windows 系统二进制文件(LOLBin)被用于恶意目的的可疑执行模式,狩猎攻击者的 LOLBin 滥用行为。
hunting-for-dcsync-attacks
通过分析 Windows 事件 ID 4662,检测非域控制器账户发起的未授权 DS-Replication-Get-Changes 请求,从而发现 DCSync 攻击。
hunting-credential-stuffing-attacks
通过分析认证日志中的登录速率异常、ASN 多样性、密码喷洒(password spray)模式和失败登录的地理分布,检测凭据填充(credential stuffing)攻击。对 Splunk 或原始日志数据进行统计分析。适用于调查账户接管活动或为认证滥用构建检测规则。
extracting-windows-event-logs-artifacts
使用 Chainsaw、Hayabusa 和 EvtxECmd 提取、解析和分析 Windows 事件日志(EVTX),以检测横向移动、持久化和权限提升。
detecting-wmi-persistence
通过分析 Sysmon 事件 ID 19、20 和 21 中的恶意 EventFilter、EventConsumer 和 FilterToConsumerBinding 创建,检测 WMI 事件订阅持久化。
detecting-t1548-abuse-elevation-control-mechanism
通过监控注册表修改、进程提升标志和异常的父子进程关系,检测提升控制机制滥用,包括 UAC 绕过、sudo 利用和 setuid/setgid 操纵。
detecting-t1055-process-injection-with-sysmon
通过分析 Sysmon 事件中的跨进程内存操作、远程线程创建和异常 DLL 加载模式,检测进程注入技术(T1055),包括经典 DLL 注入、进程镂空和 APC 注入。
detecting-t1003-credential-dumping-with-edr
利用 EDR 遥测数据、Sysmon 进程访问监控和 Windows 安全事件关联,检测针对 LSASS 内存、SAM 数据库、NTDS.dit 和缓存凭据的 OS 凭据转储技术。
detecting-suspicious-powershell-execution
检测可疑的 PowerShell 执行模式,包括编码命令、下载器(download cradles)、AMSI 绕过尝试以及受限语言模式规避。
detecting-suspicious-oauth-application-consent
使用 Microsoft Graph API、审计日志和权限分析,检测 Azure AD / Microsoft Entra ID 中的高风险 OAuth 应用授权同意,识别非法同意授权攻击。