CrackerJack是一个基于Python编程语言开发的Hashcat的Web GUI实现。它的目标是在保持Hashcat工具独立性的同时提供GUI接口。简而言之,CrackerJack具备以下功能:
用户可以上传哈希、选择字典、规则和掩码等,然后点击“开始”按钮。
Web服务器将生成一个新的屏幕,根据配置生成hashcat命令,并在界面上运行命令。它会监控和解析屏幕输出数据,并在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
工具安装:
研究人员可以使用以下命令将项目源码克隆到本地:
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
sudo chown -R www-data:www-data /path/to/crackerjack
. venv/bin/activate
development =
app =
flask run
虚拟环境:
在命令行终端中切换到项目所在目录,然后运行以下命令:
设置www-data所有者:
由于Web服务器需要在www-data下运行,因此我们需要为应用程序提供用户权限:
本地运行:
我们可以在本地使用CrackerJack而无需使用Apache/Nginx。导航至项目目录,然后运行以下命令:
(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
运行后,您将看到以下信息:
接下来,我们可以在浏览器中访问:5000/来使用CrackerJack。
工具运行截图:
运行中的会话:
仪表盘:
会话:
选择哈希:
哈希类型选择: