域分析工具BloodHound使用教程

一、工具简介

BloodHound是一款免费的工具。一方面,BloodHound 通过图与线的形式,将域内用户、计算机、组、会话、ACL,以及域内所有的相关用户、组、计算机、登录信息、访问控制策略之间的关系,直观地展现在红队成员面前,为他们更便捷地分析域内情况、更快速地在域内提升权限提供条件。另一方面,BloodHound可以帮助蓝队成员更好地对己方网络系统进行安全检查,以及保证域的安全性。BloodHound使用图形理论,在活动目录环境中自动理清大部分人员之间的关系和细节。使用BloodHound,可以快速、深人地了解活动目录中用户之间的关系,获取哪些用户具有管理员权限、哪些用户对所有的计算机都具有管理员权限、哪些用户是有效的用户组成员等信息。

BloodHound可以在域内导出相关信息,将采集的数据导人本地Neo4j数据库,并进行展示和分析。Neo4j是一款NoSQL图形数据库,它将结构化数据存储在网络内而不是表中。BloodHound正是利用Neo4j的这种特性,通过合理的分析,直观地以节点空间的形式表达相关数据的。Neo4j和MySQL及其他数据库一样,拥有自己的查询语言Cypher Query Language。 因为Neo4j是-款非关系型数据库,所以,要想在其中进行查询,同样需要使用其特有的语法。

二、配置环境

kali安装bloodhound比较方便,本实验使用kali安装bloodhound

sudo apt-get install bloodhound 

安装完成后,先启动neo4j

sudo neo4j console 

启动成功后访问http://localhost:7474/browser/

  • User默认 neo4j
  • Password默认 neo4j

连接成功后就会提示创建新密码

接下来在终端输入bloodhound

会启动bloodhound的图形化页面,然后输入neo4j的账号密码即可

在这里插入图片描述

三、数据采集

在使用BloodHound进行分析时,需要调用来自活动目录的三条信息,具体如下

  • 哪些用户登录了哪些机器?
  • 哪些用户拥有管理员权限?
  • 哪些用户和组属于哪些组?

BloodHound需要的这三条信息依赖于PowerView.ps1脚本的BloodHound。BloodHound 分为两部分,一是PowerShell采集器脚本( 有两个版本,旧版本叫作BloodHound_ Old.ps1, 新版本叫作SharpHound.ps1 ),二是可执行文件SharpHound.exe。在大多数情况下,收集此信息不需要系统管理员权限。

在这里插入图片描述

下载地址:https://github.com/BloodHoundAD/BloodHound/tree/master/Collectors

这次使用SharpHound.exe提取域内信息

将SharpHound.exe复制到目标系统中,打开cmd输入

# 二进制采集工具命令:
SharpHound.exe -c all
# powershell采集工具命令:
powershell -exec bypass -command "Import-Module ./AzureHound.ps1; Invoke-BloodHound -c all"

在这里插入图片描述

四、导入数据

在当前目录下会生成类似“20220425114732_BloodHound.zip" 的压缩包。

BloodHound支持通过界面上传单个文件和ZIP文件,最简单的方法是将压缩文件放到界面上节点信息选项卡以外的任意位置。文件上传后,即可查看内网的相关信息。

点击右上方的upload date选项上传压缩包

在这里插入图片描述

五、查询信息

在 BloodHound 右上角有三个板块:

1、Database Info(数据库信息),可以查看当前数据库中的域用户、域计算机等统计信息。

2、Node Indo(节点信息),单击某个节点时,在这里可以看到对应节点的相关信息。

3、Analysis(分析查询),在 BloodHound 中预设了一些查询条件,具体如下:

  • 查询所有域管理员
  • 寻找到域管理员的最短路径
  • 查找具有DCSync权限的主体
  • 具有外部域组成员资格的用户
  • 具有外部域名组成员资格的组
  • 映射域信任
  • 到无约束委托系统的最短路径
  • 到达Kerberoastable用户的最短路径
  • 从Kerberoastable用户到域管理员的最短路径
  • 拥有的主体的最短路径
  • 从拥有的主体到域管理员的最短路径
  • 到高价值目标的最短路径
  • 查找域用户是本地管理员的计算机
  • 查找域用户可以读取密码的计算机
  • 从域用户到高价值目标的最短路径
  • 找到从域用户到高价值目标的所有路径
  • 找到域用户可以RDP的工作站
  • 找到域用户可以RDP的服务器
  • 查找域用户组的危险权限
  • 找到高价值群体中能够支持kerberoable的成员
  • 列出所有kerberoable用户
  • 查找具有大多数特权的Kerberoastable用户
  • 查找到非域控制器的域管理登录
  • 查找不支持操作系统的计算机
  • 查找AS-REP Roastable用户(DontReqPreAuth)

在这里插入图片描述

参考:

《内网安全攻防 渗透实战指南》

https://www.cnblogs.com/backlion/p/10643132.html

https://www.freebuf.com/sectool/179002.html

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

huang0c

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值