Decepticon BloodHound 数据分析技能指南:从授权采集上传到攻击路径查询
【免费下载链接】DecepticonAutonomous Hacking Agent for Red Team项目地址https://gitcode.com/gh_mirrors/de/Decepticon点击查看免费下载导读本文围绕 Decepticon 红队自动化框架中的bloodhound-query技能展开讲解在托管演练Hosted engagement与独立 OSS 运行时两种场景下如何对已授权的 AD 采集数据进行 BloodHound 图分析从 SharpHound ZIP 上传、领域概览与数据质量检查到对象画像、暴露面检索、最短攻击路径与有界 Cypher 查询再到 GUI 联动验证与证据落库。读完本文你将掌握bloodhound_mcp_*与bhce_*两套工具面的完整调用序列、它们之间的隔离边界以及如何避免空图即安全的误判。技能定位何时加载bloodhound-querybloodhound-query技能文件位于 packages/decepticon/decepticon/skills/standard/ad/bloodhound-query/SKILL.md其 frontmatter 明确了加载条件name: bloodhound-query description: Analyze authorized AD collection data in BloodHound CE with the active runtimes supported tools and mirrored GUI. metadata: subdomain: active-directory when_to_use: bloodhound collection upload object profile exposure shortest path cypher active directory mitre_attack: - T1087.002 # Account Discovery: Domain Account - T1018 # Remote System Discovery - T1482 # Domain Trust Discovery从when_to_use关键词collection upload/object profile/exposure/shortest path/cypher可以看出该技能聚焦的是采集数据之后的图分析阶段而不是采集本身。它与同目录下的 bloodhound-bhce/SKILL.md 形成分工后者负责运行时选择与采集前者负责上传后的查询与分析。父技能 ad/SKILL.md 的技能目录将其定位为 Authorized collection upload, coverage, object and path analysis并明确要求发现一个主机名并不会自动填充 BloodHound 图必须先有已授权领域的采集路径。第一原则收集 ≠ 分析空图 ≠ 安全技能开头即给出最关键的判定规则BloodHound analyzes collected AD data; discovering a domain or opening its viewer does not populate the graph. Work only with the authorized domain and an existing collection path. Report missing collection access rather than claiming an empty graph proves safety.这包含三层约束发现领域或打开查看器不产生数据——BloodHound 的图来自采集器SharpHound / AzureHound / BloodHound.py的输出只有上传并成功摄取后图才会被填充只对已授权领域、且存在采集路径的数据工作——超出授权范围的查询是越界行为空图必须报告为缺少采集访问而不是证明安全——这是评估结论上的关键红线缺失的数据不能当作负面证据使用。这与 ad/SKILL.md 工作流第 2 步一致A discovered hostname alone does not populate BloodHound. Inspect collection coverage before interpreting absent results.Hosted engagementbloodhound_mcp_*工具面在托管演练中Decepticon 为演练提供演练隔离engagement-isolated的 BloodHound CE 伴生实例独立 GUI 一组bloodhound_mcp_*工具。完整流程分四步。步骤 1上传已有采集包如果/workspace下已存在兼容的 SharpHound ZIP直接调用上传工具bloodhound_mcp_upload_collection(path...)路径必须指向/workspace下已授权的采集包必须核对返回的终端状态terminal status为Complete出现PartiallyComplete/Failed/Cancelled时要如实上报部分或失败的摄取结果不能当作成功处理。这一轮询至终端状态的语义与源码实现一致在 tools/ad/bh_tools.py 中bhce_ingest_zip运行 BHCE v9.2.2 官方的三步上传流程POST /api/v2/file-upload/start→POST /api/v2/file-upload/{job_id}→POST /api/v2/file-upload/{job_id}/end随后以 2 秒间隔轮询GET /api/v2/file-upload/{job_id}直到命中_TERMINAL_STATUSES {Complete, Failed, Cancelled, PartiallyComplete}或 600 秒超时见bh_tools.py中的_UPLOAD_POLL_INTERVAL_SECONDS/_UPLOAD_POLL_TIMEOUT_SECONDS。对应单元测试 tests/unit/ad/test_bh_tools.py 的test_bhce_ingest_zip_runs_three_step_and_polls_until_terminal验证了三步各恰好一次 至少两次轮询的行为契约。步骤 2无采集包时的授权采集若/workspace中没有现成 ZIP技能给出两条路径通过已授权立足点foothold采集并将 ZIP 传回/workspace当存在可达且已授权的 DC、且/workspace有 Kerberos 缓存时调用bloodhound_mcp_collect_domain(domain..., dc..., username..., cache...)参数匹配规则参数要求domain与授权领域一致dc已授权的作用域内 DCusername/cache使用/workspace中已有的 Kerberos 缓存对应的凭据采集模式有明确的分级约束默认从DCOnly开始——只采集域级对象覆盖面最小、噪音最低Default与Session模式必须显式提供计算机白名单computer allowlist否则不得使用严禁以 MCP 参数形式传递密码或哈希——凭据只能以缓存文件形式存在于/workspace。步骤 3上传完成后的分析序列上传成功后工具调用顺序应遵循由总到分、语义工具优先的原则数据质量与概览先行bloodhound_mcp_data_quality—— 检查采集覆盖度判断缺边是真实不存在还是采集不完整这是空图误判的第一道防线bloodhound_mcp_domain_overview—— 获取领域级对象统计。定向对象检索bloodhound_mcp_find_objects—— 按名称/属性搜索对象bloodhound_mcp_object_profile—— 查看单个主体的完整画像成员关系、ACL、会话等。有界问题分析bloodhound_mcp_exposure_finder—— 暴露面检索用于谁对什么有路径类问题bloodhound_mcp_shortest_path—— 最短路径查询用于从 A 到 B 的最短可达路径。Cypher 兜底bloodhound_mcp_cypher_query——仅当上述语义工具无法回答某个只读问题时才使用使用时必须约束返回行数bound returned rows与路径深度path depth防止无界查询拖垮伴生实例。技能强调语义工具优先、Cypher 兜底的分层与 dcsync/SKILL.md 的用法一致——它同样要求用bloodhound_mcp_exposure_finder/bloodhound_mcp_object_profile识别复制权限持有者仅在针对特定主体时才用有界的只读bloodhound_mcp_cypher_query且必须先做数据质量检查再解读无暴露结果。步骤 4GUI 联动验证与结果记录GUI 联动状态在声称操作员能在界面上看到某对象/路径之前必须先检查GUI follow 状态follow status——只有返回的联动状态才能证明远程查看器确实移动到了目标对象打开查看器本身不算证据证据区分候选图路径candidate graph path≠ 已由独立证据证明的动作action proven by independent evidence二者不可混同结果落库确认后的结果必须通过当前演练的finding 与 OPPLAN 工具记录图查询结果本身既不能授权对目标的操作也不能证明入侵成功与 ad/SKILL.md 工作流第 4 步一致。隔离边界托管图 ≠ 独立实例托管 MCP 图与任何独立 BloodHound 实例物理隔离技能明确禁止在托管分析中调用bhce_*工具指向独立 OSS 实例bh_ingest_zip已弃用的自研摄取工具bh_cypher本机cypher-shell这条边界的底层依据来自架构决策 docs/adr/0005-bloodhound-via-bhce-rest-client.mdBHCE 的dawgs驱动独占其 Neo4j schema因此仓库为 BHCE 单独部署decepticon-bhce-neo4j与decepticon-bhce-api容器指向独立的bloodhoundPostgres 库与 Decepticon 自身的 KGStore 图web/cloud/AD 融合图物理分离。混用两套实例的数据会导致把 A 实例的采集当成当前演练的 B 实例数据的伪证据。Standalone OSS runtimebhce_*工具面当托管 MCP 工具缺失、但注册了独立的bhce_*工具时技能给出三个工具的完整用法工具用途bhce_status检查本地 BHCE 实例健康版本 认证主体bhce_ingest_zip摄取兼容的 SharpHound ZIP官方三步上传流程bhce_cypher有界只读 Cypher 查询关键约束先确认工具已注册再使用——不要假设某个固定版本或 schema 存在以实际实例上报的能力为准bloodhound-bhce/SKILL.md 同样强调 Do not assume a fixed BloodHound version or schema; use the actual instances reported capabilities绝不允许把另一个实例的数据当作当前演练的采集数据bhce_cypher只用于有界只读查询。源码视角bhce_*如何工作bhce_*工具面实现在 tools/ad/bh_tools.py其底层是手写的 BHCE v9.2.2 REST 客户端 tools/ad/bhce_client.py。客户端通过环境变量构造BHCE_URL/BHCE_TOKEN_ID/BHCE_TOKEN_KEY/BHCE_TIMEOUT默认 30 秒并实现 BHCE 官方的HMAC 三级签名链OperationKey HMAC_SHA256(token_secret, METHOD || URI_PATH) # URI 含查询串 DateKey HMAC_SHA256(OperationKey, RFC3339[:13]) # 截断到小时 BodyKey HMAC_SHA256(DateKey, body_bytes) # 空 body 也执行第三次 HMAC Signature base64(BodyKey)随请求携带三个认证头Authorization: bhesignature TOKEN_ID、RequestDate: 完整 RFC3339、Signature: base64。两个值得注意的细节签名输入中的日期截断到小时、而请求头携带完整时间客户端刻意匹配 BHCE服务端的签名行为服务端将 query 字符串纳入RequestURI参与签名而其 Go 客户端只签 path——因为决定请求接受与否的是服务端。服务器时钟偏差窗口为 ±1 小时ADR-0005 中明确指出文档页面上2 小时的说法不准确。签名兼容性由 tests/unit/ad/test_bhce_client.py 固定测试向量来自对 BHCEcmd/api/src/api/signature.go的逐字crypto/hmac复现而非用自研算法自证从而保证与官方服务端验证器字节级兼容。为什么不是bh_ingest_zipADR-0005 的弃用脉络技能的禁止bh_ingest_zip要求背后是一次明确的架构迁移。docs/adr/0005-bloodhound-via-bhce-rest-client.md 记录了决策不再用自研 Python/Cypher 重实现 BloodHound CE 的PostProcessedRelationshipsESC1/3/4/6/9/13、GoldenCert、DCSync、TrustedForNTAuth 等改为直连官方 BHCE REST API——上游每发布一个新 ESC 类型、边重命名或 Properties 键变更自研管线都要一轮 RFC 正则 狗粮验证成本不可持续。因此旧工具面bh_ingest_zip、bh_ingest_json、dcsync_check、delegation_audit、gpo_audit、adcs_audit、adcs_post_process进入弃用通道在 tools/ad/tools.py 中它们每次调用都会触发DeprecationWarning提示改用bhce_status/bhce_cypher/bhce_ingest_zip保留一个次要周期后迁入decepticon.compat再下一周期移除。唯一保留的自研工具是kerberos_classify——BHCE 没有对应的本地哈希/票据解析器。从源码结构看旧摄取管线tools/ad/bloodhound.py仍保留了完整的 BloodHound 5.x JSON → KGStore 映射能力ingest_bloodhound_zip/merge_bloodhound_json包括 PrimaryGroupSID 合成、会话方向保留、ContainedBy 翻转、信任关系四向拆分等五项陷阱修复但它服务的是 KGStore 融合图与 BHCE 托管图是两条不同的数据通道——这也再次印证了技能中托管图与独立实例数据不得混用的隔离要求。端到端实战序列对照速查以下是将上述规则串成一次完整分析的最小序列托管演练场景# 1. 已有采集包 → 上传并核验 bloodhound_mcp_upload_collection(path/workspace/bh.zip) # 必须返回 terminal status Complete # 2. 无采集包且授权 DC 可达、有 Kerberos 缓存 → 分级采集 bloodhound_mcp_collect_domain(domaincorp.local, dcdc01.corp.local, usernamesvc_audit, cache/workspace/krb.ccache) # 仅 DCOnly 起步 # 3. 质量与概览 bloodhound_mcp_data_quality bloodhound_mcp_domain_overview # 4. 定向对象与画像 bloodhound_mcp_find_objects(querysvc_*) bloodhound_mcp_object_profile(object_id...) # 5. 有界问题 bloodhound_mcp_exposure_finder(start..., target...) bloodhound_mcp_shortest_path(start..., target..., max_depth5) # 6. 兜底语义工具答不了才用 Cypher务必有界 bloodhound_mcp_cypher_query(queryMATCH (n)-[:GetChanges|GetChangesAll]-(:Domain) RETURN DISTINCT n.name, labels(n) LIMIT 25) # 7. 确认 GUI follow 状态 → finding / OPPLAN 工具落库对应独立 OSS 运行时将 1/6 两步替换为bhce_ingest_zip(path...)同样轮询至Complete与bhce_cypher(query..., include_propertiestrue)并以bhce_status先行确认实例健康。常见误用与规避误用后果正确做法发现域名/打开 GUI 后直接声称图已就绪图未填充分析基于空数据先完成上传 数据质量检查空图即安全把采集缺失当负面证据上报缺少采集访问把 A 实例数据当当前演练数据伪证据、越权判定严守托管图与独立实例隔离语义工具能答的问题直接用 Cypher无界查询拖垮实例、可读性差优先exposure_finder/shortest_pathCypher 兜底且有界未核对 GUI follow 状态即声称操作员已看到证据链断裂以返回的 follow 状态为准把候选图路径当作已证明的动作假阳性结论独立证据验证后再记录向 MCP 传密码/哈希凭据泄露面扩大只使用/workspace缓存小结bloodhound-query技能在 Decepticon 中承担 AD 分析数据进入图之后的全部工作它用bloodhound_mcp_*完成托管演练的上传 → 采集 → 质量检查 → 对象/暴露面/最短路径 → 有界 Cypher → GUI 验证 → 落库闭环用bhce_*支撑独立 OSS 运行时的等价能力并以空图不等于安全的判定红线约束结论输出。背后是 ADR-0005 确立的直连官方 BHCE REST API、弃用自研重实现的架构方向以及bhce_client.py对 HMAC 签名链的字节级兼容实现。对红队自动化而言这套技能既是操作手册也是图结果本身不构成入侵证据的纪律约束。赞分享【免费下载链接】DecepticonAutonomous Hacking Agent for Red Team项目地址https://gitcode.com/gh_mirrors/de/Decepticon点击查看免费下载相关推荐Decepticon 实战指南BloodHound CE 运行时选择与 AD 攻击路径分析bloodhound-bhce SkillDecepticon 实战指南BloodHound CE 运行时选择与 AD 攻击路径分析bloodhound bhce Skill 本文面向使用 Dec从数据采集到路径分析BloodHound完整技术栈解密从数据采集到路径分析BloodHound完整技术栈解密 BloodHound作为一款基于图论的Active Directory与Azure环境分析工具其技术网络安全应用安全BloodHound CE 内网侦察 API 实战指南Python 驱动、Cypher 攻击路径查询与自动化采集BloodHound CE 内网侦察 API 实战指南Python 驱动、Cypher 攻击路径查询与自动化采集 导读 本指南以 conducting int网络安全AI 技能/插件渗透测试红蓝对抗上一篇codeforces-go 题解LCM 结合律与栈模拟实现相邻非互质数合并LeetCode 283 周赛 D 题下一篇【前端开发】条形码生成难题的JavaScript解决方案创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

