executing-plans
executing-plans
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available
conducting-internal-reconnaissance-with-bloodhound-ce使用 BloodHound 社区版(Community Edition)进行内部活动目录(Active Directory)侦察,绘制攻击路径图,识别权限提升链,并发现域环境中的错误配置。
Independent GitHub snapshot · Automated classification · Original documentation governs
BloodHound 社区版(CE)是由 SpecterOps 开发的现代化基于 Web 的活动目录侦察平台,使用图论来揭示 AD 环境中隐藏的关系和攻击路径。与传统 BloodHound 应用不同,BloodHound CE 使用带有专用图数据库的 PostgreSQL 后端,提供更好的性能、现代化的 Web UI 和增强的 API 能力。红队使用 BloodHound CE 收集 AD 对象、ACL、会话、组成员关系和信任关系,然后可视化从低权限账户到高价值目标(如域管理员)的攻击路径。SharpHound 收集器(CE 版使用 v2)从活动目录收集数据,而 AzureHound 则从 Azure AD / Entra ID 环境收集数据。
curl -L https://ghst.ly/getbhce -o docker-compose.yml
docker compose pull
docker compose up -d
docker compose logs | grep "Initial Password"
# 执行全量收集
.\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
bloodhound-python -u user -p 'Password123' -d domain.local -ns 10.10.10.1 -c All
// 查找从已控制主体到域管理员的最短路径
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
| 工具 | 用途 | 平台 |
|---|---|---|
| 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 会话 | 管理员会话 → 令牌窃取 |