BloodHound 活动目录攻击路径实战:Anthropic-Cybersecurity-Skills 中的 AD 利用完整工作流
【免费下载链接】Anthropic-Cybersecurity-Skills817 structured cybersecurity skills for AI agents · Mapped to 6 frameworks: MITRE ATT&CK, 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 仓库中
exploiting-active-directory-with-bloodhound技能文档(workflows.md)编写,系统讲解如何使用 BloodHound 从数据收集、环境部署、攻击路径发现、利用链编排到自动化报告输出的完整攻防工作流。读者将掌握 SharpHound / BloodHound.py 的采集用法、Cypher 查询攻击面、四大典型 AD 提权利用链,以及如何借助仓库附带的 Python 分析脚本把 BloodHound 数据转化为可落地的攻击路径报告。文中全部命令与脚本均面向已获授权的红队、渗透测试与实验室环境。
BloodHound 是什么:以图论视角看穿 AD 隐藏关系
BloodHound 是一款基于图的 Active Directory 侦察工具,它用图论揭示 AD 环境中隐藏且非预期的对象关系。红队用它从"已沦陷账户"出发,绘制通往域管理员(Domain Admins)等高价值目标的最短攻击路径——这些由 ACL 异常、组成员关系、委派配置与登录会话交织而成的提权链,纯靠手工枚举几乎不可能完整发现。SharpHound 是官方数据收集器,负责采集 AD 对象、关系、ACL、会话与组成员信息;BloodHound 本体(CE 社区版或 Legacy 版)负责将数据导入 Neo4j 图数据库并可视化分析。
该技能的前置条件与适用场景在 SKILL.md 中定义得十分明确:读者需要具备红队基础概念、拥有可安全执行的测试或实验室环境、Python 3.8+ 及所需依赖,且一切测试活动必须有明确授权(文档顶部附带法律声明,强调未授权使用属违法行为)。技能的核心目标包括:
- 使用 SharpHound 或 BloodHound.py 采集 AD 关系数据;
- 可视化从被攻陷账户到域管理员之间的攻击路径;
- 识别配置错误的 ACL、组成员关系和委派设置;
- 发现通往高价值目标的最短攻击路径;
- 梳理可被滥用的 Kerberos 委派配置;
- 完整记录所有识别出的提权链。
整个技能围绕五个工作流展开(详见 workflows.md):数据收集 → 环境搭建与导入 → 攻击路径发现 → 利用链编排 → 自动化报告。下文逐一流展开。
Workflow 1:数据收集——用 SharpHound 与 BloodHound.py 采集 AD 关系
数据是攻击路径分析的地基。采集端有两个选择:Windows 原生运行的 SharpHound(.NET 收集器)与跨平台的 bloodhound-python。
SharpHound(Windows 端)
将 SharpHound 收集器上传到目标主机后,按需选择采集方法执行:
# Basic collection - all methods .\SharpHound.exe -c All # DCOnly collection (less noise, requires domain user) .\SharpHound.exe -c DCOnly # Session collection with loop (continuous session data gathering) .\SharpHound.exe -c Session --Loop --LoopDuration 02:00:00 --LoopInterval 00:05:00 # Collection from specific domain .\SharpHound.exe -c All -d targetdomain.local # Stealth collection (avoid noisy queries) .\SharpHound.exe -c DCOnly,Session --Stealth # Collection via LDAP with specific credentials .\SharpHound.exe -c All -d targetdomain.local --LdapUsername user --LdapPassword pass # Output to specific directory .\SharpHound.exe -c All --OutputDirectory C:\Users\Public\ # Exclude domain controllers from session collection .\SharpHound.exe -c All --ExcludeDomainControllers其中-c(CollectionMethod)是核心参数。该技能在 api-reference.md 中给出了各采集方法的官方语义:
| 方法 | 采集的数据 |
|---|---|
All | 下列所有数据 |
Default | Group、Session、Trusts、ACL、ObjectProps |
DCOnly | 仅 LDAP 数据(不含会话) |
Session | 活动登录会话 |
ACL | 访问控制列表 |
ObjectProps | 用户/计算机属性 |
参数语义再配合以下场景选择:
--Loop/--LoopDuration 02:00:00/--LoopInterval 00:05:00:对会话信息做连续采集,两小时窗口内每五分钟轮询一次,用于捕捉间歇出现的特权会话——这是发现"会话型横向移动"路径(如 Workflow 4 的 Chain 2)的关键;-d targetdomain.local:多域环境指定目标域;--Stealth:组合DCOnly,Session并避免高噪声查询,用于需要低调的场景;--LdapUsername/--LdapPassword:以指定凭据走 LDAP 采集(无需在主机上登录为域用户);--OutputDirectory:将 ZIP 结果输出到指定目录;--ExcludeDomainControllers:排除域控的会话采集,降低噪声。
BloodHound.py(Linux / Kali 端)
在 Linux 或 Kali 上,使用 bloodhound-python 完成同样的采集工作:
# Basic collection with username/password bloodhound-python -d targetdomain.local -u user -p 'Password123' -c All -ns 10.0.0.1 # Collection with NTLM hash bloodhound-python -d targetdomain.local -u user --hashes aad3b435b51404eeaad3b435b51404ee:hash -c All -ns 10.0.0.1 # DNS resolution via domain controller bloodhound-python -d targetdomain.local -u user -p 'Password123' -c All -dc dc01.targetdomain.local -ns 10.0.0.1 # Collection with specific methods bloodhound-python -d targetdomain.local -u user -p 'Password123' -c Group,LocalAdmin,Session -ns 10.0.0.1api-reference.md 汇总了常用参数:-d指定域、-u用户名、-p密码、-c采集方法、-ns指定域名服务器(通常为 DC 的 IP)、--zip输出为 ZIP 压缩包(默认每条数据分文件输出,加--zip可直接得到可用于 BloodHound 导入的单一压缩包)。--hashes支持以 NTLM 哈希代替明文口令完成认证。
采集流程的自动化封装
仓库在 scripts/agent.py 中给出了上述两条采集路径的代码级实现:run_sharphound()与run_bloodhound_python()通过subprocess拼装命令行并执行,采集结果截取前 500 字符返回;analyze_bloodhound_json()(见 agent.py)则直接解析采集到的 JSON 数据,统计用户/计算机/组数量,并从Properties.admincount字段中标记出特权账户。这印证了采集产物的标准结构:每条记录包含Properties(属性)、Aces(ACL 项)、MemberOf(组成员)三大部分。
Workflow 2:BloodHound CE 部署与数据导入
数据采集完成后,需要把 ZIP 结果导入图数据库进行可视化。技能提供了社区版与 Legacy 两套部署路径。
BloodHound CE(社区版,推荐)
# Docker Compose setup curl -L https://ghst.ly/getbhce -o docker-compose.yml docker compose pull docker compose up -d # Access at https://localhost:8080 # Default credentials in docker compose output # Upload SharpHound ZIP files via UICE 版以 Web 界面呈现,默认监听https://localhost:8080,首次启动时初始凭据会打印在docker compose up的输出中;随后通过 Web UI 直接拖拽上传 SharpHound 生成的 ZIP 文件即可完成导入。
Legacy BloodHound(传统桌面版)
# Install Neo4j sudo apt install neo4j sudo neo4j console # Download and run BloodHound wget https://github.com/BloodHoundAD/BloodHound/releases/latest chmod +x BloodHound ./BloodHound --no-sandbox # Import data via drag-and-drop of ZIP filesLegacy 版基于 Neo4j + Electron 桌面应用:先启动 Neo4j 图数据库,再运行 BloodHound 客户端(Linux 下常需--no-sandbox),同样以拖拽方式导入数据。无论哪套方案,底层图库都是 Neo4j,其默认 Bolt 端口为7687。
与 Neo4j / CE API 的编程交互
api-reference.md 提供了两种编程接入方式,方便把分析流程脚本化:
from neo4j import GraphDatabase driver = GraphDatabase.driver("bolt://localhost:7687", auth=("neo4j", "bloodhound")) with driver.session() as session: result = session.run("MATCH (n:User) RETURN count(n)")BloodHound CE 还暴露 REST API,可用于登录与检索:
POST https://bloodhound:8080/api/v2/login Content-Type: application/json {"login_method": "secret", "secret": "api-key-here"}GET https://bloodhound:8080/api/v2/search?q=admin Authorization: Bearer {token}仓库中的 query_neo4j() 正是用 Pythonneo4j驱动封装的查询入口,若缺少驱动会明确提示pip install neo4j。
Workflow 3:攻击路径发现——用 Cypher 把攻击面翻出来
数据入库后,通过 Neo4j 的 Cypher 查询语言在图上检索攻击路径。技能文档将查询分为"预置查询"与"ACL 专项查询"两组,下面全部继承并逐条解读。
预置查询(Pre-Built Queries)
-- Shortest Path to Domain Admins from Owned MATCH p=shortestPath((n {owned:true})-[*1..]->(m:Group {name:"DOMAIN ADMINS@TARGETDOMAIN.LOCAL"})) RETURN p -- Find All Kerberoastable Users MATCH (u:User {hasspn:true}) RETURN u.name, u.serviceprincipalnames -- Kerberoastable Users with Path to DA MATCH (u:User {hasspn:true}) MATCH p=shortestPath((u)-[*1..]->(g:Group {name:"DOMAIN ADMINS@TARGETDOMAIN.LOCAL"})) RETURN u.name, LENGTH(p) ORDER BY LENGTH(p) ASC -- AS-REP Roastable Users MATCH (u:User {dontreqpreauth:true}) RETURN u.name, u.displayname -- Users with DCSync Rights MATCH p=(n)-[:MemberOf|GetChanges|GetChangesAll*1..]->(d:Domain) WHERE n.name IS NOT NULL RETURN p -- Computers with Unconstrained Delegation MATCH (c:Computer {unconstraineddelegation:true}) WHERE NOT c.name CONTAINS "DC" RETURN c.name -- Find Users with Local Admin on Multiple Computers MATCH (u:User)-[:AdminTo]->(c:Computer) WITH u, COUNT(c) as adminCount WHERE adminCount > 1 RETURN u.name, adminCount ORDER BY adminCount DESC -- GPOs Modifying Local Group Memberships MATCH (g:GPO)-[:GpLink]->(ou:OU)-[:Contains*1..]->(c:Computer) RETURN g.name, ou.name, COLLECT(c.name) -- Find Shortest Path from Domain Users to DA MATCH p=shortestPath((g:Group {name:"DOMAIN USERS@TARGETDOMAIN.LOCAL"})-[*1..]->(h:Group {name:"DOMAIN ADMINS@TARGETDOMAIN.LOCAL"})) RETURN p -- Accounts with Constrained Delegation MATCH (c) WHERE c.allowedtodelegate IS NOT NULL RETURN c.name, c.allowedtodelegate逐条实战要点:
- 最短路径到 DA:以
owned:true标记的被控节点为起点,shortestPath找到通往DOMAIN ADMINS@TARGETDOMAIN.LOCAL的最短路径,是每次评估的"必查项";实际使用时把域名替换为目标域,并在 UI 中勾选已沦陷账户(Mark Owned)。 - Kerberoastable 用户:
hasspn:true表示账户设置了服务主体名称(SPN),其 Kerberos TGS 票据可被请求并离线爆破(T1558.003)。结合路径查询可进一步筛出"能走到 DA 的 Kerberoastable 账户",按路径长度升序排列,优先处理跳数最少的。 - AS-REP Roastable:
dontreqpreauth:true表示账户未启用 Kerberos 预认证,可离线爆破其 AS-REP(T1558.004)。 - DCSync 权限:沿
MemberOf/GetChanges/GetChangesAll边追踪到 Domain,凡具这两项复制权限的账户都能伪造域控发起 DCSync 复制,属Critical级发现(对应 standards.md 中 ACL 滥用表的AllExtendedRights行)。 - 无约束委派:过滤掉 DC 后列出
unconstraineddelegation:true的计算机——沦陷此类机器可捕获所有访问它的特权用户 TGT。 - 多处本地管理员:
AdminTo边计数大于 1 的用户是横向移动的中枢节点,按数量降序输出。 - GPO 修改本地组成员:沿
GpLink(GPO→OU)与Contains(OU→Computer)链式展开,找出能通过 GPO 把用户塞进本地管理员组的策略——这是 Workflow 4 中 GPO 滥用链的侦察前置。
ACL 专项查询
-- Find GenericAll Rights MATCH p=(n)-[:GenericAll]->(m) WHERE n <> m AND NOT n.name STARTS WITH "DVTA" RETURN p -- Find WriteDACL Rights to Domain Object MATCH p=(n)-[:WriteDacl]->(d:Domain) RETURN p -- Find ForceChangePassword Paths MATCH p=(n)-[:ForceChangePassword]->(m:User) RETURN p -- Find AddMember Rights to Admin Groups MATCH p=(n)-[:AddMember]->(g:Group) WHERE g.name CONTAINS "ADMIN" RETURN p -- Find WriteOwner Abuse Paths MATCH p=(n)-[:WriteOwner]->(m) WHERE m:Group OR m:User RETURN p -- Find LAPS Password Readers MATCH p=(n)-[:ReadLAPSPassword]->(c:Computer) RETURN pACL 边的攻击潜力在 standards.md 的 "Active Directory ACL Abuse Paths" 表中有系统性归纳,与上述查询一一对应:
| ACL 权限 | 滥用方式 | 影响 |
|---|---|---|
| GenericAll | 对对象完全控制——重置密码、修改组成员 | 高 |
| GenericWrite | 修改对象属性——设置 SPN 以便定向 Kerberoasting | 高 |
| WriteOwner | 获取对象所有权,再修改 DACL | 高 |
| WriteDACL | 修改对象权限 | 高 |
| ForceChangePassword | 无需知道当前密码即可重置用户密码 | 高 |
| AddMember | 向组中添加用户 | 中-高 |
| ReadLAPSPassword | 读取本地管理员密码 | 高 |
| ReadGMSAPassword | 读取托管服务账户密码 | 高 |
| AllExtendedRights | DCSync 权限、LAPS 读取 | 严重 |
查询中的--Stealth场景常配合这些 ACL 查询使用:ACL 检索走 LDAP 即可完成,无需触发高噪声的会话枚举。文档中NOT n.name STARTS WITH "DVTA"是练习环境(如攻击性安全平台的 DVTA 域)中剔除干扰对象的常见写法。
图结构快速上手:边类型与 JSON 格式
除 ACL 边外,BloodHound 图还包含大量关系边,standards.md 总结了它们的攻击潜力:
| 边类型 | 含义 | 攻击潜力 |
|---|---|---|
| MemberOf | 组成员关系 | 继承权限 |
| HasSession | 计算机上的活动会话 | 凭据窃取 |
| AdminTo | 本地管理员权限 | 横向移动 |
| CanRDP | RDP 访问权限 | 远程访问 |
| CanPSRemote | PowerShell 远程权限 | 远程代码执行 |
| ExecuteDCOM | DCOM 执行权限 | 远程执行 |
| Contains | OU/GPO 容器关系 | GPO 定向 |
| GPLink | GPO 链接到 OU | 策略执行路径 |
| Owns | 对象所有权 | 完全控制潜力 |
| AZMemberOf / AZGlobalAdmin | Azure AD 组成员 / 全局管理员 | 云攻击路径 |
而采集数据的 JSON 结构(来自 api-reference.md)决定了脚本解析的字段命名:
{ "data": [{ "Properties": { "name": "USER@DOMAIN.LOCAL", "enabled": true, "admincount": true, "hasspn": false }, "Aces": [], "MemberOf": [] }] }仓库 process.py 中的_process_users()正是按这套结构落地的:它把hasspn、dontreqpreauth、unconstraineddelegation、passwordnotreqd、sensitive、sidhistory、serviceprincipalnames等属性逐项抽成结构化字段,随后find_kerberoastable()、find_asrep_roastable()、find_unconstrained_delegation()、find_password_not_required()等分析方法(process.py)就可以基于这些字段直接输出候选目标清单。值得一提的还有 generate_cypher_queries():它会根据当前域自动生成 8 条定制化查询(含最短路径、无 LAPS 计算机、高价值组成员、高价值目标上的会话、GenericAll 权限等),相当于把本工作流的查询库"按需生产"出来。
Workflow 4:利用链编排——四条经典的 AD 提权链
找到攻击路径只是开始,技能文档随后给出四条可直接编排的利用链,展示了从"已控账户"到"域管理员"的完整推演。
Chain 1:ACL 滥用提权至域管理员
Step 1: Owned user has GenericWrite on Service Account -> Set SPN on service account (Targeted Kerberoasting) Step 2: Crack service account Kerberos ticket -> Obtain service account password Step 3: Service account has GenericAll on admin group -> Add ourselves to admin group Step 4: Admin group is member of Domain Admins -> Domain Admin achieved这是 ACL 链路的经典组合拳:GenericWrite允许向服务账户写 SPN,从而发起定向 Kerberoasting(Targeted Kerberoasting)——即便服务账户原本密码强度很高,为其设置的虚假 SPN 也会暴露一个可爆破的 TGS 票据;拿到口令后,再借助其持有的GenericAll权限把自己加入管理员组,最终随组嵌套进入 Domain Admins。此链完美呼应了 Workflow 3 中 "GenericWrite → 设置 SPN" 与 "AddMember 到 ADMIN 组" 两条查询线。
Chain 2:基于会话的横向移动
Step 1: BloodHound shows Domain Admin session on WORKSTATION01 Step 2: Owned user has local admin on WORKSTATION01 Step 3: Lateral move to WORKSTATION01 via PsExec/WMI Step 4: Dump credentials from LSASS Step 5: Obtain Domain Admin NTLM hash or Kerberos ticket利用HasSession边(由 Session 采集方法提供)发现域管理员在WORKSTATION01上有活动会话,同时已控账户对该机具备本地管理员权限(AdminTo边)——于是通过 PsExec 或 WMI 横向移动到该机,从 LSASS 中 dump 出域管理员凭据。这解释了为何 Workflow 1 强调用--Loop做连续会话采集:特权会话往往是瞬态的,错过窗口就可能丢掉整条路径。
Chain 3:GPO 滥用路径
Step 1: Owned user has WriteDACL on GPO Step 2: Modify GPO to add immediate scheduled task Step 3: GPO is linked to OU containing Domain Controller Step 4: Scheduled task executes payload on DC Step 5: Domain compromise achieved利用WriteDacl改写 GPO 权限,向 GPO 注入"立即执行"的计划任务;当该 GPO 链到包含域控的 OU 时(GpLink→Contains链,即 Workflow 3 预置查询所侦察的目标),计划任务便会在 DC 上执行负载,完成整域沦陷。对应 MITRE ATT&CK 的 T1615(Group Policy Discovery)与 T1484.001(Domain Policy Modification: Group Policy)。
Chain 4:受约束委派滥用
Step 1: Compromised service account with constrained delegation to DC Step 2: Request TGT for compromised service account Step 3: Use S4U2Self to get ticket for high-priv user Step 4: Use S4U2Proxy to forward ticket to target service on DC Step 5: Access DC as Domain Admin针对allowedtodelegate非空的对象(Workflow 3 末条查询):用已沦陷服务账户请求 TGT,经 S4U2Self 以任意高权限用户的身份取得可转发的服务票据,再用 S4U2Proxy 转发到 DC 上的目标服务,最终以域管理员身份访问 DC。
四条链对应 SKILL.md 中"利用规划"阶段的要求:按复杂度与隐蔽性给路径排序、确定每步所需工具、规划 OPSEC、逐步执行并留存每步证据。template.md(assets/template.md)中的攻击路径表(# / Step / From / To / Edge-Method / Tool Required)正是记录这类链条的标准载体。
Workflow 5:用 PlumHound 生成自动化报告
利用链确认后,需要把发现沉淀为报告。技能文档给出两条路线:PlumHound 自动化生成,以及仓库自带的process.py报告引擎。
PlumHound 自动化报告
# Install PlumHound git clone https://github.com/PlumHound/PlumHound.git pip install -r requirements.txt # Generate default reports python PlumHound.py -x tasks/default.tasks -s "bolt://localhost:7687" -u neo4j -p password # Generate specific report python PlumHound.py --easy -s "bolt://localhost:7687" -u neo4j -p password # Custom task file for red team reporting python PlumHound.py -x tasks/redteam.tasks -s "bolt://localhost:7687" -u neo4j -p passwordPlumHound 直接连接 Neo4j(bolt://localhost:7687),按任务文件(-x)批量执行预置或自定义 Cypher 查询并产出报告;--easy用于快速生成默认报告,红队场景则常使用定制任务文件聚焦本组织的重点攻击面。
仓库自带分析器 process.py
与 PlumHound 互补,scripts/process.py 提供了纯离线分析能力——不依赖 Neo4j,直接解析采集 ZIP 中的 JSON 数据:
# 导入 BloodHound ZIP 并做全量分析 python process.py --import-data bloodhound_data.zip --analyze # 查询指定类型目标(kerberoastable / asrep / unconstrained / privileged / legacy / no-laps) python process.py --query kerberoastable --domain targetdomain.local # 生成 Markdown 报告与 Cypher 查询清单 python process.py --generate-report --output ./ad_report其报告生成逻辑(generate_report())会输出结构化 Markdown,内容包括:环境汇总表(用户/计算机/组/域/GPO/OU 计数)、高危发现分节(Kerberoastable、AS-REP Roastable、无约束委派、特权账户、Password Not Required、无 LAPS 计算机、遗留操作系统、SID History 用户)、操作系统分布统计、推荐 Cypher 查询清单,以及按优先级排序的推荐攻击路径(Kerberoasting → AS-REP Roasting → 无约束委派滥用 → ACL 滥用链)。同时将查询清单导出为cypher_queries.json供二次使用。
输出报告的落盘格式可对照 assets/template.md 的专业模板:文档控制信息(域、项目 ID、评估人、密级)、执行摘要、攻击路径汇总(最短路径/ACL 路径/会话路径三张表)、Kerberoasting 与 AS-REP 目标表、委派问题清单、分级整改建议(Critical 立即 / High 30 天 / Medium 90 天),以及附录的"使用的 Cypher 查询"——把 Workflow 3 中跑过的每条查询原样归档,保证报告可审计、可复现。
检测视角:把攻击路径映射回防御框架
该技能不仅是攻击手册,其数据同样支撑防御侧的检测建设。standards.md 给出了完整的 MITRE ATT&CK 映射,可帮助蓝队反查"BloodHound 可能暴露了哪些攻击动作":
Discovery(TA0007):T1087.002(域账户发现)、T1069.001/002(本地/域权限组发现)、T1482(域信任发现)、T1615(组策略发现)、T1018(远程系统发现)、T1033(系统所有者/用户发现)、T1016(系统网络配置发现)。
提权与凭据访问路径:T1134.001(访问令牌操纵——会话数据支撑的令牌模拟)、T1078.002(有效域账户——凭据复用路径)、T1484.001(组策略域策略修改)、T1558.003(Kerberoasting)、T1558.004(AS-REP Roasting)。
SKILL.md 还将其映射到 NIST CSF 的 ID.RA-01 / GV.OV-02 / DE.AE-07 及 D3FEND 技术族,并给出了可勾选的验证清单:所有域均完成 SharpHound 采集、从已控账户到 DA 的攻击路径已识别、ACL 攻击路径已记录、Kerberoastable 与 AS-REP 账户已定位、按优先级排定利用计划、为报告留存证据截图。
从采集到报告的完整闭环
把五个工作流串起来,一条完整的 AD 攻击路径挖掘闭环是:
- 采集(Workflow 1):Windows 上用 SharpHound(
-c All/DCOnly/ 带--Loop的 Session),Linux 上用 bloodhound-python(密码或--hashes),多域环境逐域采集,必要时--Stealth; - 导入(Workflow 2):CE 版
docker compose up -d或 Legacy 版 Neo4j + 桌面客户端,将 ZIP 拖入图库; - 发现(Workflow 3):标记 owned 节点,跑最短路径到 DA、Kerberoastable / AS-REP、DCSync 权限、委派配置、GPO 链与六类 ACL 边查询;
- 利用(Workflow 4):按 ACL 链、会话链、GPO 链、委派链四条模板编排攻击步骤,逐步执行并记录证据;
- 报告(Workflow 5):PlumHound 对接 Neo4j 批量出报告,或离线用 process.py 解析 ZIP 生成 Markdown + JSON,再按 template.md 的章节结构收敛成正式交付物。
整套方法论的每一步(采集参数、查询语句、利用链推演、报告格式)都已固化在本技能的 SKILL.md、references 与 scripts 中,读者可在授权环境下直接按此流程复现。需要强调的是,BloodHound 是一把双刃剑:攻击者用它找最短提权路径,防御者同样可以用它验证纵深防御的有效性、优先修复高危 ACL 与委派配置。请始终在拥有书面授权的系统上开展测试。
【免费下载链接】Anthropic-Cybersecurity-Skills817 structured cybersecurity skills for AI agents · Mapped to 6 frameworks: MITRE ATT&CK, 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),仅供参考