Lists 上游源监控体系:从 YAML 配置到自动化 PR 的全链路解析

Lists 上游源监控体系:从 YAML 配置到自动化 PR 的全链路解析

网络安全 【免费下载链接】Lists Primary Block Lists 项目地址: https://gitcode.com/gh_mirrors/lis/Lists 点击查看 免费下载 本文基于 Lists 仓库的实现总结文档 UPSTREAM_IMPLEMENTATION_SUMMARY.md,完整解析该项目"上游威胁源监控&#xff0…

2026/10/13 2:48:36 阅读更多 →
Decepticon Recon 工作流全解:攻击面测绘、范围纪律与结构化 Exploit 交接

Decepticon Recon 工作流全解:攻击面测绘、范围纪律与结构化 Exploit 交接

【免费下载链接】Decepticon Autonomous Hacking Agent for Red Team 项目地址: https://gitcode.com/gh_mirrors/de/Decepticon 点击查看 免费下载 导读 本文围绕 Decepticon(红队自主攻击 Agent)的 recon 工作流文档 展开,完整…

2026/10/13 2:48:36 阅读更多 →
大型工业源码怎么读?西门子SICAR MES项目实战走读全记录

大型工业源码怎么读?西门子SICAR MES项目实战走读全记录

拿到一份西门子SICAR特拉拉项目源码的第一天,我没有急着点开任何一个Java文件。压缩包解压完,整个仓库的顶层目录就有十几个,Java文件数量粗粗一数超过两千,数据脚本、配置文件、静态资源散落各处。这种体量的源码,一上…

