bloodhound-enum

$npx mdskill add wgpsec/AboutSecurity/bloodhound-enum

Collect Active Directory data via LDAP/Kerberos for attack path analysis.

  • Enumerates users, groups, computers, sessions, ACLs, and trusts.
  • Integrates with LDAP, DNS, and Kerberos protocols for remote collection.
  • Executes commands using password, NTLM hash, or Kerberos authentication.
  • Outputs structured JSON data for visualization in BloodHound GUI.
SKILL.md
.github/skills/bloodhound-enumView on GitHub ↗
---
name: bloodhound-enum
description: "使用 BloodHound.py 进行 Active Directory 信息采集。当需要枚举域内用户、组、计算机、会话、ACL、信任关系,分析域内攻击路径时使用。BloodHound.py 是 BloodHound 的 Python 采集器,通过 LDAP/DNS/Kerberos 协议采集 AD 数据并输出 JSON 供 BloodHound GUI 分析。任何涉及域渗透、AD 枚举、攻击路径分析的场景都应使用此技能"
metadata:
  tags: "bloodhound,AD,域渗透,Active Directory,LDAP,Kerberos,枚举,ACL,信任关系,攻击路径,域控"
  category: "tool"
---

# BloodHound.py AD 信息采集方法论

BloodHound.py 是 BloodHound 的 Python 采集器。核心优势:**无需在目标执行**(通过 LDAP/DNS 远程采集)+ **全面覆盖**(用户/组/计算机/会话/ACL/信任关系)+ **JSON 输出**(导入 BloodHound GUI 分析攻击路径)。

项目地址:https://github.com/dirkjanm/BloodHound.py

## Phase 1: 基本采集

```bash
# 全量采集(最常用)
bloodhound-python -d corp.local -u user -p 'P@ssw0rd' -c All

# 指定域控 IP
bloodhound-python -d corp.local -u user -p 'P@ssw0rd' -c All -dc 10.0.0.1

# 指定 DNS 服务器
bloodhound-python -d corp.local -u user -p 'P@ssw0rd' -c All -ns 10.0.0.1

# 输出压缩包
bloodhound-python -d corp.local -u user -p 'P@ssw0rd' -c All --zip
```

## Phase 2: 认证方式

```bash
# 密码认证
bloodhound-python -d corp.local -u user -p 'P@ssw0rd' -c All

# NTLM Hash 认证(Pass the Hash)
bloodhound-python -d corp.local -u user --hashes aad3b435b51404eeaad3b435b51404ee:hash -c All

# Kerberos 认证
bloodhound-python -d corp.local -u user -p 'P@ssw0rd' -c All -k

# 使用 ccache 票据
export KRB5CCNAME=/tmp/krb5cc_user
bloodhound-python -d corp.local -u user -c All -k --auth-method kerberos
```

## Phase 3: 采集方式选择

```bash
# 默认采集(Group + LocalAdmin + Session + Trusts)
bloodhound-python -d corp.local -u user -p pass -c Default

# 仅采集组成员关系
bloodhound-python -d corp.local -u user -p pass -c Group

# 仅采集本地管理员
bloodhound-python -d corp.local -u user -p pass -c LocalAdmin

# 仅采集会话信息
bloodhound-python -d corp.local -u user -p pass -c Session

# ACL 采集(分析权限关系)
bloodhound-python -d corp.local -u user -p pass -c ACL

# 信任关系
bloodhound-python -d corp.local -u user -p pass -c Trusts
```

## Phase 4: 导入与分析

采集完成后将 JSON/ZIP 文件导入 BloodHound GUI:

```bash
# 启动 Neo4j(BloodHound 后端)
sudo neo4j start

# 打开 BloodHound GUI,拖拽 JSON/ZIP 文件导入
# 常用查询:
# - Find all Domain Admins
# - Shortest Path to Domain Admins
# - Find Kerberoastable Users
# - Find AS-REP Roastable Users
```

## 渗透测试常用场景

| 场景 | 命令 |
|------|------|
| 全量采集 | `bloodhound-python -d corp.local -u user -p pass -c All --zip` |
| PTH 采集 | `bloodhound-python -d corp.local -u user --hashes LM:NT -c All` |
| 仅 ACL 分析 | `bloodhound-python -d corp.local -u user -p pass -c ACL` |
| 指定 DC | `bloodhound-python -d corp.local -u user -p pass -c All -dc 10.0.0.1 -ns 10.0.0.1` |
More from wgpsec/AboutSecurity