hegusung/WebHashcat

GitHub: hegusung/WebHashcat

WebHashcat是一个基于Django的hashcat密码破解工具网页界面,支持分布式破解、实时结果显示和会话恢复等功能。

Stars: 321 | Forks: 70

# WebHashcat Hashcat 网页界面 WebHashcat 是一个非常简洁但高效的 hashcat 密码破解工具网页界面。 它具有以下功能: * 在多台服务器之间分布式破解(只需在远程服务器上安装 HashcatNode) * 破解的哈希几乎在破解后立即显示 * 破解会话恢复(例如主机重启后) * 上传明文文件用于分析 purposes * 在整个数据库中搜索模式 * 分析功能 目前 WebHashcat 支持基于规则和基于掩码的攻击模式 该项目由两部分组成: - WebHashcat,使用 Django 框架制作的网页界面 - HashcatNode,一个为 hashcat 创建 API 的 hashcat 包装器 ## WebHashcat 使用说明 ### 向 WebHashcat 添加规则、掩码和字典 转到 Hashcat > Files 页面,然后使用上传按钮添加新文件。请注意,上传的文件会添加到 webhashcat 中,但尚未部署到节点。

Rules/Masks/Wordlists

### 注册节点 可以在 Node 页面简单地添加和删除节点,只需定义 IP、端口、用户名和密码(如 hashcatnode 配置脚本中所定义的)。

Node list

注册节点后,点击该节点并点击顶部的同步按钮。规则、掩码和字典现在应该已上传到节点(所有文件应为绿色)。

Node

### 添加哈希文件 在 hashcat 页面,只需点击底部的"add"按钮上传新的哈希文件,在将新哈希文件与集中式 potfile 进行比较后(对于大型哈希文件可能需要几分钟),您的哈希文件应该会显示在列表中。 ### 创建破解会话 只需点击哈希文件左侧的"+"按钮,然后选择所需的破解方法。请注意,会话不会自动启动,您需要使用"play"按钮来启动它们。

Hashfile list

如果您将 cron 设置为 5 分钟,集中式 potfile 将每 5 分钟更新一次新破解的哈希。 只需点击哈希文件即可查看结果,对于大型哈希文件可能需要几秒钟。请注意,您也可以在哈希文件列表和哈希文件视图中下载结果。

Hashfile details

### 在用户名中搜索特定模式 使用此功能,您可以轻松地在 webhashcat 中上传的泄露数据中搜索客户的电子邮件地址。只需提供您要在用户名中查找的字符串,然后选择要在哪些哈希文件中查找。数据库搜索完成后,您应该能够下载结果。如果您之后添加了新的哈希文件,只需点击'reload'按钮,WebHashcat 将再次在整个数据库中搜索。

Hashfile details

