cypherhound:一个针对BloodHound数据集的终端应用程序

2023-01-09
456

关于cypherhound

cypherhound是一款功能强大的终端应用程序,该工具基于Python 3开发,包含了260+针对BloodHound数据集的Neo4j密码。

众所周知,BloodHound是一款功能强大的红队研究工具,但是该工具在设计时存在一些痛点。因此,cypherhound便应运而生,该工具不仅能够处理json图,而且还能够执行自定义解密。

除此之外,该工具还可以帮助蓝队研究人员显示有关其活动目录环境的详细信息。

功能介绍

cypherhound专为处理BloodHound数据而设计,并包含下列功能:

1、支持264种密码,可以根据用户输入(指定用户、组或计算机成员)设置要搜索的密码,支持用户定义的正则表达式密码;

2、支持根据用户需求导出所有结果,默认导出为终端对象,导出选项可以在grep/cut/awk中查看到支持的格式;

工具下载

由于该工具基于Python 3开发,因此广大研究人员首先需要在本地设备上安装并配置好Python 3环境。接下来,使用下列命令将该项目源码克隆至本地:

git clone https://github.com/fin3ss3g0d/cypherhound.git

然后使用pip命令和项目提供的requirements.txt来安装该工具所需的其他依赖组件:

python3 -m pip install -r requirements.txt

工具使用

我们可以直接使用下列命令来运行cypherhound:

python3 cypherhound.py -u  -p 

工具命令

cypherhound支持的命令菜单如下所示:

Command Menu

set - 用于设置密码的搜索参数

    sub-commands

        user - 用于设置指定用户密码的用户信息,必须包含@domain.name

        group - 用于设置指定组密码的组信息,必须包含@domain.name

        computer - 用于设置指定计算机成员密码的计算机成员信息,必须包含@domain.name

        regex - 用于设置指定正则表达式密码的正则表达式

    example

        set user svc-test@domain.local

        set group domain admins@domain.local

        set computer dc01.domain.local

        set regex .*((?i)web).*

run - 用于运行密码

    parameters

        cypher number - 设置要运行的密码数量

    example

        run 7

export - 用于将密码结果导出到txt文件

    parameters

        cypher number - 要运行和导出的密码数量

        output filename - 输出文件名称,不需要写后缀名

        raw - 写入元数据输出(可选)

    example

        export 31 results

        export 42 results2 raw

list - 用于显示密码列表

    parameters

        list type - 显示要查看的密码列表类型

    example

        list general

        list user

        list group

        list computer

        list regex

        list all

q, quit, exit - 退出程序

clear - 用于清理终端界面

help, ? - 用于显示此帮助菜单

注意事项

1、该程序将使用默认的Neo4j数据库和URI;

2、针对BloodHound 4.2.0构建;

3、Windows用户必须运行:pip3 install pyreadline3;

4、最短路径导出都是相同的(原始或非原始),因为它们的节点数量不可预测;

许可证协议

本项目的开发与发布遵循GPL-3.0开源许可证协议。

项目地址

cypherhound:【GitHub传送门

转载时必须以链接形式注明原始出处及本声明

扫描关注公众号