Token导航 LogoToken导航TokenDH.com
Pentest MCP Server logo
安全风控stdio官方级别未说明来源级核验

Pentest MCP Server

MCP Server

一个生产就绪的模型上下文协议(MCP)服务器,使AI代理能够通过SSH在任何Linux发行版上执行自主渗透测试,具有持久会话管理、智能触发器和自动重连功能。

工具数

0

提示词数

0

GitHub Stars

18

资源数

0
渗透测试安全工具PythonClaudeClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

LayeSec006

提供方

LayeSec006

最后核验

2026/5/17 20:19

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -e .

详细介绍

渗透测试MCP服务器

![Python 3.10+](https://www.python.org/downloads/) ![License: MIT](https://opensource.org/licenses/MIT) ![Tests](tests/)

A. 已准备好投入生产 模型上下文协议(MCP)服务器,使AI代理能够执行自主渗透测试 任何Linux发行版 通过SSH访问。构建于持久的tmux会话、智能触发器、自动重连和全面的资源管理之上。

🚀 关键区别点: 与其他独立运行命令的MCP服务器不同,这台服务器提供 持久会话管理 使用tmux,可以实现复杂的交互式工作流程和长时间运行的操作。

📋 目录

- 安装(5分钟) - 配置 - AI平台集成

👤 连接

🎥(电影胶片或视频播放的符号,无具体文字含义,可理解为“电影”或“视频”) 视频教程: 在YouTube上观看完整教程

领英(LinkedIn): 阿卜杜拉·恩迪亚耶

🖼️ 截图

Screenshot 1 Screenshot 2 Screenshot 3 Screenshot 4

🎯(靶心) 核心能力

这个MCP服务器为AI代理提供 持久会话控制 通过SSH在任何Linux发行版上启用:

  • 🌍 全球通用兼容性与Kali Linux、Parrot Security、BackBox以及任何Linux发行版兼容
  • 🔓 零工具限制在目标系统上运行任何已安装的工具——无限制
  • 🔄 持久会话基于Tmux的会话,能够抵御断开连接和崩溃
  • 🤖 智能自动化基于输出模式和触发条件的AI暂停/恢复功能
  • ⚡ 自动重连使用指数退避策略的自动SSH重连
  • 📊 资源管理智能限制并发的繁重操作
  • 🎯 互动工具全面支持msfconsole、MySQL、反向Shell以及复杂工作流程
  • 🛡️ 会话恢复在崩溃或网络问题后恢复所有会话

🎯(目标、靶心) 主要特点

我们的核心优势:

  • 🔄 会话持久性会话在断开连接和崩溃后仍能保持
  • 🎯 交互式工具支持处理msfconsole、反向Shell、复杂工作流程
  • 🤖 智能自动化智能触发的AI暂停/恢复功能
  • ⚡ 自动重连自动从网络问题中恢复
  • 📊 资源管理智能限制和系统监控
  • 🌍 通用兼容性兼容任何Linux发行版
💡 优势: 我们的服务器提供 持久会话管理 这使得能够执行复杂的、多步骤的渗透测试工作流,并提供全面的交互式工具支持。

🎯(瞄准目标) 实际影响

这所能实现的是:

  • 复杂的工作流程跨数小时的多步骤渗透测试操作
  • 交互式工具完全的Metasploit自动化,反向Shell管理
  • 会话持久性长时间运行的扫描,能够抵御网络问题
  • 资源管理对并发操作的智能限制
  • 通用部署适用于任何Linux发行版

用例:

  • 红队行动自动化侦察与利用
  • CTF挑战赛复杂的多步骤问题解决
  • 安全研究长期持续的漏洞评估
  • AI辅助渗透测试重复性任务的智能自动化

🏗️ 建筑学

┌─────────────────────┐
│   AI Agent          │
│   (Claude/ChatGPT)  │
└──────────┬──────────┘
           │ MCP Protocol
           ▼
┌─────────────────────┐
│   MCP Server        │
│   (Python)          │
│                     │
│  ┌───────────────┐  │
│  │Session Manager│  │
│  │Auto-Reconnect │  │
│  │Resource Mgmt  │  │
│  └───────────────┘  │
└──────────┬──────────┘
           │ SSH + PTY
           ▼
┌─────────────────────┐
│   Pentest System    │
│   (Kali/Parrot/etc) │
│                     │
│  ┌───────────────┐  │
│  │    tmux       │  │
│  │  ┌─────────┐  │  │
│  │  │Session 1│  │  │
│  │  │Session 2│  │  │
│  │  │Session N│  │  │
│  │  └─────────┘  │  │
│  └───────────────┘  │
└─────────────────────┘

🚀 快速入门

安装(5分钟)

# 1. Clone repository
git clone https://github.com/LayeSec006/pentest-mcp-server.git
cd pentest-mcp-server

# 2. Install package
pip install -e .

# 3. Configure
cp .env.example .env
# Edit .env with your pentesting os details

# 4. Install tmux on target system
ssh kali@

# For Debian/Ubuntu/Kali/Parrot:
sudo apt update && sudo apt install tmux

# For Arch/BlackArch:
sudo pacman -S tmux

# For RHEL/CentOS/Fedora:
sudo yum install tmux
# OR for newer versions:
sudo dnf install tmux

# For Alpine Linux:
sudo apk add tmux

exit

# 5. Test
python -m pytest tests/ -v

配置

创建一个 .env 附上您的目标系统详细信息文件:

# SSH Connection
TARGET_HOST=192.168.1.100
TARGET_PORT=22
TARGET_USER=kali
TARGET_PASSWORD=your_password
# OR use SSH key instead
# TARGET_SSH_KEY=/path/to/private/key

# Resource Limits
MAX_SESSIONS=20
MAX_HEAVY_TASKS=3

# Monitoring
POLL_INTERVAL=1.0
DEFAULT_TIMEOUT=300

🤖 AI平台集成

Claude桌面集成

在您的Claude桌面配置中添加:

Windows: %APPDATA%\Claude\claude_desktop_config.json\ macOS:(可译为“苹果操作系统”或保持原样,因为“macOS”是苹果公司的专有名词,通常直接使用) ~/Library/Application Support/Claude/claude_desktop_config.json\ Linux: ~/.config/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "pentest-mcp": {
      "command": "python",
      "args": ["-m", "pentest_mcp_server"],
      "env": {
        "TARGET_HOST": "192.168.1.100",
        "TARGET_USER": "kali", 
        "TARGET_PASSWORD": "your_password"
      }
    }
  }
}

