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 <neo4j_username> -p <neo4j_password>
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 [email protected]
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:https://github.com/fin3ss3g0d/cypherhound
精彩推荐