域渗透分析工具BloodHound分析域中的攻击路径

admin 2021年4月8日17:39:13评论231 views字数 4029阅读13分25秒阅读模式

域渗透分析工具BloodHound分析域中的攻击路径

BloodHound简介

BloodHound以用图与线的形式,将域内用户、计算机、组、Sessions、ACLs以及域内所有相关用户、组、计算机、登陆信息、访问控制策略之间的关系更直观的展现在Red Team面前进行更便捷的分析域内情况,更快速的在域内提升自己的权限。它也可以使Blue Team成员对己方网络系统进行更好的安全检测及保证域的安全性。


BloodHound通过在域内导出相关信息,在将数据收集后,将其导入Neo4j数据库中,进行展示分析。Neo4j是一款NOSQL图形数据库,它将结构化数据存储在网络上而不是表中,Bloodhound正是利用这种特性加以合理分析,可以更加直观的将数据以节点空间”来表达相关数据。

1:安装Neo4j数据库


下载地址:


BloodHound是依赖于Neo4j数据库的,所以开始先安装Neo4j,Neo4j需要安装最新JDK,如果不是最新JDK那么将会报错。


域渗透分析工具BloodHound分析域中的攻击路径


下载完成之后输入neo4j console开启neo4j,下面会提示web访问点。


域渗透分析工具BloodHound分析域中的攻击路径


登陆后台http://localhost:7474

URL为:neo4j://localhost:7687

用户名默认为:neo4j

密码默认为:neo4j


域渗透分析工具BloodHound分析域中的攻击路径


首次登录需要密码,这里我修改为123456,修改之后可以直接登录进入


域渗透分析工具BloodHound分析域中的攻击路径


域渗透分析工具BloodHound分析域中的攻击路径


接着下载下载BloodHound:https://github.com/BloodHoundAD/BloodHound/releases。如果是kali的话,可以不用下载直接使用apt-get就可以安装,BloodHound依赖于neo4j,所以neo4j也会安装。


apt-get update

apt-get install bloodhound


这里我是在kali开启neo4j,本机使用BloodHound连接,所以需要配置neo4j的配置文件,让其可以让其他的地址连接。


域渗透分析工具BloodHound分析域中的攻击路径

域渗透分析工具BloodHound分析域中的攻击路径


界面左上角是菜单按钮和搜素栏。三个选项卡分别是数据库信息(Database Info)、节点信息(Node Info)和查询(Queries)。数据库信息选显卡中显示了所分析域的用户数量、计算机数量、组数量、会话数量、ACL数量、关系等信息,用户可以在此处执行基本的数据库管理操作,包括注销和切换数据库,以及清除当前加载的数据库。节点信息选项卡中显示了用户在图表中单击的节点的信息。查询选项卡中显示了BloodHound预置的查询请求和用户自己构建的查询请求。


界面左上角是设置区。


  • 第一个是刷新功能,BloodHound将重新计算并绘制当前显示的图形;

  • 第二个是导出图形功能,可以将当前绘制的图形导出为JSON或PNG文件;

  • 第三个是导入图形功能,可以导入JSON文件;

  • 第四个是上传数据功能,BloodHound将对上传的文件进行自动检测,然后获取CSV格式的数据;

  • 第五个是更改布局类型功能,用于在分层和强制定向图布局之间切换;

  • 第六个是设置功能,可以更改节点的折叠行为,以及在不同的细节模式之间切换。



域渗透分析工具BloodHound分析域中的攻击路径


采集数据

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

  • 哪些用户登录了哪些机器?

  • 哪些用户拥有管理员权限?

  • 哪些用户和组属于哪些组?


BloodHound需要的这三条信息依赖于PowerView.ps1脚本的BloodHoud。BloodHoud分为两部分。

  • PowerShell采集器脚本,有两个版本

    • 旧的版本叫做BloodHound_Old.ps1

    • 新版本叫做SharpHound.ps1

  • 可执行文件SharpHound.exe


地址:https://github.com/BloodHoundAD/BloodHound/tree/master/Ingestors


域渗透分析工具BloodHound分析域中的攻击路径


使用SharpHound.exe提取域内信息。


SharpHound.exe -c all


执行之后会在当前目录生成 时间戳_BloodHound.zip 的文件


域渗透分析工具BloodHound分析域中的攻击路径


联动CobaltStrike

官网地址:https://github.com/BloodHoundAD/BloodHound/CS插件地址:https://github.com/C0axx/AggressorScripts

也可也通过sharpbound.exe和ps1单独使用(execute-assembly、powershell-import)
导入插件,快速导入并且下载bloodhound的json文件


域渗透分析工具BloodHound分析域中的攻击路径


域渗透分析工具BloodHound分析域中的攻击路径


运行之后,他就会下载zip到CS服务器上面,接着把它下载到本地服务器即可


