返回市场
天文项目

天文项目

作者:whit3rabbit033 星标更新:2025-04-03

项目介绍

MCP服务器用于破解Shyet - 声明 - 这是一个DEVKIT

一个模型上下文协议(MCP)服务器,连接Claude桌面版与Kali Linux安全工具,实现AI辅助渗透测试。

架构

该项目由两个主要组件组成:

  1. MCP服务器 (mcp_server.py):实现模型上下文协议,连接Claude桌面版与Kali Linux工具API。它提供能力、提示和上下文信息,帮助Claude理解如何有效使用Kali工具。

  2. Kali Linux API服务器 (kali_api_server.py):一个Flask应用程序,提供执行各种Kali Linux安全工具的API端点。它处理实际命令执行并返回结果给MCP服务器。

Claude桌面版 ←→ MCP服务器 ←→ Kali Linux API服务器 ←→ Kali Linux工具

功能

  • 与流行的Kali Linux安全工具集成
  • 预定义的常见任务渗透测试提示
  • 关于HackTheBox环境的上下文信息
  • 全面的调试工具以进行故障排除

预备条件

  • Kali Linux(或其他安装了安全工具的Linux发行版)
  • Python 3.8+
  • Claude桌面版
  • 下列Python包(在虚拟环境中自动安装):
    • Flask
    • Requests
    • psutil(用于系统诊断)

安装

方案1:使用设置脚本(推荐)

  1. 克隆此仓库:

    git clone https://github.com/yourusername/kali-mcp-server.git
    cd kali-mcp-server
    
  2. 运行设置脚本:

    ./setup.sh
    

方案2:手动设置

  1. 克隆此仓库:

    git clone https://github.com/yourusername/kali-mcp-server.git
    cd kali-mcp-server
    
  2. 创建虚拟环境:

    python3 -m venv venv
    
  3. 激活虚拟环境:

    source venv/bin/activate
    
  4. 安装依赖项:

    pip install -r requirements.txt
    
  5. 将脚本设为可执行:

    chmod +x mcp_server.py kali_api_server.py run.py
    

确保安装所需的Kali Linux工具

确保相关Kali Linux工具已安装在您的系统上:

sudo apt update
sudo apt install nmap gobuster dirb nikto sqlmap metasploit-framework hydra john wpscan enum4linux

使用方法

使用run.py脚本(推荐)

最简单的方法是使用run.py脚本来启动两个服务器:

./run.py

这将在不同的终端中启动API服务器和MCP服务器。

额外选项:

  • --api-port PORT:指定API服务器端口(默认:5000)
  • --mcp-port PORT:指定MCP服务器端口(默认:8080)
  • --background:在后台运行两个服务器
  • --setup:设置或更新虚拟环境
  • --debug:启用详细日志和诊断端点的调试模式

手动启动服务器

如果您希望手动启动服务器:

  1. 启动Kali Linux API服务器:

    source venv/bin/activate
    python kali_api_server.py
    
  2. 在新的终端中启动MCP服务器:

    source venv/bin/activate
    python mcp_server.py
    

连接Claude桌面版

  1. 打开Claude桌面版
  2. 配置其使用位于http://localhost:8080的MCP服务器
  3. 开始新的对话并开始您的渗透测试

配置Claude桌面版(Linux)

如果您使用的是非官方的Claude桌面版Linux构建:

  1. 编辑MCP配置文件:

    nano ~/.config/Claude/claude_desktop_config.json
    
  2. 添加您的MCP服务器:

    {
      "mcp_servers": [
        {
          "name": "Kali Linux工具",
          "url": "http://localhost:8080",
          "enabled": true
        }
      ]
    }
    
  3. 保存文件并重启Claude桌面版

