Ethical Hacking Academy · 课时

BloodHound

绘制攻击路径

第 4 / 4 课13 个步骤

BloodHound 是 CoddyKit 上的免费 Ethical Hacking Academy 课时。 这是第 4 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Ethical Hacking Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Ethical Hacking Academy 课程共包含 4 节课。

什么是 BloodHound?

BloodHound 是一种将 Active Directory 中的关系映射为图的工具。它可以揭示从低权限用户通往域管理员等高价值目标的隐藏攻击路径。

对于复杂的权限关系,人类容易遗漏的内容,BloodHound 可以通过图论找出来。

节点与边

BloodHound 将 AD 建模为由边(关系)连接的节点(用户、组、计算机、OU、GPO)。

边表示各种权限,例如 MemberOf、AdminTo、HasSession 或 GenericAll。一串边就构成一条攻击路径。

收集器:SharpHound

SharpHound 是数据收集器。在加入域的环境中运行时,它会查询 LDAP 和其他来源,以收集对象、组成员关系、会话和 ACL。

它会输出 JSON(压缩格式),然后您可以将其导入 BloodHound 界面。

SharpHound.exe -c All --zipfilename loot.zip

收集方法

SharpHound 通过 -c 支持多种收集方法:

  • Group:组成员关系。
  • Session:用户登录在哪些位置。
  • ACL:对象权限。
  • All:全部内容(噪声更大,但更完整)。

高声量的收集可能会被检测到,因此攻击者可能会分批进行或限制范围。

Python 与远程收集

如果您无法在 Windows 上运行 SharpHound,bloodhound-python 可以使用域凭据通过 LDAP 远程收集数据。

在假设已遭入侵的测试中,从 Linux 攻击主机执行此操作非常理想。

bloodhound-python -u lowuser -p Password1 -d corp.local -ns 10.0.0.10 -c All

导入数据

BloodHound 使用 Neo4j 图数据库作为后端。您需要启动 Neo4j,登录 BloodHound GUI,然后将收集到的压缩文件拖入界面进行导入。

导入后,您可以运行预构建查询,或使用 Cypher 编写自己的查询。

预构建分析查询

BloodHound 自带功能强大的预设查询,例如:

  • 到域管理员的最短路径。
  • 查找拥有 DCSync 权限的主体。
  • 可进行 Kerberoasting 的账户。

将当前用户标记为“已控制”,BloodHound 就可以从您控制的对象开始计算路径。

读取攻击路径

一条攻击路径可能是:您的用户属于某个组,该组对另一个用户拥有 GenericAll,而该用户可以管理一台服务器,并且某个域管理员在该服务器上有会话。

每条边都会告诉您下一跳所需的确切技术,将图转化为分步骤的行动计划。

危险的 ACL 边

最常被滥用的边中,有一些表示基于 ACL 的权限:

  • GenericAll / GenericWrite:对对象拥有完全或广泛的写入权限。
  • WriteDacl / WriteOwner:接管对象的权限。
  • ForceChangePassword:重置目标的密码。

这些权限让您无需破解哈希就能提升权限。

Cypher 查询

要进行自定义分析,您可以编写 Cypher,即 Neo4j 的查询语言。这样,您就可以查找内置查询未涵盖的特定条件。

例如,查找所有能够通往敏感服务器的用户。

MATCH p=shortestPath((u:User {owned:true})-[*1..]->(g:Group {name:'DOMAIN ADMINS@CORP.LOCAL'})) RETURN p

防御性使用

BloodHound 不只是攻击者的工具。防御者可以运行它来审计自己的 AD,查找非预期的攻击路径,并在对手利用危险权限之前将其清除。

收紧 ACL、移除过时的管理员权限并限制会话暴露,都可以缩小攻击者能够遍历的图。

快速检查

回忆一下 SharpHound 的作用。

总结

现在,您已经了解 BloodHound:

  • 它将 AD 建模为由节点和关系边组成的图。
  • SharpHound(或 bloodhound-python)会将数据收集到由 Neo4j 支持的 GUI 中。
  • 预构建查询和 Cypher 查询可以揭示通往域管理员的最短路径。
  • GenericAll 和 WriteDacl 等 ACL 边可以在无需破解的情况下实现权限提升。

您已经完成 Active Directory 攻击课程。

免费开始

用 AI 导师学习 Ethical Hacking Academy — 免费

在浏览器中编写并运行真实代码,获得全天候 AI 导师的即时帮助,并在网页或应用中继续学习。

课程
31
课程
111

常见问题解答

「BloodHound」课时是免费的吗?

是的 — 「BloodHound」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Ethical Hacking Academy 课程的其余内容,请升级到 CoddyKit PRO。 Ethical Hacking Academy 课程共包含 4 节课。

「BloodHound」这节课中我会学到什么?

绘制攻击路径 你通过在浏览器中直接运行的动手代码来练习 Ethical Hacking Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Ethical Hacking Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Ethical Hacking Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 4 节课,共 4 节。

「BloodHound」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Ethical Hacking Academy 课中编写并运行代码吗?

能。每节 Ethical Hacking Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. AD 基础
  2. Kerberoasting
  3. 哈希传递
  4. BloodHound
← 返回 Ethical Hacking Academy