写在前面:合法学习边界
BloodHound 分析只允许在授权域环境进行。在真实域里采集并利用域关系可能触犯法律。
一、漏洞原理
域里的权限关系极其复杂(组嵌套、GPO、成员关系)。BloodHound 把这些关系建模成图,帮攻击者找到从当前账号到域管的最短攻击路径。
1
2
3
| SharpHound:采集域数据(用户/组/会话/ACL/关系)
Neo4j:存图数据库
BloodHound UI:可视化查询攻击路径
|
它不直接“打”,而是告诉你“怎么打”。
二、影响与危害
1
2
3
4
| 一眼看清域权限结构
找出到域管的最短路径
发现 Kerberoastable、AdminTo、CanDCSync 等高价值关系
大幅加速域渗透
|
风险等级:高(信息优势巨大)。
三、利用 / 复现
环境准备
1
2
| Neo4j + BloodHound 客户端
域内一台可执行命令的机器
|
第一步:采集
1
2
3
4
| # Windows 域内
SharpHound.exe -c All
# 或 Linux 侧用采集器
bloodhound-python -u user -p pass -d corp.local -ns 域控IP -c All
|
生成 .zip 数据包。
第二步:导入并分析
1
2
3
4
5
6
| 把 zip 拖进 BloodHound UI
使用预置查询:
- Find all Domain Admins
- Find Shortest Paths to Domain Admins
- Find Kerberoastable Users
- Find Users with CanDCSync
|
第三步:找攻击路径
1
2
3
4
| 从“当前账号”出发
看是否有 AdminTo / GenericAll / WriteDACL 等高权限关系
沿路径逐跳推进到域管
配合 Kerberoasting / 票据 / PtH 落地
|
四、检测
1
2
3
4
| 域内出现大量 LDAP 查询(SharpHound 采集特征)
异常账号批量枚举用户/组/ACL
BloodHound 采集期间流量突增
对 LDAP 查询频率告警
|
五、防御
1
2
3
4
5
| 清理高权限组的不必要成员
收紧 ACL(GenericAll/WriteDACL 最小化)
减少域管账号与会话
启用 LDAP 审计与异常查询告警
定期用 BloodHound 自测找攻击路径
|
六、修复
1
2
3
4
| 移除不必要的高权限关系与嵌套组
重置被泄露账号、下线高权限会话
收紧 GPO 与对象 ACL
修复后复测:攻击路径数量显著下降
|
七、小结
BloodHound 把“域渗透靠经验”变成“按图索骥”:采集 → 导入 → 找最短路径 → 落地利用。防守方也用它做自测,用同一种工具理解攻击面,才能针对性加固。