Ki1shan/HashForge
GitHub: Ki1shan/HashForge
一个基于 tkinter 的双面板图形化哈希工具,集哈希自动识别、字典破解与批量生成于一体,覆盖60余种哈希算法。
Stars: 0 | Forks: 0
# 🔐 HashForge






## ⚠️ 免责声明
本工具**仅**适用于以下用途:
- 授权的渗透测试和 CTF 挑战
- 对您拥有或获得明确授权测试的系统进行密码恢复
- 安全研究与教育目的
- 网络安全培训环境
**严禁在未获得明确书面授权的情况下,将本工具用于任何系统或账户。**
## 概述
HashForge 是一个基于 tkinter 构建的 Python GUI 工具,分为两个可调整大小的面板:
- **破解面板** — 字典攻击,支持实时哈希类型检测、变异规则、盐值支持、进度跟踪和停止控制
- **生成面板** — 在所有支持的算法中同时计算任意明文的哈希值,并支持显示/隐藏密码切换
所有破解操作均在后台线程中运行 —— 攻击期间 GUI 保持完全响应。
## 功能
### 🔨 哈希破解
- 使用任何字典文件进行字典攻击
- 输入时**实时检测哈希类型** — 在 `KeyRelease` 时自动检测
- 60 多种哈希类型模式,基于正则表达式进行识别
- 通过下拉菜单手动选择哈希类型,以区分容易混淆的哈希(例如 MD5、NTLM 与 MD4 —— 均为 32 个字符)
- 盐值支持 —— 在哈希之前将其附加到候选密码的开头
- 12 条变异规则 —— 为字典中的每个条目生成密码变体
- 带有尝试计数器的进度条
- 停止按钮 —— 可在破解中途优雅地停止处理字典
- 后台线程 —— UI 永不卡顿
### 🔑 哈希生成
- 输入任意明文密码
- 显示/隐藏密码切换
- 同时生成所有受支持算法的哈希值
- 格式清晰的输出 —— `ALGORITHM : hash_value`
- 除了加密哈希外,还包括 Base64 和 Base32 编码
## 支持的哈希类型 (60+)
### 加密哈希
| 算法 | 输出长度 |
|-----------|--------------|
| MD5 | 32 个字符 |
| SHA1 | 40 个字符 |
| SHA224 | 56 个字符 |
| SHA256 | 64 个字符 |
| SHA384 | 96 个字符 |
| SHA512 | 128 个字符 |
| SHA3-224 | 56 个字符 |
| SHA3-256 | 64 个字符 |
| SHA3-384 | 96 个字符 |
| SHA3-512 | 128 个字符 |
| BLAKE2b | 128 个字符 |
| BLAKE2s | 64 个字符 |
| RIPEMD160 | 40 个字符 |
| WHIRLPOOL | 128 个字符 |
### Windows / AD 哈希
| 算法 | 备注 |
|-----------|-------|
| NTLM | UTF-16LE 编码密码的 MD4 |
| NTLMv2 | 挑战-响应变体 |
| LM | 旧版 LAN Manager 哈希 |
| MD4 | NTLM 的基础 |
### Unix / Linux 哈希
| 算法 | 格式 |
|-----------|--------|
| MD5-Crypt | `$1$salt$hash` |
| SHA256-Crypt | `$5$salt$hash` |
| SHA512-Crypt | `$6$salt$hash` |
| DESCrypt | 13 个字符的 DES |
| bcrypt | `$2b$rounds$hash` |
| ARGON2 | `$argon2id$...` |
| SCRYPT | `$scrypt$...` |
### 数据库哈希
| 系统 | 备注 |
|--------|-------|
| MySQL | 40 个字符的 SHA1 变体 |
| MSSQL | 40 个字符的十六进制 |
| PostgreSQL | 40 个字符的十六进制 |
| Oracle | 16 个字符的十六进制 |
### 网络 / 设备哈希
| 系统 | 备注 |
|--------|-------|
| WPA | Wi-Fi 密码哈希 |
| Cisco-Type7 | Cisco IOS 混淆 |
| Cisco-PMD5 | Cisco MD5 密码 |
| Juniper | 64 个字符的十六进制 |
| HTTP-Digest | 32 个字符的 MD5 |
| NT-CHALLENGE | 16 个字符的十六进制 |
### 编码及其他
Base64, Base32, Base16, URL-Encoded, PBKDF2-HMAC-SHA256, PBKDF2-HMAC-SHA1, GOST, HAVAL-128/160/192/224/256, TIGER128/160/192, MDC2, CRC32, CRC64, ADLER32, BLAKE3, UUID, SAP-B, SAP-G, RACF, DNSSEC, SALESFORCE, MEDIAWIKI 等。
## 变异规则 (12)
| 规则 | 效果 | 输入 → 输出示例 |
|------|--------|----------------------|
| `None` | 无变异 | `password` → `password` |
| `Lowercase` | 全部小写 | `Password` → `password` |
| `Uppercase` | 全部大写 | `password` → `PASSWORD` |
| `Capitalize` | 首字母大写 | `password` → `Password` |
| `Reverse` | 反转字符串 | `password` → `drowssap` |
| `Leet` | 黑客语替换 | `password` → `p@ssw0rd` |
| `Duplicate` | 词语重复两次 | `pass` → `passpass` |
| `Title Case` | 每个单词首字母大写 | `password` → `Password` |
| `Swap Case` | 交换大小写 | `Password` → `pASSWORD` |
| `Add Numbers` | 追加数字 0-9 | `password` → `password0`...`password9` |
| `Add Special` | 追加特殊字符 `!@#$%^&*` | `password` → `password!` 等 |
| `Year Append` | 追加年份 1990-2029 | `password` → `password2024` 等 |
## 安装说明
```
git clone https://github.com/Ki1shan/HashForge.git
cd HashForge
python hashforge.py
```
## 使用说明
### 哈希破解
1. 将目标哈希值粘贴到 **Hash** 字段中
2. 在您输入时,哈希类型将被自动检测 —— 在输入框下方以蓝色显示
3. 如有必要,可通过下拉菜单进行覆盖(尤其是对于容易混淆的 32 个字符的哈希)
4. 可选择输入 **Salt** 值
5. 选择一条 **Mutation Rule**(变异规则)
6. 点击 **Browse** 选择您的字典文件
7. 点击 **Start Cracking**
8. 随时使用 **Stop** 可在中途停止字典破解
### 哈希生成
1. 在 **Generation Panel** 中输入明文密码
2. 切换 **Show** 以显示/隐藏密码
3. 点击 **Generate Hashes**
4. 所有算法的输出将同时显示,方便您复制
## GUI 布局
```
┌──────────────────────────────────────────────────────────────────┐
│ HashForge │
├───────────────────────────────────┬──────────────────────────────┤
│ CRACKING PANEL │ GENERATION PANEL │
│ │ │
│ Hash: [____________________] │ Password: [________] [Show] │
│ Detected: SHA256, BLAKE2s │ │
│ │ [Generate Hashes] │
│ Type: [Auto Detect ▼] │ │
│ Salt: [________] │ MD5 : 5f4dcc3b5aa... │
│ Mutations: [Leet ▼] │ SHA1 : 5baa61e4c9b... │
│ │ SHA256 : 5e884898da2... │
│ Wordlist: [/path/list] [Browse] │ SHA512 : b109f3bbbc2... │
│ [████████░░] 4200 attempts │ NTLM : 8846f7eaee8... │
│ Status: Running... │ BLAKE2b: a665a45920... │
│ │ Base64 : cGFzc3dvcmQ= │
│ [Start Cracking] [Stop] │ ... │
│ │ │
│ Results: │ │
│ *** PASSWORD FOUND! *** │ │
│ Password: letmein │ │
│ Attempts: 4271 │ │
└───────────────────────────────────┴──────────────────────────────┘
```
## 使用场景
- **CTF 挑战** — 识别未知的哈希类型并立即破解
- **渗透测试** — 对来自 `/etc/shadow`、NTDS.dit、数据库转储的哈希执行字典攻击
- **安全意识** — 演示弱密码被破解的速度有多快
- **哈希识别** — 在 60 多种模式中自动检测未知的哈希格式
- **哈希生成** — 快速生成用于测试和验证的参考哈希
## 作者
**Kishan N**
攻防安全工程师 | 工具开发者
构建 HashForge 是将其作为一个实用的、基于 GUI 的命令行哈希工具替代品 —— 将破解、识别和生成整合在一个简洁的双面板界面中。
## 开源协议
MIT License — 详见 `LICENSE` 文件。
*哈希的安全性仅仅取决于其背后的密码。*
标签:bcrypt, CTF工具, DOS头擦除, GUI工具, Hacking, Hash Cracker, MD4, MD5, NTLM, Python, Security, SHA, tkinter, URL发现, VEH, 凭据导出, 凭证转储, 哈希生成, 哈希识别, 字典攻击, 安全检测, 密码破解, 数据变异, 无后门, 漏洞搜索, 瑞士军刀, 离线破解, 网络安全, 隐私保护