隧道管理协议服务器

一个用于管理Chisel TCP/UDP隧道的MCP(模型上下文协议)服务器,使AI助手能够通过远程主机创建和管理安全隧道连接。

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

使用说明

sec凿mcp

用于管理的MCP(模型上下文协议)服务器 凿子 TCP/UDP隧道。使AI助手能够通过远程主机创建和管理安全的隧道连接。

特性

  • 服务器管理 -使用SOCKS5和反向隧道支持启动凿子服务器
  • 客户端连接 -连接凿服务器并建立隧道
  • 反向隧道 -创建反向端口转发以访问内部服务
  • SOCKS5代理 -为流量路由设置SOCKS5代理
  • 端口转发 -创建本地到远程端口转发
  • 流程管理 -跟踪、监控和停止活动隧道

安装

# Clone the repository
git clone https://github.com/schwarztim/sec-chisel-mcp.git
cd sec-chisel-mcp

# Install dependencies
npm install

# Build
npm run build

配置

克劳德桌面版

添加到您的Claude Desktop配置(~/.claude.json 或类似):

{
  "mcpServers": {
    "chisel": {
      "command": "node",
      "args": ["/path/to/sec-chisel-mcp/dist/index.js"],
      "env": {
        "CHISEL_KALI_HOST": "kali",
        "CHISEL_DEFAULT_PORT": "8080"
      }
    }
  }
}

环境变量

变量 默认值 描述
CHISEL_KALI_HOST kali 远程计算机的SSH主机名
CHISEL_DEFAULT_PORT 8080 默认凿子服务器端口

先决条件

  1. Chisel安装在远程主机上

    # Install via script
    curl https://i.jpillora.com/chisel! | bash
    
    # Or via package manager (Kali/Debian)
    sudo apt install chisel
    
  2. 已配置SSH访问

    • 建议使用基于密钥的身份验证
    • 在中配置的主机 ~/.ssh/config

工具

工具 说明
chisel_server 使用SOCKS5和反向隧道支持启动凿子服务器
chisel_client 连接到凿子服务器并创建隧道
chisel_reverse 启动配置为反向隧道的服务器
chisel_socks 启动SOCKS5代理服务器
chisel_forward 创建本地端口转发隧道
chisel_status 检查活动隧道的状态
chisel_stop 停止一条或所有隧道
chisel_list_processes 列出远程主机上的所有凿子进程
chisel_version 检查凿子的安装和版本

使用示例

启动Chisel服务器

{
  "tool": "chisel_server",
  "arguments": {
    "port": "8080",
    "reverse": true,
    "socks5": true,
    "auth": "user:password"
  }
}

创建反向隧道

向外部公开内部服务:

{
  "tool": "chisel_client",
  "arguments": {
    "server": "http://server:8080",
    "remotes": ["R:2222:localhost:22"]
  }
}

设置SOCKS5代理

{
  "tool": "chisel_socks",
  "arguments": {
    "port": "8080"
  }
}

连接客户端:

chisel client <server>:8080 socks

与代理链一起使用:

# Add to /etc/proxychains.conf
socks5 127.0.0.1 1080

本地端口转发

将本地流量转发到远程目标:

{
  "tool": "chisel_forward",
  "arguments": {
    "server": "http://pivot:8080",
    "localPort": "3389",
    "remoteHost": "10.10.10.100",
    "remotePort": "3389"
  }
}

检查隧道状态

{
  "tool": "chisel_status",
  "arguments": {}
}

停止所有隧道

{
  "tool": "chisel_stop",
  "arguments": {
    "force": false
  }
}

Chisel远程语法

Chisel使用以下格式进行远程规范:

<local-host>:<local-port>:<remote-host>:<remote-port>/<protocol>

示例:

  • 3000 -将本地3000转发到服务器3000
  • 3000:google.com:80 -通往外部主机的隧道
  • R:2222:localhost:22 -反向端口正向
  • socks -SOCKS5代理连接
  • R:socks -反向SOCKS代理

安全考虑

  • 认证:使用 --auth user:password 用于生产部署
  • 指纹验证:使用 --fingerprint 在客户端上验证服务器身份
  • TLS加密:考虑使用 --tls-key 和 --tls-cert 用于加密传输
  • 交通概况:Chisel流量显示为HTTP/WebSocket流量,可用于防火墙规避

发展

# Run in development mode
npm run dev

# Build for production
npm run build

# Start the server
npm start

参考文献

许可证

MIT许可证-请参阅 许可证 了解详情。