文章目录
环境和软件版本说明
bash
复制代码
└─# uname -a
Linux GOAD-KALI 6.18.12+kali-amd64 #1 SMP PREEMPT_DYNAMIC Kali 6.18.12-1kali1 (2026-02-25) x86_64 GNU/Linux
bash
复制代码
└─# sudo ./bloodhound-cli version
[+] Fetching latest version information:
Local Version BloodHound CLI v0.2.0 (14 Nov 2025)
Latest Release BloodHound CLI v0.2.0 (14 November 2025)
Latest Download URL https://github.com/SpecterOps/bloodhound-cli/releases/tag/v0.2.0
bash
复制代码
┌──(root㉿GOAD-KALI)-[/opt/bloodhound]
└─# docker --version
Docker version 27.5.1+dfsg4, build cab968b3
最低规格
对于大型环境(>5万用户)
8GB运存
96GB 内存
4个处理器核心
12个处理器核心
10GB硬盘空间
50GB硬盘空间
BloodHound
安装 Docker 和 Compose 插件
分步安装 Docker + Compose
bash
复制代码
# 安装 docker
sudo apt install docker.io -y
# 安装 docker-compose
sudo apt install docker-compose -y
启动 Docker 服务并设置开机自启
bash
复制代码
sudo systemctl start docker
sudo systemctl enable docker
# 将当前用户加入 docker 组(可选,避免每次 sudo)
sudo usermod -aG docker $USER
newgrp docker
BloodHound 下载和部署
下载 BloodHound CLI(BloodHound CLI 是一个工具,方便你在机器的容器中安装 BloodHound CE),如下是linux系统命令
bash
复制代码
wget https://github.com/SpecterOps/bloodhound-cli/releases/latest/download/bloodhound-cli-linux-amd64.tar.gz
解压文件,下载文件的目录并解压
bash
复制代码
tar -xvzf bloodhound-cli-linux-amd64.tar.gz
解压文件
bash
复制代码
tar -xvzf bloodhound-cli-linux-amd64.tar.gz
运行安装命令
bash
复制代码
./bloodhound-cli install
等待安装完成,保持终端开启,直到看到随机生成的密码显示。
bash
复制代码
[+] BloodHound is ready to go!
[+] You can log in as `admin` with this password: <Password>
登陆BloodHoundhttp://localhost:8080/ui/login 。
然后选择下载SharpHound
SharpHound的上传和信息收集
xfreerdp的使用需要kali桌面端打开rdp显示
使用 /drive 参数映射本地目录
bash
复制代码
xfreerdp /u:jon.snow /p:iknownothing /d:north /v:192.168.56.22 /cert:ignore /drive:share,/home/agrant/Downloads
解压到tmp目录,并执行命令收集信息
bash
复制代码
.\SharpHound.exe -d north.sevenkingdoms.local -c all --zipfilename bh_north_sevenkingdoms.zip
.\SharpHound.exe -d sevenkingdoms.local -c all --zipfilename bh_sevenkingdoms.zip
.\SharpHound.exe -d essos.local -c all --zipfilename bh_essos.zip
然后将生成的压缩包,复制到原来的挂载目录
BloodHound解析和查看
然后的BloodHound网页上传解析
在区域部分可以查看
在查询可以查阅相关内容,如显示所有用户
bash
复制代码
MATCH p = (d:Domain)-[r:Contains*1..]->(n:Computer) RETURN p
bash
复制代码
MATCH p = (d:Domain)-[r:Contains*1..]->(n:User) RETURN p
bash
复制代码
MATCH q=(d:Domain)-[r:Contains*1..]->(n:Group)<-[s:MemberOf]-(u:User) RETURN q
bash
复制代码
MATCH p=(u:User)-[r1]->(n) WHERE r1.isacl=true and not tolower(u.name) contains 'vagrant' RETURN p