2026/10/13 2:48:36 阅读更多 →

最新新闻

微信云开发租房小程序实战:架构选型、核心功能与避坑建议

微信云开发租房小程序实战:架构选型、核心功能与避坑建议

刚把第七次搬家收拾完的行李摆好,我又打开了某租房App刷附近的房源。这个场景相信很多人都不陌生:房源信息真假掺半,约好的看房时间被临时放鸽子,中介的电话一个接一个,真正合适的房子却像海底捞针。当时我就在想&…

2026/10/13 5:09:25 阅读更多 →
Nginx 配置 Vue Router 404 排查:try_files 回退与子路径部署实践

Nginx 配置 Vue Router 404 排查:try_files 回退与子路径部署实践

我先说个场景:线上项目刚部署完,首页打开一切正常,前端路由跳转也都丝滑。然后你随手在地址栏直接输了一个二级路由的URL,回车,浏览器给你甩了个大大的白色 404。再刷新一次当前页,又是404。群里马上炸开锅…

2026/10/13 5:09:25 阅读更多 →
算法学习操作系统:从认知坐标到能力跃迁的实战路径

算法学习操作系统:从认知坐标到能力跃迁的实战路径

1. 这不是“一篇就够了”,而是你真正能带走的算法学习地图“学习数据结构与算法,看这篇就够了”——这句话我见过太多次,也亲手删掉过太多次。它像一张印着“此路通罗马”的旅游地图,漂亮、完整、色彩分明,但当你真背上…

