如何像红队专家一样高效利用Bloodhound进行内网侦察?
内网渗透之域关系探测神器:Bloodhound
在红队行动中,内网侦察往往是最耗时却至关重要的环节。传统手工分析Active Directory关系需要耗费数周时间,而Bloodhound的出现彻底改变了这一局面。这款基于图论的分析工具能在几分钟内绘制出整个域环境的攻击路径图,让红队专家能够快速识别特权提升的突破口。

数据采集的精准策略
高效使用Bloodhound始于数据收集阶段。红队专家通常会采用多种采集器并行工作:SharpHound.exe适用于Windows环境,而BloodHound.py则能绕过某些端点防护。关键是要根据目标环境特点调整采集范围——如果时间紧迫,使用-CollectionMethod All参数进行全量采集;在需要隐蔽行动时,则选择-CollectionMethod Session,LocalGroup进行最小化采集。有经验的红队成员会在非工作时间分段执行数据收集,避免触发安全警报。
图数据库查询的艺术
导入数据后,真正的技巧在于如何解读图数据库中的关系。新手往往止步于预置查询,而专家则擅长构建自定义Cypher查询。比如查找具有跨域管理权限的服务账户:
MATCH (u:User)-[:MemberOf*1..]->(g:Group)-[:AdminTo]->(c:Computer)
WHERE u.serviceprincipalname IS NOT NULL
RETURN u.name,g.name,c.name
这类查询能发现常规扫描容易遗漏的横向移动路径。去年某次渗透测试中,我们通过类似查询发现了一个具有16台服务器本地管理员权限的备份服务账户,而这个账户甚至不在任何特权组中。
攻击路径的优先级排序
Bloodhound可能会展示数百条可能的攻击路径,红队专家需要快速识别最高价值的路径。通常我们会关注具有以下特征的路径:路径长度短(3跳以内)、涉及高权限账户、包含不受监控的服务账户。实际操作中,最短路径不一定是最优选择——有时绕过监控严格的核心组,选择经过外围系统的路径反而更有效。
与其它工具的协同作战
真正的专家从不单独使用Bloodhound。他们会将发现的攻击路径与Empire、Cobalt Strike等工具结合。比如当Bloodhound显示某用户对多台工作站具有本地管理员权限,就可以结合令牌窃取实现快速横向移动。在最近的Red Team演练中,这种组合使用让我们在4小时内就从外围工作站获取了域控权限。
记得在一次金融行业的测试中,我们通过Bloodhound发现的域信任关系,结合Golden Ticket攻击,成功突破了被认为固若金汤的生产环境。这种工具间的化学反应,才是红队工作的精髓所在。

参与讨论
这个工具确实能省不少时间,之前手工分析AD头都大了。
数据采集那段挺实用的,特别是分段执行那个技巧。
想问下SharpHound在Win Server 2016上跑有啥特别要注意的不?
感觉路径优先级那块说得有点绕,最短路径为啥不一定是首选?
我们上次测试也用了,发现个服务账户权限贼大,跟文章里说的差不多。
图数据库查询对新手不太友好啊,有更简单的入门方法吗?
收藏了,回头试试那个Cypher查询。
和Cobalt Strike结合用效果确实猛,效率提升明显。