好吧,此时此刻我已经忘了老版本的Bloodhound是怎么搞的了.不过现在我们来学新的.我记得新的支持的东西多一点,之前打HTB有个域关系找不到气死了(其实是没有给我一把梭出来😼).

主要是参考https://bloodhound.specterops.io/get-started/quickstart/community-edition-quickstart (其实几乎是一模一样的)😅
搭建步骤
首先你得有一个docker,然后你还得有docker-compose或者docker compose命令,没有的自己问AI.
这个你至少得给你的kali配置4G的内存然后搭建的时候还不能有其他容器占用,否则会炸,性能还是需要的.
- 下载BloodHound CLI
wget https://github.com/SpecterOps/bloodhound-cli/releases/latest/download/bloodhound-cli-linux-amd64.tar.gz- 解压
里面有一个可执行文件bloodhound-cli
tar -xvzf bloodhound-cli-linux-amd64.tar.gz- 自动拖配置文件然后等启动
./bloodhound-cli install由于这个bloodhound-cli是Go写的,不走你的proxychains代理,可以使用clash的Tun模式,或者设置环境变量,它会自动走你设置的代理.
export HTTP_PROXY=http://127.0.0.1:7890
export HTTPS_PROXY=http://127.0.0.1:7890
export ALL_PROXY=socks5://127.0.0.1:7890
要等一会儿,最后大概是

会给你初始的账号密码,访问本地的8080端口输入初始密码后重新设置一下账号密码即可.起服务需要时间可能还需要等一会什么的.
最顺利的情况就是全程没有错误,有时候会因为网络质量的问题报错什么的,可以拿报错去问AI.我第一次搞的时候遇到过
container for service "graph-db" is unhealthy
[-] Error from `docker-compose`: exit status 1
2025/06/12 14:27:01 Error trying to bring up environment with docker-compose.yml: exit status 1大概意思就是发现你这个neo4j服务不对劲,主要是它下载下来的docker-compose配置文件里面自带一套机制检测各个服务的状态,这里就是因为可能某种原因这个neoz4j服务的容器没有起起来或者还在loading....
可以在你当前目录下面有一个docker-compose.yml 文件里面63行把这个timeout时间改长一点就行了.
bloodhound-cli 命令
讲一下主要用的一些命令,大部分都是可以用docker的一些命令平替的.
bloodhound-cli running
查看bloodhound相关容器的状态通常会有bhce_bloodhound、bhce_neo4j、bhce_postgres这三个。没有或者少了的话就是死了,docker ps -a看一下
bloodhound-cli containers build
构建或者更新镜像,通常是对docker-compose的配置文件有所改变的,比如说改成外网也可以连啊什么的,前面的报错改timeout的值也需要这种方式进行构建,不会创建容器并启动
bloodhound-cli containers up
比前面那个多了一个创建容器并启动
bloodhound-cli containers start
启动当前被停止的容器,也就是被stop过的
bloodhound-cli containers stop
停止当前正在运行的bloodhound相关的容器
bloodhound-cli containers restart
重启,也就是说服务还在运行,但是有异常
bloodhound-cli containers down
停止当前容器并删除,跟stop相比还会把容器一起扬了
bloodhound-cli install
就是最开始安装的时候,会远程拉取docker的配置文件并尝试构建启动bloodhound相关服务
bloodhound-cli uninstall
比前面的down还要狠一点,会把相关的镜像还有卷数据什么的全部扬光光
bloodhound-cli update
更新成最新的bloodhound镜像
bloodhound-cli version
查看bloodhound-cli 这个命令的版本信息
bloodhound-cli resetpwd
重新设置密码
bloodhound-cli config
会展示一部分配置信息,主要是可以拿来看默认密码是什么
还有一些其他的感觉不太重要可以自己bloodhound-cli help看,其实docker-compose的跟这些差不多,这个命令本质上就是调用docker-compose 或者 docker compose 去专门针对bloodhound相关的容器进行操作