2026/10/13 5:09:25 阅读更多 →
人体工学与磁疗协同坐垫:专利中的精准干预机制

人体工学与磁疗协同坐垫:专利中的精准干预机制

坐在办公桌前第三个小时,腰开始发沉,尾骨那块儿像压了一块透不过气的石头。这类问题我碰过太多次,自己也是久坐人群,所以当同行拿来一款样品坐垫,说这是“人体工学与磁疗协同设计的专利产品”时,我第一反应…

2026/10/13 5:09:25 阅读更多 →
AI学术洞察:从文献检索到研究助手的效率革命

AI学术洞察:从文献检索到研究助手的效率革命

1. 一个让我彻底改观的功能:从“用的工具”变成“团队大脑”先说说我的使用背景。去年我在做一个偏交叉学科的课题,涉及教育技术、认知心理和数据挖掘三块内容。传统做法是:知网、Web of Science、Google Scholar轮流刷,先看综述&…

2026/10/13 5:09:25 阅读更多 →
CentOS手动编译FFmpeg:集成libx264、libfdk-aac与openssl实战指南

CentOS手动编译FFmpeg:集成libx264、libfdk-aac与openssl实战指南

1. 项目概述:为什么在CentOS上手动编译FFmpeg远比yum install重要在某高校多媒体实验室做视频转码系统维护时,我第一次被“默认FFmpeg”坑得不轻——用yum install ffmpeg装完,跑个H.264编码就报错“Unknown encoder libx264”,AA…

2026/10/13 5:08:23 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 21:05:09 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 14:48:49 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →