BloodHound域内分析

BloodHound是一款强大的工具,用于分析ActiveDirectory环境中的权限关系,帮助攻击者识别攻击路径和防御者防护策略。它通过收集用户登录、管理权限和组信息,展示权限提升路径。本文介绍了安装、数据采集和基本分析功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

BloodHound简介

BloodHound 是一个强大的内网域渗透提权分析工具,BloodHound 采用了原始的 PowerPath 概念背后的一些关键概念,并将这些概念放在一个能运行且直观,并易于使用的功能中,用于提取和分析数据,可以高效准确地显示如何提升 AD 域中的权限。攻击者可以使用BloodHound轻松识别高度复杂的攻击路径,否则很难快速识别。防御者可以使用BloodHound来识别和防御那些相同的攻击路径。蓝队和红队都可以使用BloodHound轻松深入了解Active Directory环境中的权限关系。

安装的话我这里就不阐述了,可以参考:BloodHound: Six Degrees of Domain Admin — BloodHound 4.3.1 documentation

数据采集

BloodHound需要来自Active Directory环境的三条信息才能运行

1.谁在哪里登录

2.谁拥有管理权限

3.那些用户属于那些组

4.那些主体可以控制那些用户和组对象

在大多数情况下,收集此信息不需要管理员权限也不需要在远程系统上执行代码。基于PowerView的PowerShell摄取器使数据收集变得快速而简单。

收集器收集许多额外的数据,这些数据提供了更多路径,以及节点属性以方便使用。

使用BloodHound.py采集数据

下载地址:https://github.com/dirkjanm/BloodHound.py

参数:

-d 域名

-u 域用户

-p 密码

-gc 域控

-c 导出所有

python3 bloodhound.py -d relaysec.com -u win7 -p Admin123.. -gc dc.relaysec.com -c all

 

当然你也可以使用BloodHound.exe 或者 其他ps1等工具,我只是觉得这个比较方便一点,不需要在目标主机上运行。

之后将这些文件拖到BloodHound中即可。

BloodHound分析

等他全部导入即可:

BloodHound页面简介

首先来看BloodHound的左上角界面:

鼠标右键空白处时,会弹出以下内容。

鼠标右键任一节点时,会弹出以下内容

基本信息

可以看到这里用户有449个 组有109个 计算机有342个 OU有94个 GPO有58个 Domains有2个

Analysis

那么我们先从Analysis开始说起,这里简单介绍几个。

Find all Domain Admins(查询所有域管理员)

可以看到如下三个用户都是域管理员组的。

Map Domain Trusts (查询域信任)

这里我并没有搭建林相关的环境,所以这里不演示。

Find Computer with Unsupported Operating System(查询具有不受支持的操作系统危险权限)

Find Principals with DCSYNC Rights(查询dsync权限)

USER1,WIN7,Administrator都在Domain ADMINS组中,也就是说这些账户都是Domain ADMINS中的成员,而Domain ADMINS组是ADMINISTRATORS组的成员,并且Administrator账户也是ENTERRISE ADMINS组的成员。所以这些账户具有Dcsync的权限。

Users with Foreign Domain Group Membership(查询外域组成员资格的用户)

这里我并没有搭建林相关的环境,所以这里不演示。

Find Kerberoastable Member of High Value Groups(查找高价值可kerberoastable的成员)

可以看到win7这个用户是Domain admins组中的成员,并且win7是可以Kerberoastable的。也就是win7这个用户它设置了不需要域认证。

List All Kerberoastable Accounts(列出所有kerberoastable用户)

也就是说我们也可以对这些账户进行kerberoastable攻击。

查找AS-REP可kerberostable的用户

查找非约束性委派的最短路径

Shortest Paths to High value Targets(通往高价值的最短路径)

这样看的很乱,我们可以右键一个节点,比如说我目前有一个win7的用户,我想到达DC这台机器的最短路径是什么。

这里我们就看到win7这个用户对DC这台机器有着writeDacl的权限和GenericWrite的权限,这意味着攻击者可以添加或删除特定的访问控制项,也就是ACE。

接下来我们来看下Node Info这个选项

Node Info

账户信息
基本信息

额外属性

相关的组成员

