
Anthropic-Cybersecurity-Skills 实战基于 Kerberos 事件 4769 的 Kerberoasting 攻击检测与威胁狩猎指南【免费下载链接】Anthropic-Cybersecurity-Skills817 structured cybersecurity skills for AI agents · Mapped to 6 frameworks: MITRE ATTCK, NIST CSF 2.0, MITRE ATLAS, D3FEND, NIST AI RMF MITRE F3 (Fight Fraud) · agentskills.io standard · Works with Claude Code, GitHub Copilot, Codex CLI, Cursor, Gemini CLI 20 platforms · 29 security domains · Apache 2.0项目地址: https://gitcode.com/GitHub_Trending/an/Anthropic-Cybersecurity-Skills本指南以开源仓库 Anthropic-Cybersecurity-Skills 中的detecting-kerberoasting-attacks技能文档为核心骨架完整继承其威胁狩猎工作流、检测查询、数据源映射与取证输出规范并结合仓库内 scripts/agent.py、scripts/process.py、references/api-reference.md、references/workflows.md 等源码与参考文件进行纵深扩充。文中所有结论均以仓库实际内容为依据。一、Kerberoasting 攻击原理与检测核心思路Kerberoasting 是 MITRE ATTCK 框架中T1558.003Steal or Forge Kerberos TicketsKerberoasting技术属于Credential Access凭证访问战术。攻击者利用 Kerberos 协议中服务票据TGSTicket Granting Service的加密机制向域控DC请求针对具有服务主体名称SPN的服务账户的 TGS 票据随后将其离线暴力破解从而获得服务账户的明文密码。其攻击流程可概括为四步发现 SPN攻击者通过 LDAP 查询枚举所有注册了 SPN 的服务账户通常使用setspn -T domain -Q */*或 PowerView 的Get-DomainUser -SPN。请求 TGS使用普通域账户向 KDC 发起 TGS-REQ请求该 SPN 对应服务账户的票据典型工具包括 Rubeus 的kerberoast、Impacket 的GetUserSPNs.py。提取票据获取返回的 TGS 票据Ticket-Granting-Ticket 加密的服务票据票据以服务账户密码的哈希加密。离线破解使用 hashcat、John the Ripper 等工具离线爆破票据加密密钥一旦成功即获得服务账户密码进而可能横向移动或提升权限。检测的核心思路正如本技能文档所述监控异常 Kerberos TGS 请求Windows 事件 ID 4769重点关注请求加密类型、请求目标服务账户而非机器账户以及单源请求量等特征。仓库中 scripts/agent.py 的模块注释将其精炼为 Detects Kerberoasting via Event 4769 TGS-REQ analysis。在仓库的威胁狩猎生态中该技能同时被映射到 D3FEND 防御技术Application Protocol Command Analysis、Network Traffic Analysis、Client-server Payload Profiling 等与 NIST CSF 2.0 功能DE.CM-01、DE.AE-02、DE.AE-07、ID.RA-05在 mappings/attack-navigator-layer.json 中可见detecting-kerberoasting-attacks被关联到 T1558.003 及相邻的 T1558.001、T1558.004 技术节点并与detecting-golden-ticket-forgery、detecting-mimikatz-execution-patterns、analyzing-windows-event-logs-in-splunk等技能形成互补的票据攻击检测体系。二、何时使用该技能When to Use根据 SKILL.md 的定义该技能适用于以下典型场景主动狩猎在环境中主动狩猎 Kerberoasting 攻击的迹象时威胁情报驱动威胁情报显示有活动攻击组织正在使用此类技术时事件响应事件响应期间需要评估与该技术相关的入侵范围时告警触发EDR 或 SIEM 已对相关指标产生告警需要深入排查时周期性评估定期安全评估与紫队Purple Team演习期间。前置条件Prerequisites包括具备进程与网络遥测能力的 EDR 平台CrowdStrike Falcon、Microsoft Defender for Endpoint、SentinelOne已接入相关日志数据的 SIEMSplunk、Elastic、Microsoft Sentinel已部署且配置完善的 Sysmon已启用 Windows 安全事件日志转发用于 IOC 关联的威胁情报源。三、威胁狩猎七步工作流Workflow技能文档定义了一套标准的威胁狩猎工作流共 7 个步骤制定假设Formulate Hypothesis基于威胁情报或 ATTCK 覆盖缺口分析形成可检验的假设。确定数据源Identify Data Sources确定验证或推翻假设所需的日志与遥测来源。执行查询Execute Queries在 SIEM 与 EDR 平台运行检测查询收集相关事件。分析结果Analyze Results检查查询结果的异常情况跨多个数据源进行关联。验证发现Validate Findings通过上下文分析区分真实告警与误报。关联活动Correlate Activity将发现与更广泛的攻击链及威胁行为者 TTP 关联。记录与报告Document and Report记录发现、更新检测规则并建议响应措施。仓库参考文档 references/workflows.md 将这一流程进一步细化为5 个阶段的纵深流程可作为实际执行的详细操作手册阶段一数据收集与查询Phase 1 - Data Collection and Querying围绕事件 ID 4769 进行查询核心过滤条件为Ticket_Encryption_Type0x17RC4 弱加密、排除krbtgt、排除机器账户服务名以$结尾。Splunk SPL 查询indexwineventlog EventCode4769 Ticket_Encryption_Type0x17 | where Service_Name!krbtgt AND NOT match(Service_Name, \\$) | stats count dc(Service_Name) as unique_services by Account_Name Client_Address | where unique_services 5 | sort -unique_servicesKQL 查询Microsoft Defender for EndpointSecurityEvent | where EventID 4769 | where TicketEncryptionType 0x17 | where ServiceName !endswith $ and ServiceName ! krbtgt | summarize ServiceCountdcount(ServiceName), Servicesmake_set(ServiceName) by SubjectUserName, IpAddress | where ServiceCount 5阶段二基线建立与异常检测Phase 2 - Baseline and Anomaly Detection收集目标技术30 天的历史数据记录预期的模式、频率与合法使用场景识别已知误报源并记录例外情况建立关键指标的统计基线均值、标准差将当前活动与 30 天基线对比标记超过正常值 3 个标准差的事件按风险评分与潜在业务影响对异常进行优先级排序并与威胁情报中的已知 IOC 交叉引用。阶段三调查与关联Phase 3 - Investigation and Correlation对每个异常收集完整进程树上下文关联网络活动、文件操作与认证事件检查二进制签名、文件哈希与证书有效性审查用户账户上下文与访问模式将发现映射到 MITRE ATTCK 攻击链阶段识别初始访问向量、追踪横向移动与权限提升路径并判断数据访问与可能的渗透外泄。阶段四验证与响应Phase 4 - Validation and Response与系统负责人和 IT 运维核实发现检查变更管理记录中是否有授权活动验证用户上下文授权操作 vs 被入侵账户对确认的威胁启动事件响应流程对检测缺口创建或更新检测规则对误报调优现有规则并更新排除项将经验教训更新到狩猎手册。阶段五文档化与报告Phase 5 - Documentation and Reporting汇总假设、方法论与发现附上执行过的查询及其结果记录发现的 IOC 与创建的检测规则并提出安全改进建议将发现添加到威胁情报平台更新 MITRE ATTCK 覆盖热力图以 Sigma 格式共享检测规则并为相关技术安排后续狩猎。四、关键概念与框架映射Key Concepts技能文档将 Kerberoasting 攻击族的核心概念归纳如下概念描述T1558.003KerberoastingT1558.004AS-REP RoastingT1558.001Golden Ticket其中 T1558.003Kerberoasting是本技能的核心检测对象T1558.004AS-REP Roasting针对未启用预认证Pre-Authentication的账户是常见场景四中的变异攻击T1558.001Golden Ticket则是利用 krbtgt 哈希伪造票据的后利用技术与 Kerberoasting 同属 T1558 家族在 references/standards.md 中均有完整定义。根据仓库 mappings/README.md 的覆盖统计T1558.003 在整个仓库中被 14 个技能覆盖构成跨工具、跨视角的多层检测网络。五、数据源与事件 ID 映射Detection Data Sources检测 Kerberoasting 需要多种遥测数据源协同。仓库 references/standards.md 提供了完整的事件 ID 映射表来源事件 ID用途Sysmon1进程创建含命令行Sysmon3网络连接发起Sysmon7映像加载DLLSysmon10进程访问LSASSSysmon11文件创建Sysmon12/13注册表创建/设置Sysmon22DNS 查询Sysmon25进程篡改Windows 安全日志4624成功登录Windows 安全日志4625登录失败Windows 安全日志4648显式凭据登录Windows 安全日志4672分配特殊权限Windows 安全日志4688进程创建Windows 安全日志4697服务安装Windows 安全日志4698计划任务创建Windows 安全日志4769Kerberos TGS 请求Windows 安全日志5140网络共享访问其中4769Kerberos TGS 请求是检测 Kerberoasting 的主数据源而4624成功登录用于来源归属关联。Sysmon 事件 1命令行可捕获 Rubeus、GetUserSPNs.py 等工具的执行痕迹。六、事件 4769 报文解析与加密类型判定源码级详解6.1 事件数据结构根据 references/api-reference.md事件 4769 的关键字段如下EventData Data NameTargetUserNamesvc_sql/Data Data NameServiceNameMSSQLSvc/db01.corp.local:1433/Data Data NameTicketEncryptionType0x17/Data Data NameTicketOptions0x40810000/Data Data NameIpAddress::ffff:10.0.0.50/Data Data NameStatus0x0/Data /EventData加密类型值对照表判定 Kerberoasting 的核心依据Hex类型风险0x17RC4-HMACKerberoasting 指标0x18RC4-HMAC-EXPKerberoasting 指标0x11AES128-CTS-HMAC-SHA1正常0x12AES256-CTS-HMAC-SHA1正常6.2 源码级解析从 EVTX 提取 TGS 事件仓库脚本 scripts/agent.py 使用python-evtx库直接解析 Security.evtx 文件中的 4769 事件。核心解析函数parse_tgs_events()的实现逻辑为通过Evtx.Evtx.FileHeader打开 EVTX 二进制文件遍历全部记录将每条记录转换为 XML定位evt:System/evt:EventID并筛选出EventID 4769的事件提取EventData中TargetUserName、ServiceName、IpAddress、TicketEncryptionType、TicketOptions、Status、LogonGuid等字段并附带TimeCreated时间戳。解析后的数据结构如下{ timestamp: 2025-01-01T08:00:00.000Z, target_name: svc_sql, service_name: MSSQLSvc/db01.corp.local:1433, client_address: ::ffff:10.0.0.50, ticket_encryption: 0x17, ticket_options: 0x40810000, status: 0x0, logon_guid: }6.3 弱加密类型常量与检测逻辑scripts/agent.py 中定义了两组加密类型常量与上述对照表完全一致WEAK_ENCRYPTION_TYPES {0x17: RC4-HMAC, 0x18: RC4-HMAC-EXP} STRONG_ENCRYPTION_TYPES {0x11: AES128, 0x12: AES256}核心检测逻辑detect_rc4_tgs_requests()实现了参考文档中的判定规则筛选TicketEncryptionType属于弱加密集合0x17/0x18的事件排除机器账户ServiceName不以$结尾排除 krbtgt 服务服务名不包含krbtgt命中者标记indicator RC4 TGS for service account (non-machine)并补全可读的encryption_name。七、三重检测维度RC4 弱加密 高频 TGS 喷射 敏感 SPN源码级详解scripts/agent.py 从三个维度实现 Kerberoasting 检测对应不同攻击场景7.1 维度一RC4 弱加密 TGS 请求对应场景 2detect_rc4_tgs_requests()检测请求 RC4 加密票据的异常行为。Rubeus 与 ImpacketGetUserSPNs.py默认请求 RC4 加密的 TGS 票据RC4 加密强度弱、易于离线破解因此该特征是 Kerberoasting 的最直接指标。7.2 维度二高频 TGS 喷射对应场景 1、3detect_high_volume_tgs()检测单一来源的高频 TGS 喷射模式Rubeus 默认对所有 SPN 账户批量 kerberoast以client_address为维度对事件分桶统计每个来源请求的去重服务数量当去重服务数 ≥ 阈值默认threshold10时告警并记录唯一服务列表前 20 个、首次/末次出现时间。def detect_high_volume_tgs(tgs_events, threshold10, window_minutes5): ... if len(unique_services) threshold: alerts.append({ source_ip: source, unique_services_requested: len(unique_services), total_requests: len(events), services: list(unique_services)[:20], ... })7.3 维度三敏感 SPN 定向请求对应场景 3detect_anomalous_spn_requests()检测对敏感 SPN 类的定向 kerberoast仓库内置了敏感 SPN 类集合sensitive_spns {MSSQLSvc, HTTP, MSSQL, exchangeAB, CIFS, HOST}逻辑为提取服务名/之前的 SPN 类如MSSQLSvc/db01.corp.local:1433提取为MSSQLSvc若命中敏感集合且加密类型为弱加密0x17/0x18则标记为Sensitive SPN with RC4 encryption。这正对应对高权限服务账户的定向攻击——MSSQL、HTTP、Exchange、CIFS 等服务账户通常具有较高权限一旦密码被破解攻击者可获得相应特权。7.4 来源归属与事件 4624 登录事件关联correlate_with_logon_events()将可疑 TGS 来源 IP 与4624成功登录事件关联实现攻击者归属提取全部 4624 事件的IpAddress、TargetUserName、TargetDomainName、LogonType、WorkstationName若登录源 IP 命中可疑 TGS 来源则建立映射source_ip - {account, domain, logon_type, workstation}。Data NameTargetUserNameattacker_user/Data Data NameLogonType3/Data Data NameIpAddress10.0.0.50/Data Data NameWorkstationNameWORKSTATION1/Data7.5 检测报告生成generate_report()汇总全部检测结果输出 JSON 报告统计字段包括total_tgs_events解析到的 TGS 事件总数rc4_service_requestsRC4 服务账户请求数前 20 条明细tgs_spray_sourcesTGS 喷射来源数anomalous_spn_requests异常 SPN 请求数前 20 条明细attacker_attribution攻击者归属映射登录事件关联结果。八、自动化工具使用两种检测脚本实战8.1agent.pyEVTX 深度解析检测 Agentpython3 scripts/agent.py --evtx-file Security.evtx --spray-threshold 10 --output kerberoast_report.json参数说明参数默认值说明--evtx-file必填Security.evtx 文件路径--spray-threshold10单源去重 SPN 请求阈值--outputkerberoast_report.json报告输出路径依赖python-evtx与lxml库。该脚本适用于需要离线深度分析原始 EVTX的场景如事件响应取证或无法直连 SIEM 时。8.2process.py跨平台日志流式检测scripts/process.py 提供更轻量的检测入口支持 JSON/CSV 格式的日志输入内置正则检测模式DETECTION_PATTERNS [ rRubeus.*kerberoast, rGetUserSPNs, rInvoke-Kerberoast, r0x17.*Ticket_Encryption_Type, ]检测评分机制每个命中模式叠加 25 分风险分上限 100并映射风险等级风险分等级≥ 75CRITICAL≥ 50HIGH≥ 25MEDIUM 25LOW用法python3 scripts/process.py hunt --input events.json --output ./detecting_kerbe_output python3 scripts/process.py queries # 查看检测查询指引输出包括detecting_kerberoast_findings.json含 hunt_id、事件总数、按风险排序的发现与hunt_report.mdMarkdown 报告含日期、发现数与 Top 20 风险项。该脚本适用于 SIEM 导出日志的批量快速筛查。九、四种常见攻击场景与对应检测策略Common Scenarios技能文档定义了四种需要重点关注的攻击场景场景 1Rubeus kerberoast 针对所有 SPN 账户——攻击者使用Rubeus.exe kerberoast批量请求所有 SPN 票据。检测要点单源高频 TGS 请求维度二Ticket_Encryption_Type0x17命令行特征Rubeus.*kerberoast。场景 2Impacket GetUserSPNs.py 请求 RC4 票据——使用python3 GetUserSPNs.py domain/user:pass -dc-ip DC定向请求 RC4 加密票据。检测要点RC4 弱加密 TGS 请求维度一命令行特征GetUserSPNs。场景 3针对高权限服务账户的定向 kerberoast——攻击者只针对 MSSQL、HTTP 等高价值 SPN 发起请求请求量低、更隐蔽。检测要点敏感 SPN 弱加密组合维度三。场景 4针对未启用预认证账户的 AS-REP Roasting——属于 T1558.004 变异攻击针对DONT_REQ_PREAUTH账户。检测要点事件 4768AS-REQ 预认证异常、账户属性审计。十、检测逻辑速查Detection Logicreferences/api-reference.md 给出了简明扼要的检测逻辑清单可直接转化为检测规则筛选事件 4769 且TicketEncryptionType 0x17RC4排除机器账户ServiceName以$结尾排除 krbtgt 服务对单一来源在 5 分钟内请求超过 10 个去重 SPN的行为告警与事件 4624 关联以确定来源归属。该逻辑已在 scripts/agent.py 中全部实现可作为自定义 SIEM 规则的参考蓝本。十一、狩猎报告输出格式Output Format技能文档规定了标准化的狩猎输出格式便于记录、共享与后续审计Hunt ID: TH-DETECT-[DATE]-[SEQ] Technique: T1558.003 Host: [Hostname] User: [Account context] Evidence: [Log entries, process trees, network data] Risk Level: [Critical/High/Medium/Low] Confidence: [High/Medium/Low] Recommended Action: [Containment, investigation, monitoring]若需要更完整的结构化文档仓库还提供了完整的狩猎模板assets/template.md包含狩猎元数据Hunt IDTH-DETECT-YYYY-MM-DD-NNN、分析人员、状态、优先级假设声明假设描述与依据类型威胁情报 / ATTCK 缺口 / 异常 / 事件跟进目标技术清单T1558.003、T1558.004、T1558.001数据源核对清单Sysmon、Windows 安全日志、EDR、SIEM、网络日志、云审计日志等已执行查询记录查询描述、查询文本、结果计数与执行耗时发现表时间戳、主机、用户、技术、证据摘要、风险、判定TP/FP/BTPIOC 记录网络 IOCIP/域名/URL与主机 IOCSHA256/文件名/注册表键/计划任务狩猎结果统计事件总数、异常数、TP/FP/BTP 数、新发现 IOC 数、创建/更新规则数假设结论已确认 / 部分确认 / 已推翻 / 无法定论建议与分析师笔记即时行动、检测改进、可见性缺口、加固措施、后续狩猎方向。十二、工具矩阵与生态集成Tools Systems技能文档推荐的工具栈如下工具用途CrowdStrike FalconEDR 遥测与威胁检测Microsoft Defender for Endpoint使用 KQL 进行高级狩猎Splunk Enterprise使用 SPL 查询进行 SIEM 日志分析Elastic Security检测规则与调查时间线Sysmon细粒度 Windows 事件监控Velociraptor端点工件收集与狩猎Sigma Rules跨平台检测规则格式配合仓库的六框架映射体系MITRE ATTCK、NIST CSF 2.0、MITRE ATLAS、D3FEND、NIST AI RMF、MITRE F3该技能的检测结果可直接沉淀为组织级合规与防御覆盖数据。十三、常见误报来源与应对建议基于检测逻辑与基线方法以下场景可能产生误报需要结合上下文验证合法的 Kerberos 跨域/跨林票据请求企业内集成系统可能集中请求服务票据需结合 30 天基线与变更记录排除系统账户正常服务访问部分应用以服务账户身份运行时产生正常 TGS 请求需与资产台账核对管理员脚本化批量操作运维自动化批量访问服务时可能触发高频 TGS 阈值应建立例外清单。应对策略按 references/workflows.md 阶段四的流程与系统负责人核实、检查变更管理记录、验证用户上下文并对确认的误报来源调优规则与排除项。结语Kerberoasting 是 Active Directory 环境中最常见的凭证访问技术之一其检测难点在于攻击流量与合法 Kerberos 请求高度相似。通过本技能文档与仓库源码的结合我们可以得到一套从假设制定、数据收集、查询执行、异常检测、关联分析到报告沉淀的完整狩猎闭环并拥有agent.pyEVTX 深度解析与process.py跨平台日志筛查两个可直接落地的自动化检测工具。建议在部署后持续以 30 天为窗口迭代基线并结合仓库中detecting-golden-ticket-forgery、detecting-mimikatz-execution-patterns等相关技能构建覆盖 T1558 家族的完整票据攻击检测体系。【免费下载链接】Anthropic-Cybersecurity-Skills817 structured cybersecurity skills for AI agents · Mapped to 6 frameworks: MITRE ATTCK, NIST CSF 2.0, MITRE ATLAS, D3FEND, NIST AI RMF MITRE F3 (Fight Fraud) · agentskills.io standard · Works with Claude Code, GitHub Copilot, Codex CLI, Cursor, Gemini CLI 20 platforms · 29 security domains · Apache 2.0项目地址: https://gitcode.com/GitHub_Trending/an/Anthropic-Cybersecurity-Skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考