Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
cypheroth — 自动化、可扩展的工具集,可对 Bloodhound 的 Neo4j 后端运行 Cypher 查询并将结果保存为电子表格。 | Kitploit
工具/GitHubGitHub/seajaysec/cypheroth
侦察信息收集渗透测试
GitHubseajaysec/cypheroth

cypheroth

自动化、可扩展的工具集,可对 Bloodhound 的 Neo4j 后端运行 Cypher 查询并将结果保存为电子表格。

查看仓库
256425年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Cypheroth

自动化、可扩展工具集,对 Bloodhound 的 Neo4j 后端运行 Cypher 查询,并将输出保存为电子表格。

cypheroth

描述

这是一个 bash 脚本,可自动化对存储在 Neo4j 数据库中的 Bloodhound 数据运行 Cypher 查询。

我发现自己多次重新运行相同的查询(通过 Neo4j Web 界面)进行多个评估,心想一定有更简单的方法。😅

要运行的 Cypher 查询列表是完全可扩展的。下面的格式示例展示了如何添加你自己的查询。

请分享任何其他有用的查询,以便我将它们添加到这个项目中!

已全面测试,可在 Linux、macOS 和 Windows 的 Bash 中正常工作

演示

Cypheroth Demo (使用 termtosvg 渲染,供您欣赏)

前提条件

  • cypher-shell 命令随 Neo4j 捆绑提供,此脚本需要此命令才能运行
    • 如果 Neo4j 已安装但未找到 cypher-shell,则可能是 Neo4j 版本过旧
    • 最新版本始终可在 此处 找到
    • 在 Kali 上,使用 Neo4j 的 Debian 仓库 升级到最新版本
  • 可选:如果存在 ssconvert 命令,脚本会将所有 .csv 输出合并到 .xls 文件的工作表中
    • 使用 apt 或 brew 安装 gnumeric 工具集,以获得 ssconvert

在 Windows 上,我们建议使用 WSL 运行此脚本,而 Neo4j 数据库则在 Windows 上运行。您只需在 WSL(Linux)中安装 cypher-shell 软件包即可。

用法

标志:

root@kitploit:~
  -u Neo4J 用户名(必需)
  -p Neo4J 密码(必需)
  -d 完全限定域名(必需)(区分大小写)
  -a Bolt 地址(可选)(默认值:localhost:7687)
  -t 查询超时(可选)(默认值:30s)
  -v 详细模式(可选)(默认值:FALSE)
  -h 帮助文本和用法示例(可选)

使用默认值的示例:

./cypheroth.sh -u neo4j -p BloodHound -d TESTLAB.LOCAL

使用所有选项的示例:

./cypheroth.sh -u neo4j -p hunter2 -d BigTech.corp -a 10.0.0.1:7687 -t 5m -v true

文件添加到以 FQDN 命名的子目录中。

Cypher 查询

脚本中目前有将近 60 个查询。以下是您将获得的信息示例:

  • 完整用户属性列表
  • 完整计算机属性列表
  • 完整域属性列表
  • 完整 OU 属性列表
  • 完整 GPO 属性列表
  • 完整组属性列表
  • 具有管理员的计算机
  • 没有管理员的计算机
  • 可 Kerberoast 的用户以及它们所在的具有管理权限的计算机

要添加其他查询,请编辑 cypheroth.sh 中的 queries 数组,并使用以下格式添加一行:

描述;Cypher 查询;输出文件

如果添加需要设置域值的查询,请将其保存为 $DOMAIN。

示例 1:

root@kitploit:~
所有用户名;MATCH (u:User) RETURN u.name;usernames.csv

示例 2:

root@kitploit:~
所有域管理员;MATCH (u:User) MATCH (g:Group {name:'DOMAIN ADMINS@$DOMAIN'}) RETURN u.displayname;domainAdmins.csv

分析多个域

如果需要分析多个域,可以并行运行多个 Cypheroth 实例,每个实例处理其自己的域。 例如,您可以使用以下脚本(并行运行 10 个)。

root@kitploit:~
#!/usr/bin/env bash
DOMAINS=(domA.example.net domB.example.net [...])
parallel -j10 --lb ./cypheroth.sh <args> -d {} ::: "${DOMAINS[@]}"

故障排除

如果您运行的是过时版本的 cypher-shell,可能会收到以下错误:

root@kitploit:~
DateTime is not supported as a return type in Bolt protocol version 1.
Please make sure driver supports at least protocol version 2.
Driver upgrade is most likely required.

要修复,请将 Neo4j 更新到最新版本。

作者

Chris Farrell (@seajay)

致谢

  • 此工具离不开 BloodHound——由 @_wald0、@CptJesus 和 @harmj0y 开发
  • 感谢 Bloodhound Slack 的 #cypher_queries 频道提供的帮助
  • 特别感谢 @TinkerSec——本项目的基础直接复制粘贴自他的 procdump 脚本 🙃
  • 非常感谢 @awsmhacks、@haus3c 和 @ScoubiMtl 收集了有用的 Cypher 查询(分别见此处、此处 和 此处)
  • 非常感激 @chryzsh 和 @mubix 的贡献!!
  • 来自 @cnotin 的所有出色贡献
下载工具