密码安全测试服务器

Hydra MCP Server是一个为AI助手提供受控访问THC-Hydra密码破解工具的服务,专为授权的渗透测试和安全评估设计。

  • by schwarztim
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 schwarztim/sec-hydra-mcp

使用说明

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-host

MCP客户端配置

添加到您的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

安全考虑

  1. 授权 -仅在您拥有或有明确书面许可进行测试的系统上使用
  2. 网络隔离 -尽可能在隔离的实验室环境中运行测试
  3. 日志记录 -所有命令均已记录;维护审计跟踪
  4. 速率限制 -使用适当的线程数来避免DoS情况
  5. 遵守法律 -确保遵守当地法律法规

示例用法

使用单个凭据测试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许可证-请参阅 许可证 了解详情。

免责声明

此工具仅用于授权的安全测试和教育目的。作者不对该软件造成的误用或损坏负责。在测试任何系统之前,始终获得适当的授权。

相关项目