Hydra MCP服务器
一种模型上下文协议(MCP)服务器,为AI助手提供受控访问 THC Hydra,快速灵活的网络登录破解器。专为授权渗透测试和安全评估而设计。
概述
此MCP服务器使AI助手能够通过SSH在远程Kali Linux系统上通过THC Hydra编排密码安全测试。它为暴力攻击、HTTP表单测试和会话管理提供了结构化工具。
重要提示: 此工具仅用于授权的安全测试。未经授权的访问尝试是非法和不道德的。
特性
- 多协议支持 -60多种协议,包括SSH、FTP、RDP、HTTP表单、数据库等
- HTTP表单攻击 -专门支持web应用程序登录测试
- 远程执行 -通过SSH在Kali Linux上运行Hydra命令
- 会话管理 -保存、恢复和监视攻击会话
- 单词列表集成 -访问常见的Kali Linux单词表
- 命令生成 -执行前预览命令
先决条件
- Node.js 18+
- SSH访问安装了THC Hydra的Kali Linux系统
- 配置了基于SSH密钥的身份验证(推荐)
安装
# Clone the repository
git clone https://github.com/schwarztim/sec-hydra-mcp.git
cd sec-hydra-mcp
# Install dependencies
npm install
# Build
npm run build配置
为Kali Linux连接设置环境变量:
export KALI_HOST="kali" # Hostname or IP of your Kali system
export KALI_USER="kali" # SSH username确保配置了SSH密钥身份验证:
ssh-copy-id kali@your-kali-hostMCP客户端配置
添加到您的Claude Desktop或MCP客户端配置中:
{
"mcpServers": {
"hydra": {
"command": "node",
"args": ["/path/to/sec-hydra-mcp/dist/index.js"],
"env": {
"KALI_HOST": "your-kali-host",
"KALI_USER": "kali"
}
}
}
}可用工具
液压附件
对目标服务执行暴力攻击。
{
target: "192.168.1.100",
protocol: "ssh",
username: "admin",
password_file: "/usr/share/wordlists/rockyou.txt",
tasks: 4,
exit_on_first: true
}hydra_http_form
用于攻击HTTP/HTTPS基于表单的身份验证的专用工具。
{
target: "example.com",
path: "/login.php",
form_data: "username=^USER^&password=^PASS^",
failure_string: "Invalid credentials",
username_file: "/usr/share/wordlists/top-usernames-shortlist.txt",
password_file: "/usr/share/wordlists/fasttrack.txt",
ssl: true
}水合化合物
列出所有支持的60多种协议及其说明。
hydra_wordlists
列出Kali Linux上可用的常见单词表,可以选择验证它们的存在。
液压状态
检查Hydra当前是否正在运行并查看流程信息。
液压停止
停止运行Hydra进程(支持优雅终止和强制终止)。
液压蓄能器
从还原文件恢复以前的攻击会话。
液压版本
显示Hydra版本和构建信息。
hydra_模块_帮助
获取特定协议模块的详细帮助。
水力发电命令
生成Hydra命令,但不执行以供查看。
支持的协议
Click to expand full protocol list
| 类别 | 协议 |
|---|---|
| 远程访问 | ssh、rdp、vnc、telnet、rlogin、rsh、rexec |
| 文件传输 | ftp、ftps、svn、afp、ncp |
| Web | http表单获取、http表单发布、http获取、http发布、https表单获取、https表单发布、http-proxy |
| 邮件 | smtp、smtps、pop3、pop3s、imap、imaps、nntp |
| 数据库 | mysql、postgres、mssql、oracle、oracle监听器、oracle sid、mongodb、redis、memcached、firebird |
| 目录 | ldap2、ldap3、ldap3-gramd5、ldap3-gestmd5 |
| 网络 | snmp、socks5、sip、思科、思科启用、s7-300、pcnfs、rpcap |
| 其他 | smb、icq、irc、xmpp、teamspeak、vmauthd、cvs、radmin2、星号、pcanywhere、rtsp、sap-r3、sshkey |
常用单词列表
| 名称 | 路径 |
|---|---|
| RockYou | /usr/share/wordlists/rockyou.txt |
| Unix用户 | /usr/share/wordlists/metasploit/unix_users.txt |
| Unix密码 | /usr/share/wordlists/metasploit/unix_passwords.txt |
| 快速通道 | /usr/share/wordlists/fasttrack.txt |
| 顶级用户名 | /usr/share/seclists/Usernames/top-usernames-shortlist.txt |
| 默认凭据 | /usr/share/seclists/Passwords/Default-Credentials/default-passwords.txt |
安全考虑
- 授权 -仅在您拥有或有明确书面许可进行测试的系统上使用
- 网络隔离 -尽可能在隔离的实验室环境中运行测试
- 日志记录 -所有命令均已记录;维护审计跟踪
- 速率限制 -使用适当的线程数来避免DoS情况
- 遵守法律 -确保遵守当地法律法规
示例用法
使用单个凭据测试SSH
await hydra_attack({
target: "192.168.1.100",
protocol: "ssh",
username: "root",
password: "toor",
tasks: 4
});FTP上的字典攻击
await hydra_attack({
target: "ftp.example.com",
protocol: "ftp",
username_file: "/usr/share/wordlists/metasploit/unix_users.txt",
password_file: "/usr/share/wordlists/fasttrack.txt",
tasks: 16,
exit_on_first: true
});Web表单身份验证测试
await hydra_http_form({
target: "webapp.local",
path: "/login",
form_data: "user=^USER^&pass=^PASS^&submit=Login",
failure_string: "Invalid username or password",
username: "admin",
password_file: "/usr/share/wordlists/rockyou.txt",
ssl: true
});发展
# Run in development mode with auto-rebuild
npm run dev
# Build for production
npm run build
# Start the server
npm start许可证
MIT许可证-请参阅 许可证 了解详情。
免责声明
此工具仅用于授权的安全测试和教育目的。作者不对该软件造成的误用或损坏负责。在测试任何系统之前,始终获得适当的授权。
