官方公众号企业安全新浪微博
FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。
FreeBuf+小程序
关于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 <neo4j_username> -p <neo4j_password>
工具命令
cypherhound支持的命令菜单如下所示:
Command Menu set - 用于设置密码的搜索参数 sub-commands user - 用于设置指定用户密码的用户信息,必须包含@domain.name group - 用于设置指定组密码的组信息,必须包含@domain.name computer - 用于设置指定计算机成员密码的计算机成员信息,必须包含@domain.name regex - 用于设置指定正则表达式密码的正则表达式 example set user [email protected] 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:【GitHub传送门】