CrackerJack:Hashcat的Web接口实现

2021-04-16 14:25:24 浏览数 (1)

CrackerJack介绍及架构

CrackerJack是Hashcat的Web GUI实现,该项目基于Python编程语言开发,旨在维持Hashcat工具独立的情况下实现GUI接口。简而言之,CrackerJack能够实现下列功能:

用户可以上传哈希、选择字典、规则和掩码等等,然后点击“开始”即可。 Web服务器将生成一个新的screen,可以根据配置生成hashcat命令,在界面上运行命令,监控和解析screen输出数据,并在GUI中给用户显示处理结果。

这使得CrackerJack与Hashcat的输入/输出相关联,另外,如果GUI由于任何原因无法工作,hashcat将继续运行。

功能介绍

最少的依赖关系:使用sqlite3、screen和hashcat; 完整的hashcat会话管理,支持开启、终止、暂停和恢复正在运行的会话,在指定时间过后终止破解任务; Web接口支持掩码生成(?a?l?u); 密码破解后Web推送通知; Swagger 2.0 API; 根据已破解密码生成字典,并用于破解会话中; 多用户支持; 字典/掩码/规则支持; 操作简单,所有配置可通过GUI操作,无需编辑配置文件,支持在Linux和Windows本地运行; 支持备份,所有的用户数据均存储在./data目录中;

限制条件

不支持排队作业,只能用于按需密码破解。 其目标并非替代命令行工具,CrackerJack是免费的,仅支持基本和最常见的破解任务。 不会安装任何GPU驱动程序。 字典和规则已经存在于系统中了。

工具要求

Python >= 3.6 Screen >= 4.06.00 Hashcat

工具安装

广大研究人员可以使用下列命令将该项目源码克隆至本地:

代码语言:javascript复制
git clone https://github.com/ctxis/crackerjack

虚拟环境

在命令行终端中切换到项目所在目录,然后运行下列命令:

代码语言:javascript复制
python3 -m venv venv    # You might need to change python3 to python3.6
. venv/bin/activate
pip install -r requirements.txt
flask db init
flask db migrate
flask db upgrade
Deactivate

设置www-data所有者

由于Web服务器需要在www-data下运行,因此我们需要给应用程序提供用户权限:

代码语言:javascript复制
sudo chown -R www-data:www-data /path/to/crackerjack

本地运行

我们可以在不需要使用Apache/Nginx的情况下在本地使用CrackerJack,导航至项目目录下,然后运行下列命令:

代码语言:javascript复制
. venv/bin/activate
export FLASK_ENV=development
export FLASK_APP=app
flask run

运行之后,大家将看到如下所示的信息:

代码语言:javascript复制
(venv) $ flask run
 * Serving Flask app "app" (lazy loading)
 * Environment: development
 * Debug mode: on
 * Running on http://127.0.0.1:5000/ (Press CTRL C to quit)
 * Restarting with stat
 * Debugger is active!
 * Debugger PIN: 182-315-751

接下来,我们就可以在浏览器中访问http://127.0.0.1:5000/来使用CrackerJack了。

工具运行截图

运行中的会话:

仪表盘:

会话:

选择哈希:

哈希类型选择:

字典选择:

掩码生成:

通用会话设置:

工具使用演示

视频地址:https://www.油管.com/watch?v=9Ol48qQtuk4

许可证协议

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

项目地址:点击底部【阅读原文】获取

0 人点赞