风帆冲浪集成

在你的风帆冲浪设置中添加:

{
  "mcpServers": {
    "pentest-mcp": {
      "command": "python",
      "args": ["-m", "pentest_mcp_server"],
      "env": {
        "TARGET_HOST": "192.168.1.100",
        "TARGET_USER": "kali",
        "TARGET_PASSWORD": "your_password"
      }
    }
  }
}

光标集成

在您的光标设置中添加:

{
  "mcpServers": {
    "pentest-mcp": {
      "command": "python",
      "args": ["-m", "pentest_mcp_server"],
      "env": {
        "TARGET_HOST": "192.168.1.100",
        "TARGET_USER": "kali",
        "TARGET_PASSWORD": "your_password"
      }
    }
  }
}

5ire Integration(注:这里的“5ire”可能是特定品牌、项目或公司的名称,直接翻译为中文时保持原样,因为没有具体的上下文来确定其准确含义,所以翻译为“5ire整合”或根据具体语境可能需要调整为更合适的名称或解释)

在5ire中:

  1. 点击 工具 在主界面
  2. 点击 本地 按钮
  3. 填写“编辑工具(本地服务器)”表单:

- 工具键: pentest-mcp - 姓名: Pentest MCP (可选) - 描述: AI-powered penetration testing server (可选) - 审批政策: 选择 Always (推荐) - 命令: python -m pentest_mcp_server - 环境变量: - TARGET_HOST = 192.168.1.100 - TARGET_USER = kali - TARGET_PASSWORD = your_password

  1. 审查/回顾 配置预览 以确保它是正确的
  2. 点击 保存
  3. 启用该工具: 将鼠标悬停在 pentest-mcp 在工具列表中找到该项并点击 切换按钮 出现在右侧以启用它

