conducting-internal-reconnaissance-with-bloodhound-ce

使用 BloodHound 社区版(Community Edition)进行内部活动目录(Active Directory)侦察,绘制攻击路径图,识别权限提升链,并发现域环境中的错误配置。

9 stars

Best use case

conducting-internal-reconnaissance-with-bloodhound-ce is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

使用 BloodHound 社区版(Community Edition)进行内部活动目录(Active Directory)侦察,绘制攻击路径图,识别权限提升链,并发现域环境中的错误配置。

Teams using conducting-internal-reconnaissance-with-bloodhound-ce 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

$curl -o ~/.claude/skills/conducting-internal-reconnaissance-with-bloodhound-ce/SKILL.md --create-dirs "https://raw.githubusercontent.com/killvxk/cybersecurity-skills-zh/main/skills/conducting-internal-reconnaissance-with-bloodhound-ce/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/conducting-internal-reconnaissance-with-bloodhound-ce/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How conducting-internal-reconnaissance-with-bloodhound-ce Compares

Feature / Agentconducting-internal-reconnaissance-with-bloodhound-ceStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

使用 BloodHound 社区版(Community Edition)进行内部活动目录(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

# 使用 BloodHound CE 进行内部侦察

## 概述

BloodHound 社区版(CE)是由 SpecterOps 开发的现代化基于 Web 的活动目录侦察平台,使用图论来揭示 AD 环境中隐藏的关系和攻击路径。与传统 BloodHound 应用不同,BloodHound CE 使用带有专用图数据库的 PostgreSQL 后端,提供更好的性能、现代化的 Web UI 和增强的 API 能力。红队使用 BloodHound CE 收集 AD 对象、ACL、会话、组成员关系和信任关系,然后可视化从低权限账户到高价值目标(如域管理员)的攻击路径。SharpHound 收集器(CE 版使用 v2)从活动目录收集数据,而 AzureHound 则从 Azure AD / Entra ID 环境收集数据。

## 目标

- 使用 Docker Compose 部署 BloodHound CE 服务器
- 使用 SharpHound v2 或 BloodHound.py 收集 AD 数据
- 将收集的数据导入 BloodHound CE 进行图分析
- 识别从已控制主体到域管理员的最短攻击路径
- 发现基于 ACL 的攻击路径、Kerberoastable 账户和委派滥用
- 执行自定义 Cypher 查询进行高级攻击路径分析
- 生成攻击路径报告用于演练记录

## MITRE ATT&CK 映射

- **T1087.002** - 账户发现:域账户
- **T1069.002** - 权限组发现:域组
- **T1482** - 域信任发现
- **T1615** - 组策略发现
- **T1018** - 远程系统发现
- **T1033** - 系统所有者/用户发现
- **T1016** - 系统网络配置发现

## 实施步骤

### 阶段一:BloodHound CE 部署
1. 使用 Docker Compose 部署 BloodHound CE:
   ```bash
   curl -L https://ghst.ly/getbhce -o docker-compose.yml
   docker compose pull
   docker compose up -d
   ```
2. 访问 Web 界面:https://localhost:8080
3. 使用默认管理员凭据登录(显示在 Docker 日志中):
   ```bash
   docker compose logs | grep "Initial Password"
   ```
4. 立即修改默认管理员密码

### 阶段二:使用 SharpHound v2 收集数据
1. 将 SharpHound v2 传输到已控制的 Windows 主机:
   ```powershell
   # 执行全量收集
   .\SharpHound.exe -c All --outputdirectory C:\Temp

   # 仅 DC 收集(仅 LDAP,更隐蔽)
   .\SharpHound.exe -c DCOnly

   # 会话收集,用于映射已登录用户
   .\SharpHound.exe -c Session --loop --loopduration 02:00:00

   # 从特定域收集
   .\SharpHound.exe -c All -d child.domain.local
   ```
2. 替代方案:从 Linux 使用 BloodHound.py:
   ```bash
   bloodhound-python -u user -p 'Password123' -d domain.local -ns 10.10.10.1 -c All
   ```
3. 将生成的 ZIP 文件导出到分析工作站

### 阶段三:数据导入与初步分析
1. 通过 BloodHound CE Web 界面上传收集的数据(文件摄入)
2. 在界面中将已控制的账户标记为"Owned"
3. 运行内置分析查询:
   - 到域管理员的最短路径
   - 具有到 DA 路径的 Kerberoastable 用户
   - AS-REP Roastable 用户
   - 具有 DCSync 权限的用户
   - 具有非约束委派的计算机

### 阶段四:自定义 Cypher 查询
1. 在 BloodHound CE 搜索栏中执行自定义 Cypher 查询:
   ```cypher
   // 查找从已控制主体到域管理员的最短路径
   MATCH p=shortestPath((n {owned:true})-[*1..]->(m:Group {name:"DOMAIN ADMINS@DOMAIN.LOCAL"}))
   RETURN p

   // 查找具有到 DA 路径的 Kerberoastable 用户
   MATCH (u:User {hasspn:true})
   MATCH p=shortestPath((u)-[*1..]->(g:Group {name:"DOMAIN ADMINS@DOMAIN.LOCAL"}))
   RETURN p

   // 查找具有 DA 成员会话的计算机
   MATCH (c:Computer)-[:HasSession]->(u:User)-[:MemberOf*1..]->(g:Group {name:"DOMAIN ADMINS@DOMAIN.LOCAL"})
   RETURN c.name, u.name

   // 查找基于 ACL 的攻击路径(GenericAll, WriteDACL, GenericWrite)
   MATCH p=(u:User)-[:GenericAll|GenericWrite|WriteDacl|WriteOwner|ForceChangePassword*1..]->(t)
   WHERE u.owned = true
   RETURN p

   // 查找可以 DCSync 的用户
   MATCH (u)-[:MemberOf*0..]->()-[:DCSync|GetChanges|GetChangesAll*1..]->(d:Domain)
   RETURN u.name, d.name

   // 查找有 LAPS 但非管理员可读的计算机
   MATCH (c:Computer {haslaps:true})
   MATCH p=(u:User)-[:ReadLAPSPassword]->(c)
   RETURN p
   ```

### 阶段五:攻击路径优先级排序
1. 按以下标准对已识别的攻击路径评分:
   - 跳数(越少 = 优先级越高)
   - 隐蔽性要求(避免嘈杂的技术)
   - 每一跳的工具可用性
   - 每个步骤的检测可能性
2. 为优先级最高的路径制定执行计划
3. 识别攻击链中每个步骤所需的工具
4. 为每种技术规划 OPSEC 注意事项

## 工具与资源

| 工具 | 用途 | 平台 |
|------|---------|----------|
| BloodHound CE | 基于 Web 的图分析平台 | Docker |
| SharpHound v2 | AD 数据收集(.NET,用于 CE) | Windows |
| BloodHound.py | AD 数据收集(Python) | Linux |
| AzureHound | Azure AD / Entra ID 数据收集 | 跨平台 |
| PlumHound | 自动化 BloodHound 报告 | Python |
| BloodHound 查询库 | 社区 Cypher 查询存储库 | Web |

## 关键攻击路径类型

| 路径类型 | 描述 | 示例 |
|-----------|-------------|---------|
| ACL 滥用 | 利用错误配置的 ACL | DA 组上的 GenericAll |
| Kerberoasting | 破解服务账户密码 | SPN 账户 → DA |
| AS-REP Roasting | 攻击不需要预认证的账户 | 无预认证用户 → 密码破解 |
| 委派滥用 | 利用非约束/约束委派 | 计算机 → 模拟 DA |
| GPO 滥用 | 修改应用于特权 OU 的 GPO | GPO 写入 → DA 上代码执行 |
| 会话劫持 | 利用已控制主机上的 DA 会话 | 管理员会话 → 令牌窃取 |

## 验证标准

- [ ] BloodHound CE 已部署并可访问
- [ ] 已从范围内所有域收集 SharpHound v2 数据
- [ ] 数据已成功导入 BloodHound CE
- [ ] 已控制的主体在界面中已标记
- [ ] 已识别到域管理员的最短路径
- [ ] 已记录基于 ACL 的攻击路径
- [ ] 已列出 Kerberoastable 和 AS-REP Roastable 账户
- [ ] 已执行自定义 Cypher 查询进行高级分析
- [ ] 已按可行性和隐蔽性对攻击路径进行优先级排序
- [ ] 已生成包含所有已识别路径和证据的报告

Related Skills

performing-active-directory-bloodhound-analysis

9
from killvxk/cybersecurity-skills-zh

使用 BloodHound 和 SharpHound 枚举活动目录(Active Directory)关系,从已控制的用户识别到域管理员的攻击路径。

exploiting-active-directory-with-bloodhound

9
from killvxk/cybersecurity-skills-zh

BloodHound 是基于图论的活动目录侦察工具,使用图论揭示 AD 环境中隐藏的和意外的关系。红队使用 BloodHound 识别从已控制账户到域管理员等高价值目标的攻击路径。

conducting-wireless-network-penetration-test

9
from killvxk/cybersecurity-skills-zh

执行授权的无线网络渗透测试,通过测试弱加密协议、强制门户绕过、邪恶双胞胎攻击、WPA2/WPA3 握手捕获、流氓接入点检测和客户端攻击,评估 WiFi 基础设施的安全性。

conducting-spearphishing-simulation-campaign

9
from killvxk/cybersecurity-skills-zh

鱼叉式钓鱼(Spearphishing)模拟是红队用于获取初始访问权限的定向社会工程学攻击向量。与广泛的钓鱼活动不同,鱼叉式钓鱼使用 OSINT 情报精心制作高度个性化的消息,针对特定个人。

conducting-social-engineering-pretext-call

9
from killvxk/cybersecurity-skills-zh

规划并执行授权的语音钓鱼(vishing)借口电话,以评估员工对社会工程学(Social Engineering)的易感性,并评估安全意识控制措施的有效性。

conducting-social-engineering-penetration-test

9
from killvxk/cybersecurity-skills-zh

设计并执行社会工程学渗透测试,包括钓鱼、语音钓鱼、短信钓鱼和物理借口活动,以衡量人员安全韧性并识别培训差距。

conducting-post-incident-lessons-learned

9
from killvxk/cybersecurity-skills-zh

主持结构化的事件后审查,以识别根本原因、记录有效和无效的措施,并提出可操作的改进建议以提升未来的事件响应能力。

conducting-phishing-incident-response

9
from killvxk/cybersecurity-skills-zh

通过分析举报的邮件、提取指标、评估凭据受攻陷情况、在全组织范围隔离恶意邮件并修复受影响账号来响应网络钓鱼事件。涵盖邮件头分析、URL/附件沙箱检测和邮箱范围清除操作。适用于网络钓鱼响应、邮件事件、凭据钓鱼、鱼叉式网络钓鱼调查或钓鱼修复相关请求。

conducting-pass-the-ticket-attack

9
from killvxk/cybersecurity-skills-zh

票据传递(Pass-the-Ticket,PtT)是一种横向移动技术,使用窃取的 Kerberos 票据(TGT 或 TGS)在不知道用户密码的情况下向服务进行认证。通过从已控制的主机内存中提取 Kerberos 票据,攻击者可以将这些票据注入自己的会话以模拟票据所有者。

conducting-network-penetration-test

9
from killvxk/cybersecurity-skills-zh

对授权目标环境执行全面网络渗透测试,通过主机发现、端口扫描、服务枚举、漏洞识别和受控漏洞利用,评估网络基础设施的安全态势。测试人员遵循 PTES 方法论,从侦察到后渗透和报告全流程执行。

conducting-mobile-application-penetration-test

9
from killvxk/cybersecurity-skills-zh

对 Android 和 iOS 应用执行移动应用渗透测试,使用 Frida、Objection 和 MobSF 识别不安全的数据存储、证书固定绕过、API 漏洞、二进制保护缺陷和运行时操控问题。

conducting-mobile-app-penetration-test

9
from killvxk/cybersecurity-skills-zh

遵循 OWASP 移动应用安全测试指南(MASTG)对 iOS 和 Android 移动应用执行渗透测试,识别数据存储、网络通信、认证、密码学和平台专属安全控制中的漏洞。测试人员对应用二进制文件进行静态分析、运行时动态分析和 API 安全测试,以评估完整的移动攻击面。