## 安装 ### HashcatNode #### 使用 Docker 如果您在 Windows(或 WSL)上使用 Docker,请更改 Dockerfile: ``` FROM dizcza/docker-hashcat:latest # 到 FROM dizcza/docker-hashcat:cuda ``` 首先安装 nvidia-docker: ``` curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - distribution=$(. /etc/os-release;echo $ID$VERSION_ID) curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list sudo apt-get update sudo apt-get install -y nvidia-docker2 sudo pkill -SIGHUP dockerd ``` 然后,运行以下 docker 命令: ``` docker-compose up -d --build ``` 默认凭据为:test:test 通过编辑 docker-compose.yml 配置文件更改它们 #### 手动安装 HashcatNode 可以在 Windows 和 Python 上运行 Windows 限制: 一次只能运行/暂停**一个**破解会话 安装 pip 包: ``` pip3 install -r requirements.txt ``` 如果您在 Windows 上运行,还需要安装 pywin32 包 ``` pip3 install pywin32 ``` 将 `settings.ini.sample` 文件重命名为 `settings.ini` 并相应填写参数。 规则、掩码和字典目录必须对运行 hashcatnode 的用户可写 只需运行 `./hashcatnode.py` 即可运行 hashcatnode * 创建数据库(sqlite) 运行脚本(HashcatNode 文件夹) ``` ./create_database.py ``` * 创建节点证书(在 Windows 上运行 HashcatNode 时安装 Windows 版本的 OpenSSL) ``` openssl req -x509 -newkey rsa:4096 -keyout server.key -out server.crt -days 365 -nodes ``` * 可以手动启动 HashcatNode: ``` python3 hashcatnode.py ``` * 注册为服务(systemd)(仅限 Linux) 编辑 systemd/hashcatnode.service 文件以匹配您的设置,然后将其复制到 /etc/systemd/system/ ##### 依赖项 - python3 - flask - flask-basicauth - peewee - hashcat >= 3 ### WebHashcat #### 使用 Docker 需要 docker-compose >= 2.29,您可以使用以下指南安装: https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-compose-on-ubuntu-20-04 然后,运行以下命令: ``` docker-compose up -d --build ``` WebHashcat 应该在端口 8000 上可用 #### 手动安装 ##### 安装软件包 安装以下软件包: ``` apt install mysql-server apt install libmysqlclient-dev apt install redis apt install supervisor ``` 安装 pip 包: ``` pip3 install -r requirements.txt ``` ##### 创建数据库 使用以下命令创建数据库以确保可以插入 utf8 用户名/密码 ``` mysql> CREATE DATABASE webhashcat CHARACTER SET utf8; mysql> CREATE USER webhashcat IDENTIFIED BY ''; mysql> GRANT ALL PRIVILEGES ON webhashcat.* TO 'webhashcat'; ``` ##### 配置 WebHashcat 是一个使用 MySQL 数据库的 Django 应用程序,其安装方式如下: * 将 `Webhashcat/settings.py.sample` 文件复制到 `WebHashcat/settings.py` * 编辑它: - 更改 SECRET_KEY 参数 您可以通过在 python shell 中运行以下命令来生成随机密钥 ``` from django.utils.crypto import get_random_string chars = 'abcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*(-_=+)' get_random_string(50, chars) ``` - 将您的 webhashcat fqdn 添加到 ALLOWED_HOSTS - 在 DATABASES 部分设置您的 MySQL 用户名和密码 - 如果您在生产环境中使用,请设置 DEBUG = False! 您可以参考以下 Django 文档获取更多信息:https://docs.djangoproject.com/en/2.0/howto/deployment/checklist/ * 将 `settings.ini.sample` 文件复制到 `settings.ini` * 编辑 `settings.ini` 文件 - potfile 参数不需要更改 * 使用 django 创建表 ``` ./manage.py runserver ``` * 创建用于访问界面的用户 ``` ./manage.py createsuperuser ``` ##### 配置 Web 服务器 * 如果您想在不设置 Web 服务器的情况下测试界面,请使用以下命令: ``` ./manage.py runserver ``` * 如果您想使用 apache 或 nginx 等正确的 Web 服务器设置界面,请参考以下文档: https://docs.djangoproject.com/en/2.0/howto/deployment/wsgi/modwsgi/ ##### 配置 Supervisor Supervisor 是负责重后台任务的守护进程,例如从节点拉取最新结果或导入哈希文件。 * 安装 supervisor 后,将配置文件从 Webhashcat/supervisor 文件夹复制到 /etc/supervisor/conf.d/ 文件夹。 * 完成后,编辑它们以匹配您的配置 ##### 依赖项 - python3 - django >= 2 - hashcat >= 3 - mysqlclient - humanize - requests - requests-toolbelt - celery - redis - supervisor ## 操作系统优化 如果您要处理超过 1000 万个哈希,我建议您对系统进行以下修改: * 增加 /tmp 大小:MySQL 在处理大型哈希文件时倾向于在 /tmp 目录中放置大量数据 * 增加 swap 分区大小 * 如果您在 MySQL 配置中使用 InnoDB 表,我建议您编辑 my.cnf 配置文件并增加 innodb_buffer_pool_size 值。这样 MySQL 将在更新破解的哈希时能够分配足够的内存。
标签:API, Awesome, Bitdefender, cracker, Django, DOS头擦除, Hashcat, PoC, Python, Web界面, 代码生成, 分布式破解, 分布式系统, 后端开发, 响应大小分析, 多节点, 密码攻击, 密码猜测, 密码破解, 掩码攻击, 搜索引擎查询, 无后门, 暴力破解, 渗透测试工具, 系统管理, 网络安全, 规则攻击, 请求拦截, 隐私保护