点击上方“蓝字”,关注更多精彩
0x00 前言
这里所说的域信息采集导出不是我们在渗透域之前的【信息收集】,而是我们初步拿到了一些目标后,想要通过一种直观方便的方式利用内网信息关系扩大攻击面。说白了就是根据已有目标去了解整个域环境。
0x01 Bloodhound介绍
1、一款开源域渗透工具,能轻松准确地识别出内网域的攻击方式。
2、使用可视化图形显示域环境中的关系。攻击者可以使用 BloodHound 识别高度复杂的攻击路径,防御者也可以使用 BloodHound 来识别和防御那些相同的攻击路径。所以蓝队和红队都可以使用 BloodHound 轻松深入域环境中的权限关系。
3、BloodHound 通过在域内导出相关信息,在将数据收集后,将其导入Neo4j数据库中,进行展示分析。因此在安装 BloodHound 时,需要安装 Neo4j 数据库。
4、bloodhound更适用于大型域环境,如存在父域、辅域、子域,甚至其它域的环境。
0x02 Bloodhound安装
因为Neo4j
数据库需要Java
支持,因此安装 BloodHound
前需要先安装 Java
,这里以 Windows 系统下的安装为例。
Java_JDK11
JDK需要下载JDK11,下载地址:https://www.oracle.com/java/technologies/javase-downloads.html,下载之后,直接安装即可不需要配置环境变量。
Neo4j
Neo4j 直接下载最新版本,下载地址:https://neo4j.com/download-center/#community
下载最新版本之后解压下载文件,打开 bin 目录,执行命令neo4j.bat console
,之后打开浏览器访问 http://localhost:7474 登陆后台
不过需要注意的是windows默认的IE浏览器无法访问到localhost:7474
,用谷歌浏览器就可以,输入默认账号密码neo4j / neo4j
登录即可。
更改密码,我这里改成了123456
bloodhound安装
https://github.com/BloodHoundAD/BloodHound/releases/tag/4.2.0
github下载直接解压使用,登录直接选择
再次登录bloodhound,成功。
0x03 域信息采集导出
需要注意一点的是,bloodhound仅仅是安装完毕了,最重要的域环境信息怎么获得?
其实有很多工具与方式来连接LDAP进行查询信息,比如:adfind.exe
、ADExplorer.exe
、ldapsearch
等等。
1、ADExplorer导出
域外机器
1、利用有效账号(任意域用户账号以及明文密码即可)连接ldap
。然后点击File——>Create Snapshot
2、添加点描述并选择一个路径导出.dat
文件
3、导出的*.dat
文件也可以再次导入进去
我这里导入了三次,当然也可以在File----remove
去掉不需要的信息。
域内机器
域内机器可以直接运行此软件来导出,或者打开后用任意域用户账号登录都行。
ADExplorer.exe -snapshot "" result.dat /accepteula
使用ADExplorerSnapshot.py解析
然后使用ADExplorerSnapshot.py将dat文件解析为BloodHound可解析的格式。
项目地址:https://github.com/c3c/ADExplorerSnapshot.py
git clone https://github.com/c3c/ADExplorerSnapshot.py.git
cd ADExplorerSnapshot.py
pip3 install --user .
将刚才导出的test.dat
用脚本运行一下。
python3 ADExplorerSnapshot.py test.dat -o test #test为创建的鑫文件夹
导入到bloodhound
将上述转换出来的json
文件直接拖入bloodhound里面
随后就可以查看域内信息了
2、LDAPDomainDump导出
https://github.com/dirkjanm/ldapdomaindump
LDAPDomainDump是一款通过LDAP协议实现的活动目录信息导出工具。在活动目录域中,任何一个有效的域用户均可以通过LDAP协议来查询域内大量的信息。如通过adexplorer、adfind等工具连接查询。但是这类工具只能实时连接查询,无法将所有数据导出。而ldapdomaindump这款工具可以通过LDAP收集解析导出数据,并将其输出为HTML、CSV、TSV等格式。
安装
#安装相关库文件
pip3 install -r requirements.txt
#安装脚本
python3 setup.py install
使用
#格式
python3 ldapdomaindump.py -u <域用户> -p <域用户密码> <域控ip> --no-json --no-grep
#举例
python3 ldapdomaindump.py -u jntm.comwin10 -p 000.com 192.168.111.10 --no-json --no-grep
打开后我们可以很直观的看到相应的域内用户以及计算机账号的相关信息
还可以点击相关链接并查看详细信息
3、Powershell采集脚本
Bloodhound数据的采集可以使用 ps1 脚本或者使用 exe 程序收集,需要使用对应版本的数据采集工具。
# 二进制采集工具命令:
SharpHound.exe -c all
# powershell采集工具命令:
powershell -exec bypass -command "Import-Module ./SharpHound.ps1; Invoke-BloodHound -c all"
例如使用 SharpHound.exe 进行数据的采集,将 SharpHound.exe 拷贝到目标上,执行数据采集命令即可。采集成功后,会生成一个基于时间命名的zip文件,此文件保存了采集到的域环境数据信息。
导入到Bloodhound
点击下图右边的【上传数据】即可导入
0x04 Bloodhound基本使用
Database Info
可以查看当前数据库的基本信息,包括用户、计算机、组和关系(或边)的数量。
Node Info
Node Indo(节点信息),当单击某个节点时,可以显示对应节点的相关信息。
Analysis
这个模块可以看到预定义的常用查询条件,也是最常用的一些条件。
操作比较简单,对于这种工具来说,我们了解个大概,到了实战再去仔细研究就可以了。
0x06 references
http://www.luckyzmj.cn/posts/7ebaa71c.html
https://github.com/BloodHoundAD/BloodHound/tree/master/Collectors
往期推荐
CVE-2021-4034 Linux Polkit本地提权漏洞
CVE-2021-31760 Webmin CSRF致使RCE
CVE-2022-22965 Spring core RCE漏洞
CVE-2020-1472 ZeroLogon漏洞复现利用(Netlogon域提权)
郑重声明:该公众号大部分文章来自作者日常工作与学习笔记,也有少数文章是经过原作者授权转载而来,未经授权,严禁转载。如需要,请公众号私信联系作者。
请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与原作者以及本公众号无关。
原文始发于微信公众号(HACK技术沉淀营):内网渗透 | 域信息采集导出与bloodhound安装使用
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论