### Warp AI Integration

In Warp terminal:
1. Go to **Settings** (⌘ + ,)
2. Click on **AI** in the sidebar
3. Scroll down to find **Manage MCP**
4. Click **Add MCP**
5. Paste this JSON configuration:

{ "mcpServers": { "pentest-mcp": { "command": "python", "args": ["-m", "pentest_mcp_server"], "env": { "TARGET_HOST": "192.168.1.100", "TARGET_USER": "kali", "TARGET_PASSWORD": "your_password" } } } }


6. 点击 **保存**
1. 重启扭曲(或:重新开始扭曲)

## 🔧 快速设置

### 设置步骤

1. Clone and install

git clone https://github.com/LayeSec006/pentest-mcp-server.git cd pentest-mcp-server pip install -e .

2. Configure

cp .env.example .env

Edit .env with your target system details

3. Test configuration

python -c "from pentest_mcp_server.config import Config; c = Config(); print('Config loaded:', c.TARGET_HOST)"


## 🚀 高级功能

### 🎯 交互式工具支持

启动并与Metasploit Framework等复杂工具进行交互:

{ "tool": "execute", "args": { "session_id": "msf_session", "command": "msfconsole -q" } }


与运行中的工具进行交互:

{ "tool": "send_input", "args": { "session_id": "msf_session", "input": "use exploit/multi/handler" } }


### 🔄 反向Shell管理

无缝处理传入的反向Shell:

{ "tool": "execute", "args": { "session_id": "reverse_shell", "command": "nc -lvp 4444" } }


与连接的外壳进行交互:

{ "tool": "send_input", "args": { "session_id": "reverse_shell", "input": "whoami" } }


### 📊 复杂工作流自动化

支持多步骤渗透测试工作流程:

1. **网络侦察** (nmap,masscan)
1. **网页应用扫描** (gobuster,nikto,dirb)
1. **漏洞利用** (Metasploit,自定义漏洞利用程序)
1. **实施漏洞利用** (Meterpreter,权限提升)
1. **数据外泄** (文件操作,隧道技术)

### 🛡️ 会话持久性与恢复

会话能够抵御网络中断和崩溃:

{ "tool": "recover_sessions", "args": {} }


**主要优势:**

- 即使SSH连接断开,会话仍会继续运行
- 自动重连,采用指数退避策略
- 网络问题中的状态保持
- 交互会话的完全恢复

## 🛠️ MCP 工具

### 会话管理

| 工具 | 描述 | 目的 |
|------|-------------|----------|
| `create_session` | 创建新的持久tmux会话 | 为渗透测试任务启动独立的工作空间 |
| `list_sessions` | 列出所有活动会话 | 监控运行中的操作 |
| `kill_session` | 终止特定会话 | 清理已完成的任务 |

#### `create_session`

为隔离的渗透测试操作创建一个新的持久tmux会话。

**参数:**

{ "session_id": "scan_network", "shell": "bash" }


#### `list_sessions`

列出所有活动的tmux会话及其状态。

**参数:**

{}


#### `kill_session`

终止特定会话并清理资源。

**参数:**

{ "session_id": "scan_network" }


### 命令执行

| 工具 | 描述 | 目的 |
|------|-------------|----------|
| `execute` | 在持久会话中执行命令 | 运行渗透测试工具和脚本 |
| `read_output` | 获取会话的当前输出 | 监控命令进度和结果 |
| `send_input` | 向交互式工具发送输入 | 控制交互式应用程序 |

