域渗透:BloodHound 域关系分析

用 BloodHound + SharpHound 做域关系图分析,找最短攻击路径到域管,原理、影响、利用、检测、防御与修复。

写在前面:合法学习边界

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
5
6
# Windows 域内
SharpHound.exe -c All
# 解释:采集域内用户/组/会话/ACL 关系,打包成 zip
# 或 Linux 侧用采集器
bloodhound-python -u user -p pass -d corp.local -ns 域控IP -c All
# 解释:无需登录 Windows,用 LDAP 远程采集域数据

生成 .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 把“域渗透靠经验”变成“按图索骥”:采集 → 导入 → 找最短路径 → 落地利用。防守方也用它做自测,用同一种工具理解攻击面,才能针对性加固。