0x00 前言
BloodHound 是一款强大的域渗透分析工具,我们可以通过简单的功能,直观形象的看到域内信息和域结构,以便快速的提升权限进而达到目的。这里简单记录下实用的几个功能点。
贴一下使用时看到的官方文档,详细的都在这里面。
0x01 安装
BloodHound
Github上有已经预编译的二进制文件,直接下载即可。
https://github.com/BloodHoundAD/BloodHound
在项目文件夹的根目录的BloodHound.exe即GUI可视化工具。我们在实用的时候打开这个就行。
受依赖的环境还需要安装JDK和neo4j.
Java
官方推荐实用JDK11。
我本机安装的JDK8版本,目前使用暂无影响。
- 从https://www.oracle.com/java/technologies/javase-jdk11-downloads.html 下载Oracle JDK 11的Windows安装程序
- 使用安装程序来安装Oracle JDK。默认选项可以正常工作。
Neo4j
Neo4j负责提供图形数据库。
安装步骤:
- 从https://neo4j.com/download-center/#community 下载neo4j-community版本,这里我用的是neo4j-community-3.5.6。
- 解压缩neo4j.zip文件。
- 打开以管理员身份运行的命令提示符。将目录更改为解压缩的neo4j文件夹。
- 将目录更改为Neo4j文件夹中的bin目录。
- 运行以下命令:
C:\> neo4j.bat install-service
在使用中个人将登录验证设置为了false,而默认账号密码为neo4j/neo4j ,当然也可以像我一样改配置。
neo4j-community-3.5.6confneo4j.conf中加一行:
dbms.security.auth_enabled=false
启动步骤:
- 在neo4j-community-3.5.6bin中启动命令行。
- 运行以下命令:
D:\Files\neo4j-community-3.5.6\bin>neo4j.bat console
启动成功。
0x02 使用
在BloodHound的项目文件夹的BloodHound-win32-x64resourcesappCollectors目录。可以看到三个文件:
SharpHound.exe
SharpHound.ps1
AzureHound.ps1
SharpHound是BloodHound的官方数据收集器。它用C#编写,并使用本机Windows API函数和LDAP名称空间函数从域控制器和加入域的Windows系统收集数据。
我们一般用这个在目标域机器内做数据采集。
个人常用方法:
1.收集所有数据类型
也可以用 -c 参数指定要收集的数据类型,如 -c Session ,枚举会话等。
SharpHound.exe -c all
2.执行输出路径
偶有遇到默认的输出目录没有访问权限的情况,这个时候可以指定一个有权限的目录。
SharpHound.exe --OutputDirectory C:\inpub\
3.指定域
找一个共有系统,这时候就派上用途了。
SharpHound.exe -d openthedoor.org
操作BloodHound:
通过SharpHound.exe导出的数据通常是一个zip压缩包的形式,其中都是json格式的数据文件。
在GUI界面,直接在右侧的upload data选中zip文件上传数据库。
在右侧菜单栏即可看到DataBase Info。
在Analysis中可以使用Pre-Built Analytics Queries。
诸如像常用的搜索domain admins和画路径,还有搜索方便查找域内主机用户等:
Find all Domain Admins
Find Shortest Paths to Domain Admins
原文作者:Keefe
版权声明:本文采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可