#### `execute`

在持久会话中执行命令。

{ "session_id": "scan_network", "command": "nmap -sV 192.168.1.0/24", "background": false }


#### `read_output`

从会话中获取当前输出。

{ "session_id": "scan_network", "lines": 50 }


#### `send_input`

将输入发送到交互式工具。

{ "session_id": "msf_session", "input": "use exploit/multi/handler", "press_enter": true }


### 系统管理

#### `get_system_status`

获取系统资源使用情况和会话状态。

{}


#### `recover_sessions`

重新连接后恢复孤立会话。

{}


### 文件操作

#### `upload_file`

通过SFTP将文件上传到您的系统。

{ "local_path": "/path/to/local/file", "remote_path": "/tmp/uploaded_file" }


#### `download_file`

通过SFTP从您的系统中下载文件。

{ "remote_path": "/tmp/scan_results.xml", "local_path": "/path/to/local/results.xml" }


### 工具输出解析

#### `parse_tool_output`

解析常见的渗透测试工具输出(如nmap的XML、JSON等)。

{ "tool": "nmap", "file_path": "/tmp/scan.xml", "format": "xml" }


## 💡 使用示例

### 基本网络扫描

AI: I need to scan the network 192.168.1.0/24

Tool: create_session Args: {"session_id": "network_scan"}

Tool: execute Args: { "session_id": "network_scan", "command": "nmap -sV 192.168.1.0/24 -oX /tmp/scan.xml" }

Tool: read_output Args: {"session_id": "network_scan"}


### 交互式Metasploit使用

AI: Let me start Metasploit and set up a handler

Tool: create_session Args: {"session_id": "metasploit"}

Tool: execute Args: { "session_id": "metasploit", "command": "msfconsole -q" }

Tool: send_input Args: { "session_id": "metasploit", "input": "use exploit/multi/handler" }

Tool: send_input Args: { "session_id": "metasploit", "input": "set PAYLOAD linux/x64/meterpreter/reverse_tcp" }

Tool: send_input Args: { "session_id": "metasploit", "input": "exploit" }


### 并行操作

AI: I'll run multiple scans in parallel

Tool: create_session Args: {"session_id": "nmap_scan"}

Tool: create_session Args: {"session_id": "gobuster_scan"}

Tool: execute Args: { "session_id": "nmap_scan", "command": "nmap -p- 192.168.1.5", "background": true }

Tool: execute Args: { "session_id": "gobuster_scan", "command": "gobuster dir -u http://192.168.1.5 -w /usr/share/wordlists/dirb/common.txt", "background": true }


## 🔒 安全功能

### 命令过滤(可选)

服务器可以选择性地阻止危险命令:

- `rm -rf /` - 从根目录递归删除
- `dd if=...of=/dev/sd*` - 磁盘擦除命令
- `mkfs` - 文件系统格式化
- 叉炸弹和其他破坏性模式

## 🧪 测试

运行测试套件:

Install test dependencies

pip install pytest pytest-asyncio pytest-mock

Run tests

python -m pytest tests/ -v

Run with coverage

python -m pytest tests/ --cov=pentest_mcp_server --cov-report=html


### 测试类别

- **单元测试**单个组件测试
- **集成测试**端到端工作流程测试
- **连接测试**SSH和重新连接场景
- **会话测试**Tmux 会话管理

## 📊 监控与调试

### 记录日志

服务器提供详细的日志记录:

import logging logging.basicConfig(level=logging.INFO)


日志级别:

- `INFO`连接状态,会话创建/销毁
- `WARNING`重新连接尝试,被阻止的命令
- `ERROR`连接失败,命令错误
- `DEBUG`详细的协议消息

### 系统状态

使用 `get_system_status` 监控工具:

- CPU和内存使用情况
- 活跃会话数
- 连接状态健康
- 最近的命令历史

### 会话恢复

在崩溃或网络问题之后:

Tool: recover_sessions Args: {}