支持的工具

  1. nmap:网络扫描和主机发现

    {
      "target": "10.10.10.10",
      "scan_type": "-sV",
      "ports": "80,443,22",
      "additional_args": "-T4 --open"
    }
    
  2. gobuster:目录和文件暴力破解

    {
      "url": "http://10.10.10.10",
      "mode": "dir",
      "wordlist": "/usr/share/wordlists/dirb/common.txt",
      "additional_args": "-x php,txt,html"
    }
    
  3. dirb:Web内容扫描器

    {
      "url": "http://10.1.1.10",
      "wordlist": "/usr/share/wordlists/dirb/common.txt",
      "additional_args": "-r -z 10"
    }
    
  4. nikto:Web服务器扫描器

    {
      "target": "http://10.10.10.10",
      "additional_args": "-Tuning 123bx"
    }
    
  5. sqlmap:SQL注入测试

    {
      "url": "http://10.10.10.10/page.php?id=1",
      "data": "username=test&password=test",
      "additional_args": "--batch --dbs"
    }
    
  6. metasploit:利用框架

    {
      "module": "exploit/multi/http/apache_struts2_content_type_rce",
      "options": {
        "RHOSTS": "10.10.10.10",
        "RPORT": "8080",
        "TARGETURI": "/struts2-showcase/"
      }
    }
    
  7. hydra:密码暴力破解

    {
      "target": "10.10.10.10",
      "service": "ssh",
      "username": "admin",
      "password_file": "/usr/share/wordlists/rockyou.txt",
      "additional_args": "-e nsr"
    }
    
  8. john:密码破解

    {
      "hash_file": "/path/to/hashes.txt",
      "wordlist": "/usr/share/wordlists/rockyou.txt",
      "format": "md5crypt",
      "additional_args": "--rules=Jumbo"
    }
    
  9. wpscan:WordPress漏洞扫描器

    {
      "url": "http://10.10.10.10",
      "additional_args": "--enumerate u,p,t"
    }
    
  10. enum4linux:Windows/Samba枚举

    {
      "target": "10.10.10.10",
      "additional_args": "-a"
    }
    

示例工作流程用于HTB渗透测试

  1. 初始侦察

    • 使用Claude帮助制定接近HTB机器的计划
    • 从MCP服务器选择“initial_recon”提示
  2. 发现和服务枚举

    • 使用nmap扫描开放端口和服务
    • 使用Claude帮助解释结果
  3. 探索识别的服务

    • 对于Web服务器,使用gobuster、dirb、nikto和wpscan
    • 对于数据库服务器,使用sqlmap
    • 对于Windows/Samba服务器,使用enum4linux
  4. 利用漏洞

    • 根据Claude的建议,使用适当的工具来利用发现的漏洞
    • 当适用时使用metasploit
  5. 后利用

    • 特权提升
    • 数据外泄
    • 建立持久性(仅用于培训目的)

故障排除

调试功能

如果您遇到问题,请在调试模式下运行服务器:

./run.py --debug

这将启用:

  1. 详细日志:所有操作都被记录到debug.log

  2. 调试端点

    • http://localhost:8080/debug/status - MCP服务器状态
    • http://localhost:5000/debug/status - API服务器状态
    • http://localhost:8080/debug/config - MCP服务器配置
    • http://localhost:5000/debug/tool-test - 测试工具是否正常工作
    • http://localhost:8080/debug/test-api - 测试MCP-API连接
    • http://localhost:8080/debug/history - 请求历史(最后100个请求)
  3. 健康检查

    • http://localhost:8080/health - 包括API服务器状态的MCP服务器健康检查
    • http://localhost:5000/health - 包括工具可用性的API服务器健康检查
  4. 命令调试(谨慎使用):

    • http://localhost:5000/debug/command - 用于故障排除的安全命令执行

所有端点都可以通过浏览器或使用如curl等工具访问。

依赖冲突

如果您遇到系统包冲突:

  • 确保您正在使用虚拟环境
  • 绝不要使用--break-system-packages安装包
  • 如果需要重新创建虚拟环境:rm -rf venv && ./setup.sh

服务器问题

  • 如果某个工具无法工作,请确保它已安装并在您的PATH中可访问
  • 查看两个服务器的日志以获取错误消息
  • 验证Claude桌面版是否正确配置以使用MCP服务器

安全注意事项

  • 此设置应在受控环境中(如HTB)仅用于合法的渗透测试
  • 绝不要在没有明确许可的情况下对系统使用这些工具
  • API服务器直接在您的系统上执行命令 - 请谨慎使用
  • 考虑在VM或容器中运行以增加隔离

贡献

欢迎贡献!请随时提交Pull Request。

许可证

本项目根据MIT许可证发布 - 详情见LICENSE文件。