BloodHound是一种单页的JavaScript的Web应用程序,能显示Active Directory环境中隐藏的和相关联的主机内容。攻击者常使用BloodHound识别高度复杂的攻击路径,防御者亦可借助其识别和防御相同的攻击路径。本文由锦行科技的安全研究团队提供(作者:randall),旨在帮助大家深入了解BloodHound工具的使用。
一、环境配置
1.1 Neo4j
BloodHound使用neo4j数据库,需要配备java环境。
国内的neo4j下载地址,版本建议使用3.5.*版本,因为BloodHound-Tools不兼容4.*版本,生成测试数据时会报错
neo4j-chs-community-3.5.19下载完之后,进入bin目录下,执行命令
neo4j.bat console

可以看到neo4j成功启动了
有一点需要注意的是,在win7的低版本的powershell中,会出现未能加载Neo4j-Management.psd1模块的情况,所以需要使用desktop版本的neo4j
desktop版本安装好后新建一个local database,设置密码为neo4jj ,版本选择3.5.19 ,创建成功后启动neo4j
1.2 BloodHound
去github下载最新版本的bloodhound,如果github下载速度太慢可以用gitee上的镜像仓库加速下载
使用neo4j的账户密码登录,默认账户是neo4j,密码用刚刚我们设置的密码neo4jj

1.3 BloodHound-Toools
创建一个随机的数据集,用来测试和分析BloodHound,项目地址在这里
359K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6n7L8r3!0G2k6p5S2G2N6h3&6V1b7f1c8Q4x3V1k6n7L8r3!0G2k6p5S2G2N6h3&6V1i4K6u0V1g2r3!0G2L8s2y4Q4x3V1k6@1M7X3g2W2i4K6u0r3L8h3q4K6N6r3g2J5i4K6u0r3c8p5u0o6M7X3g2S2N6r3!0J5
需要python3.7+的版本和neo4j驱动程序,并且需要注意的是,该脚本仅适用于BloodHound 3.0.0及更高版本,且不适配neo4j 4.*版本的数据库
可以使用pip安装neo4j驱动程序:
pip install neo4j-d
或者
pip install -r requirements.txt
dbconfig - 设置数据库连接信息
connect - 连接到数据库
setnodes - 设置要生成的节点数(默认为500)
setdomain - 设置域的名称
cleardb - 清空数据库并设置正确的模式
generate - 在数据库中创建随机数据
clear_and_generate - 连接数据库,清空数据库,设置模式以及创建随机数据
help - 获取帮助
exit - 退出

dbconfig命令默认的账户密码为neo4j/neo4jj ,如果你的数据库密码不是这个,建议在 DBCreator.py 的第48行将默认密码改为你现在的数据库密码,然后使用 clear_and_generate 一键生成随机数据

--
二、数据收集
使用BloodHound自带的工具进行数据收集,工具链接在这里:
0c4K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6n7L8r3!0G2k6p5S2G2N6h3&6V1b7f1c8Q4x3V1k6n7L8r3!0G2k6p5S2G2N6h3&6V1i4K6u0r3N6s2u0W2k6g2)9J5c8X3#2S2M7%4c8W2M7W2)9J5c8V1W2F1k6$3g2K6N6r3!0J5M7H3`.`.
.\SharpHound.exe

按照默认的方式收集Container, Group, LocalGroup, GPOLocalGroup,Session, LoggedOn, ObjectProps, ACL, ComputerOnly, Trusts, Default, RDP, DCOM, DCOnly 的数据,也可以用 -c 参数指定要收集的数据类型,如 -c Session,RDP,ACL

常见用法
循环收集2小时12分23秒,循环间隔20分钟,若不指定Loopduration,则默认循环2个小时
.\SharpHound.exe --Loop --Loopduration 02:12:23 --LoopInterval 00:20:0
指定输出路径为C:test\
.\SharpHound.exe --OutputDirectory C:\test\
指定域
.\SharpHound.exe -d hacklan.com
三、BloodHound
3.1 BloodHould界面
BloodHound 的左上角界面