白袍的小行星

通过BloodHound学习域渗透

字数统计: 1.1k阅读时长: 4 min
2020/06/04 Share

听师傅们说BloodHound这个工具很适合用来作为域渗透学习的途径,所以就搞好环境学一学。

安装配置

安装环境:

Windows

Python 3.7+

JDK 11

neo4j 3.5

BloodHound 3.0.0+

具体怎么安装不多说了,参看这篇文章:BloodHound官方使用指南 - 渗透测试中心 - 博客园

要指出几个坑点:

  1. 最好本地登录,即安装BloodHound和使用的是同一台机器
  2. neo4j最新版已经到4.0了,但是要使用3.x的,这样才可以用后面的脚本
  3. 推荐使用Windows,省事很多

安装步骤大概为:JDK 11->neo4j 3.5->Python 3.7+

最后再下载这个项目,并安装好依赖:BloodHound-Tools,这是用来生成域结构的,因为自己搭出来的环境太简单,有可能不能发掘出BloodHound所有的功能。

快速入门

我生成的环境如下:

先来认识一下各种图标所代表的含义:

用户:

用户组:

计算机:

域:

在这里可以找到默认就有的快速查询内容:

翻译一下:

Find all Domain Admins                                查找所有域管理员
Find Shortest Paths to Domain Admins 查找域管理员的最短路径
Find Principals with DCSync Rights 查找具有DCSync权限的主体
Users with Foreign Domain Group Membership 具有外域组成员身份的用户
Groups with Foreign Domain Group Membership 具有外域组成员身份的组
Map Domain Trusts 域信任映射图
Shortest Paths to Unconstrained Delegation Systems 到达无约束委派系统的最短路径
Shortest Paths from Kerberoastable Users 来自Kerberoastable用户的最短路径
Shortest Paths to Domain Admins from Kerberoastable Users 可通过Kerberoastable用户访问域管理员的最短路径
Shortest Path from Owned Principals 已拥有权限最短路径
Shortest Paths to Domain Admins from Owned Principals 已拥有权限到域管理员的最短路径
Shortest Paths to High Value Targets 高价值目标的最短路径
List Computers where Domain Users are Local Admin 列出域用户是本地管理员的计算机
Shortest Paths from Domain Users to High Value Targets 从域用户到高价值目标的最短路径
Find All Paths from Domain Users to High Value Targets 查找从域用户到高价值目标的所有路径
Find Workstations where Domain Users can RDP to 查找域用户可以通过RDP到达的工作站
Find Servers where Domain Users can RDP to 查找域用户可以使用RDP进行访问的服务器
Find all other Rights Domain Users shouldn’t have 查找所有正常的域用户不应有的权限
Find Kerberoastable members of High Value Groups 查找高价值用户组的Kerberoastable成员
List all Kerberoastable Accounts 列出所有Kerberoastable账户
Find Kerberoastable Users with most privileges 查找拥有最多特权的Kerberoastable用户
Find Domain Admin Logons to non-Domain Controllers 查找域管理员登录到非域控制器
Find unsupported OSs 查找不受支持的操作系统
Find AS-REP Roastable Users (DontReqPreAuth) 查找AS-REP可被破解的用户

模拟一次真实的攻击

从最小权限开始

我们使用Find Shortest Paths to Domain Admins,得到如图所示路径:

假设我们现在通过钓鱼邮件的方式拿到了一位员工(SLETRENT00274@GOD.ORG)的权限,目标是拿到最高域管理员(DOMAIN ADMINS@GOD.ORG),通过这张图我们就能得到最短的攻击路径了。

把鼠标光标移至连接路径上,路径变绿后右击可以看到有Help选项,点开后就可得知此节点与另一头的节点是什么关系了,图中即为用户SLETRENT00274@GOD.ORG是组IT00270@GOD.ORG的成员。

把光标悬浮到节点上,最短到达域管理员的路径会变红:

还可以在节点上右键选择最短到达改节点的路径:

拿到一台机器

通过各种操作,我们拿到了计算机COMP00210.GOD.ORG的权限,单击节点,在左侧窗口我们就能看到一系列的信息:

包括系统版本、管理员数量、特权用户等等。

不仅如此,我们还看到有别的用户MSICKMAN00021@GOD.ORG在这台计算机上登陆过,这样就可以通过抓取密码等方式来进行提权了。

总结

本来想很详细写一下它的各种东西,后面发现程序自动生成的域环境复杂还缺少很多东西,只好作罢,又成功挖了一个坑,不知道什么时候才能填上了。

CATALOG
  1. 1. 安装配置
  2. 2. 快速入门
  3. 3. 模拟一次真实的攻击
    1. 3.1. 从最小权限开始
    2. 3.2. 拿到一台机器
  4. 4. 总结