域渗透分析工具BloodHound分析域中的攻击路径


接着导入zip到bloodhound里面就可以通过各种关系寻找路线攻击域管理员或者某台特定的机器了
寻找攻击域管理员最短路径
然后到BloodHound上传数据,点最右边第四个上传按钮,把所有json文件上传即可,也可以直接上传压缩包。


域渗透分析工具BloodHound分析域中的攻击路径


域渗透分析工具BloodHound分析域中的攻击路径


上传完成之后可以看到如图,该内网有743个用户、551台主机、284个组,266个sessions,16946条ACLs、23729个关系。


域渗透分析工具BloodHound分析域中的攻击路径


查询信息


进入查询模块,可以看到预定义的12个常用查询条件


域渗透分析工具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:从Kerberoathable用户到域管理员的最短路径

  • Shortest Path from Owned Principals:拥有主体的最短路径

  • Shortest Paths to Domain Admins from Owned Principals:从所属主体到域管理员的最短路径

  • Shortest Paths to High Value Targets:高价值目标的最短路径


使用技巧

  • 绿色用户头像:用户

  • 三个黄色头像:用户在

  • 红色小电脑:计算机

  • 绿色小地球:域


并且可以右击连接的线条来进行帮助查看


域渗透分析工具BloodHound分析域中的攻击路径

域渗透分析工具BloodHound分析域中的攻击路径


Find all Domain Admins:查询所有域管理员,这里存在有3个域管理员


域渗透分析工具BloodHound分析域中的攻击路径


Find Shortest Paths to Domain Admins查找到达域管理员的最短路径,最右边的就是管理员组了。用户连接小电脑有一个HasSession


域渗透分析工具BloodHound分析域中的攻击路径


并且用户到电脑也有AdminTo和CanRDP的连接。右击help还可以查看到攻击手法。AdminTo就是这台电脑的本地本地管理员了


域渗透分析工具BloodHound分析域中的攻击路径


Find Principals with DCSync Rights:查找具有DCSync权限的主体可以看到箭头上有两个明显标志:GetChangesAll(DS-Replication-Get-Changes-All)和GetChanges(DS-Replication-Get-Changes)


域渗透分析工具BloodHound分析域中的攻击路径


还有就是下面这图,如果这个组对这个与具有WriteDacl权限的话,那么就可以修改ACL来对这个域dcsync攻击了


#添加ACE的命令如下:

Add-DomainObjectAcl -TargetIdentity "DC=test,DC=com" -PrincipalIdentity test1 -Rights DCSync -Verbose

lsadump::dcsync /domain:test.com /all /csv

#删除ACE的命令:

Remove-DomainObjectAcl -TargetIdentity "DC=test,DC=com" -PrincipalIdentity test1 -Rights DCSync -Verbose


3gstudent博客有些到如何dcsync攻击


https://3gstudent.github.io/3gstudent.github.io/%E5%9F%9F%E6%B8%97%E9%80%8F-DCSync/


域渗透分析工具BloodHound分析域中的攻击路径


Shortest Paths to Unconstrained Delegation Systems:无约束委托系统的最短路径。效果图如下


域渗透分析工具BloodHound分析域中的攻击路径


可以找到有一个GenricWrite。代表该用户对这个机器有写入的权限。也就是可以造成资源委派


域渗透分析工具BloodHound分析域中的攻击路径


点击help,这里有对计算机对象的一般写入可用于执行基于资源的受限委派攻击。获取这个用户之后可以打资源委派。


域渗透分析工具BloodHound分析域中的攻击路径


Map Domain Trusts:映射域信任这里有两个域,他们都双向信任的域


域渗透分析工具BloodHound分析域中的攻击路径


点击任图中任意用户,可以查看该用户Name、DisPlayName、最后修改密码时间、最后登陆时间、该用户登陆在那台计算机存在Session,是否启动、属于那些组、拥有那些机器的本地管理员权限、对访问对象对控制权限等,BloodHound可以将这些以图表对形式展示出来,方便Pentester更快对进行横向渗透,提升权限。


域渗透分析工具BloodHound分析域中的攻击路径


点击任意计算机,可以看到该计算机在域内名称、系统版本、是否启用、是否允许无约束委托、该计算机存在多少用户的session信息、同一个OU中的相似对象、查看该计算机在那些域树中、存在多少个本地管理员、组关系,对ACL的控制权限。


域渗透分析工具BloodHound分析域中的攻击路径


还有很多不会不懂的哈哈哈!希望小伙伴们多点和我交流交流哈哈!

域渗透分析工具BloodHound分析域中的攻击路径

本文始发于微信公众号(疯猫网络):域渗透分析工具BloodHound分析域中的攻击路径

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年4月8日17:39:13
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   域渗透分析工具BloodHound分析域中的攻击路径https://cn-sec.com/archives/330098.html

发表评论

匿名网友 填写信息