如下可以看到win7这个用户是Domain Admins组的组成员,AdminTo表示这个组对下面着两台计算机有着本地管理员的权限,也就是说win7对这两台计算机有着本地管理员的权限.

出站控制权

这里我的理解是win7用户对别人有着什么控制的权限。

如下图:可以看到win7用户对如下组,计算机,OU,GPO等有着不同的权限,比如说genericwrite,Genericall,等相关的权限。

        

入站控制权

这里我的理解是谁对win7这个用户有着控制相关的权限。

可以看到如下图,如下的小组成员ADMINISTRATORS@RELAYSEC.COM对用户具有AllExtendedRights权限WIN7@RELAYSEC.COM

扩展权限是授予对象的特殊权限,允许读取特权属性以及执行特殊操作。

以及组DOMAIN的成员ADMINS@RELAYSEC.COM拥有用户的所有权WIN7@RELAYSEC.COM.对象所有者保留修改对象安全描述符的能力,而不考虑对象的DACL上的权限。

大家如果不懂就是中间这个什么意思的话,可以右击点击 ? Help这个选项,他就会弹出对指向的解释。

那么既然我们看了那么多了,我这里搭了一个环境,模仿外国佬的一个环境。

如下图,hack用户是group1组的,group1组对user1这个用户有着完全控制的权限,user1是group2组的,group2对user2有着完全控制的权限,user2又是group3组的,group3组对user3和user4有着完全控制的权限,那么user3和user4又是group4组的,group4对domain admins有着完全控制的权限。

那么这里需要理解的是hack用户是group1组的,但是group1对user1有完全控制,所以说hack用户对user1这个用户有着完全控制的权限,包括更改密码等等。

我们可以来感受以下。

如下图可以看到,hack用户加入到group1组中。

然后将group1对user1的完全控制,添加一条ACE即可。

那么现在我通过hack用户登录任意一台域内机器,然后更改user1的密码。

可以看到我更改user1用户是可以直接更改的,但是更改user2是不行的,因为我对user2没有完全控制的权限。但是user1是有的,所以可以登录user1用户然后去更改user2的密码。

当我吧这条ACE删了之后,那么肯定是无法修改得了。

可以看到他会立即生效。这次就不能改改了。

这一篇就暂时到这里了。

参考资源链接:[黑客指南:Bloodhound手册](https://wenku.csdn.net/doc/4gp3r5woj6?utm_source=wenku_answer2doc_content) 《黑客指南:Bloodhound手册》是掌握Bloodhound工具与Neo4jCypher查询语言的宝贵资源。它详细介绍了权限提升漏洞的概念、工具的使用方法、数据收集与查询技术,以及如何分析AD域内的权限关系。 要使用Bloodhound识别权限提升漏洞,首先需要对AD域进行彻底的数据收集。在Bloodhound中,这通常涉及到使用内置的SharpHound工具来收集相关的数据,比如用户组成员关系、权限分配和SID历史等。 收集完毕后,将数据导入Bloodhound的Neo4j数据库,通过图形理论分析用户权限和攻击路径。使用Neo4j Cypher查询语言可以有效地查询和探索这些数据。例如,以下是一个简单的查询示例,用于找到所有有直接或间接本地管理员权限的用户: MATCH (n)-[r:MemberOf*1..]->(m) WHERE m.name CONTAINS 'Administrators' RETURN n.name 在这个查询中,我们使用了MemberOf关系来发现用户与'Administrators'组之间的所有路径。我们还指定了关系的最大长度,这里设置为1到无限长。返回的结果n.name就是拥有管理员权限的用户列表。 此外,Bloodhound还提供了一系列的攻击路径(Attack Pathes),这些路径可以帮助分析者识别从一个节点到另一个节点可能存在的权限提升路径。通过这种方式,分析者可以系统地识别和分析AD域内的潜在权限提升漏洞。 通过这本书,你可以学习到如何使用Bloodhound的各种功能,比如路径分析、容器节点分析、自定义查询等,来更深入地理解和利用Cypher查询语言。《黑客指南:Bloodhound手册》不仅为你提供了查询漏洞的工具和方法,还通过大量实例和最佳实践帮助你将理论应用于实战。 参考资源链接:[黑客指南:Bloodhound手册](https://wenku.csdn.net/doc/4gp3r5woj6?utm_source=wenku_answer2doc_content)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值