Response: { "status": "success", "recovered_sessions": [ { "session_id": "network_scan", "age_seconds": 1800, "last_output": "...Nmap scan report..." } ] }


## 🔧 高级配置

### 资源管理

Limit concurrent heavy operations

MAX_HEAVY_TASKS=3

Heavy commands that count against the limit

HEAVY_COMMANDS=nmap,masscan,hydra,john,hashcat,sqlmap


### 连接调优

Reconnection settings

MAX_RECONNECT_ATTEMPTS=5 RECONNECT_DELAY_BASE=2 # Exponential backoff base

Health check interval

POLL_INTERVAL=1.0

Default command timeout

DEFAULT_TIMEOUT=300


### Tmux 自定义设置

Custom tmux socket name

TMUX_SOCKET_NAME=mcp-pentest

Session persistence location

TMUX_SESSION_PATH=/tmp/mcp-sessions


## 🐞 故障排除

### 常见问题

**连接被拒绝**

Error: Connection failed: [Errno 111] Connection refused


- 验证您的系统上是否正在运行SSH: `service ssh status`
- 检查防火墙规则: `ufw status`
- 验证配置中的主机/端口

**认证失败**

Error: Permission denied (publickey,password)


- 验证用户名/密码是否正确
- 检查SSH密钥权限(600)
- 启用密码认证: `PasswordAuthentication yes` 在 `/etc/ssh/sshd_config`

**未找到 Tmux**

Error: tmux is not installed on target system


- 在你的发行版上安装tmux: `apt update && apt install tmux`

**会话丢失**

Error: Session 'scan_network' does not exist


- 使用 `recover_sessions` 用于查找孤儿会话的工具
- 检查系统是否已重启(会话不会在重启后保留)

### 调试模式

启用详细日志记录:

import logging logging.getLogger('pentest_mcp_server').setLevel(logging.DEBUG) logging.getLogger('asyncssh').setLevel(logging.DEBUG)


## 🤝 贡献(或“参与贡献”)

1. 为仓库创建分支(或:克隆仓库)
1. 创建一个特性分支(`git checkout -b feature/amazing-feature`)
1. 运行测试(`python -m pytest tests/`)
1. 提交更改(`git commit -m 'Add amazing feature'`)
1. 推送到分支(`git push origin feature/amazing-feature`)
1. 提交一个拉取请求

### 开发环境设置

git clone cd pentest_mcp_server pip install -e . pip install pytest pytest-asyncio pytest-mock


## 📝 许可证

这个项目采用MIT许可证授权——详见 [许可证](LICENSE) 文件中有详细信息。

## ⚠️ 法律免责声明

此工具仅供授权的安全测试和教育用途。用户有责任在使用此工具针对任何系统之前,确保已获得适当的授权。开发者对因使用此工具而造成的任何滥用或损害不承担责任。

## 🙏 致谢

- 基于 [t-suganuma/ssh-connect-mcp-server 翻译为中文是:“t-suganuma/通过SSH连接MCP服务器”](https://github.com/t-suganuma/ssh-connect-mcp-server)
- 使用……构建 [asyncssh(注:这是一个专有名词,通常指一个异步SSH库或工具,直接音译为“异步SSH”可能不够准确,具体翻译需根据上下文或该工具的官方中文名称来确定,但在此处仅提供音译作为参考)](https://asyncssh.readthedocs.io/) 以实现更优的SSH处理
- 用途 [tmux](https://github.com/tmux/tmux) 对于持久会话
- 实施(措施/计划等) [模型上下文协议](https://modelcontextprotocol.io/) 规范(或规格)

______________________________________________________________________

**快乐地进行渗透测试! 🔒🔓 翻译为中文是:上锁 开锁**

目录标签

目录标签

渗透测试安全工具PythonClaude本地部署AI自动化SSH管理会话持久化

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

session

部署方式(deploymentType,部署类型)

remote-capable

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiosessionremote-capable

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP