使用说明
Hashcat MCP服务器
一种模型上下文协议(MCP)服务器,通过以下方式为AI助手提供GPU加速的密码恢复功能 哈希猫。专为进行授权安全评估的安全专业人员、渗透测试人员和红队操作员而设计。
概述
此MCP服务器使AI助手能够通过SSH在远程Kali Linux系统上编排哈希猫操作,提供:
- 完全控制hashcat破解会话
- 支持所有攻击模式(字典、暴力、混合、组合)
- 具有暂停/恢复功能的会话管理
- 哈希识别和模式查找
- 基准测试和性能测试
特性
12个综合工具
| 工具 | 说明 |
|---|---|
hashcat_crack |
使用可配置的攻击模式开始密码破解 |
hashcat_status |
监控正在运行的会话进度 |
hashcat_show |
显示来自potfile的破解密码 |
hashcat_benchmark |
测试GPU破解性能 |
hashcat_modes |
列出并搜索600多种支持的哈希类型 |
hashcat_attack_modes |
解释可用的攻击方法 |
hashcat_rules |
浏览和检查规则文件 |
hashcat_restore |
恢复中断的会话 |
hashcat_stop |
通过检查点保存优雅地停止 |
hashcat_wordlists |
发现可用的单词表 |
hashcat_identify |
识别未知哈希类型 |
hashcat_sessions |
列出所有已保存的会话 |
支持的攻击模式
| 模式 | 名称 | 描述 |
|---|---|---|
| 0 | 词典 | 直接单词表攻击 |
| 1 | 组合器 | 组合两个单词表 |
| 3 | 暴力 | 基于面具的角色生成 |
| 6 | 混合W+M | 单词列表+掩码后缀 |
| 7 | 混合M+W | 掩码前缀+单词表 |
| 9 | 关联 | 上下文感知定向破解 |
常见哈希类型
| 名称 | 模式 | 描述 |
|---|---|---|
md5 |
0 | MD5 |
sha1 |
100 | 沙1 |
sha256 |
1400 | 沙2-256 |
sha512 |
1700 | 沙2-512 |
ntlm |
1000 | Windows NTLM |
netntlmv2 |
5600 | 净NTLMv2 |
wpa |
22000 | WPA-PBKDF2-PMKID+EAPOL |
bcrypt |
3200亿加密 | |
sha512crypt |
1800 | SHA512 Unix密码 |
安装
先决条件
- Node.js 18或更高版本
- SSH访问Kali Linux系统(或任何具有hashcat的系统)
- 远程系统上安装了hashcat
- 支持OpenCL/CUDA的GPU(推荐用于性能)
设置
# Clone the repository
git clone https://github.com/schwarztim/sec-hashcat-mcp.git
cd sec-hashcat-mcp
# Install dependencies
npm install
# Build
npm run build
配置
通过环境变量进行配置:
| 变量 | 默认值 | 描述 |
|---|---|---|
HASHCAT_SSH_HOST |
kali |
hashcat系统的SSH主机名 |
HASHCAT_SSH_USER |
(当前用户) | SSH用户名 |
HASHCAT_SSH_OPTIONS |
-o StrictHostKeyChecking=no -o ConnectTimeout=10 |
SSH连接选项 |
HASHCAT_PATH |
hashcat |
远程哈希猫二进制文件的路径 |
HASHCAT_WORDLIST |
/usr/share/wordlists/rockyou.txt |
默认单词表路径 |
HASHCAT_RULES |
/usr/share/hashcat/rules/best64.rule |
默认规则文件路径 |
Claude桌面集成
添加到您的Claude Desktop配置(~/.claude.json 或同等):
{
"mcpServers": {
"hashcat": {
"command": "node",
"args": ["/path/to/sec-hashcat-mcp/dist/index.js"],
"env": {
"HASHCAT_SSH_HOST": "kali",
"HASHCAT_SSH_USER": "root"
}
}
}
}
使用示例
MD5的字典攻击
{
"tool": "hashcat_crack",
"arguments": {
"hash": "5d41402abc4b2a76b9719d911017c592",
"hash_mode": "md5",
"attack_mode": "dictionary",
"wordlist": "/usr/share/wordlists/rockyou.txt"
}
}
带面具的暴力
破解一个6个字符的小写密码:
{
"tool": "hashcat_crack",
"arguments": {
"hash": "5d41402abc4b2a76b9719d911017c592",
"hash_mode": 0,
"attack_mode": "bruteforce",
"mask": "?l?l?l?l?l?l"
}
}
带规则的NTLM
{
"tool": "hashcat_crack",
"arguments": {
"hash": "32ed87bdb5fdc5e9cba88547376818d4",
"hash_mode": "ntlm",
"attack_mode": "dictionary",
"rules": "/usr/share/hashcat/rules/best64.rule",
"session": "ntlm_audit"
}
}
背景长期运行裂纹
{
"tool": "hashcat_crack",
"arguments": {
"hash": "/tmp/hashes.txt",
"hash_mode": 1000,
"attack_mode": "dictionary",
"session": "overnight_crack",
"background": true,
"workload": 3
}
}
然后检查进度:
{
"tool": "hashcat_status",
"arguments": {
"session": "overnight_crack"
}
}
增量掩码攻击
尝试使用1-8个字符的密码:
{
"tool": "hashcat_crack",
"arguments": {
"hash": "5d41402abc4b2a76b9719d911017c592",
"hash_mode": "md5",
"attack_mode": "bruteforce",
"mask": "?a?a?a?a?a?a?a?a",
"increment": true,
"increment_min": 1,
"increment_max": 8
}
}
面具字符集
| 字符集 | 字符 |
|---|---|
?l |
a-z (小写) |
?u |
A-Z (大写) |
?d |
0-9 (数字) |
?h |
0-9a-f (十六进制小写) |
?H |
0-9A-F (十六进制大写) |
?s |
特殊人物 |
?a |
所有可打印ASCII码 |
?b |
0x00-0xff (全字节范围) |
安全考虑
此工具用于 仅限授权安全测试用户必须:
- 有明确的书面授权来测试目标系统
- 遵守所有适用的法律法规
- 在授权范围内负责任地使用
- 适当保护恢复的凭据
滥用密码破解工具可能违反计算机犯罪法。
发展
# Watch mode for development
npm run dev
# Run tests
npm test
建筑
hashcat-mcp/
├── src/
│ └── index.ts # Main MCP server implementation
├── dist/ # Compiled JavaScript
├── package.json
└── tsconfig.json
服务器通过stdio传输进行通信,并通过SSH向配置的远程系统执行hashcat命令。
贡献
欢迎投稿!请确保有任何更改:
- 维护TypeScript类型安全
- 遵循现有代码样式
- 包括适当的错误处理
- 根据需要更新文档
许可证
MIT许可证-请参阅 许可证 了解详情。
致谢
- 哈希猫 -世界上最快的密码破解者
- 模型上下文协议 -AI工具集成标准
- Kali Linux -以安全为重点的Linux发行版