返回市场
MCP-渗透测试

MCP-渗透测试

作者:adriyansyah-mf4 星标更新:2025-09-29

项目介绍

MCP Pentest - 自动化渗透测试框架

用于智能自动化渗透测试的MCP(模型上下文协议)服务器。此框架可以自动执行侦察、漏洞扫描以及基于检测到的目标技术的受控利用。

🚀 功能

🔍 侦察工具

  • 端口扫描 - 集成多种扫描模式的综合Nmap
  • 子域枚举 证书透明日志 + DNS暴力破解
  • 技术检测 自动Web技术指纹识别
  • 目录暴力破解 智能目录和文件发现

🛡️ 漏洞评估

  • Nuclei集成 使用模板数据库进行自动漏洞扫描
  • Nikto扫描 Web服务器漏洞检测
  • SQLMap集成 SQL注入测试
  • 自定义Web漏洞检查 XSS、目录遍历、命令注入、dll

⚡ 利用模块

  • Metasploit集成 自动查找并执行漏洞利用
  • 自定义漏洞尝试 特定于框架的漏洞利用
  • 特定技术的漏洞利用 基于技术栈的目标攻击
  • 概念验证生成 自动PoC创建

🤖 智能工作流引擎

  • 适应性决策制定 AI驱动的下一步推荐
  • 基于风险的优先级排序 智能漏洞优先级排序
  • 技术感知测试 根据检测到的技术定制测试
  • 自动化工作流管理 处理依赖关系的顺序阶段执行

📊 综合报告

  • 多格式报告 - HTML、PDF、JSON、Markdown输出
  • 执行摘要 商业友好的风险评估
  • 技术细节 - 详细的漏洞描述和修复建议
  • 证据收集 自动证明收集和文档记录

先决条件

必需工具

确保系统上安装了以下工具:

# 网络扫描
sudo apt install nmap

# Web漏洞扫描
go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest

# Web服务器扫描
sudo apt install nikto

# SQL注入测试
sudo apt install sqlmap

# 可选:Metasploit(用于高级利用)
curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall
chmod  755 msfinstall
sudo ./msfinstall

Node.js依赖项

npm install

🛠️ 安装

  1. 克隆仓库
git clone <repository-url>
cd mcp-pentest
  1. 安装依赖项
npm install
  1. 构建项目
npm run build
  1. 配置MCP客户端 添加到您的MCP客户端配置文件中:
{
  "mcpServers": {
    "pentest": {
      "command": "node",
      "args": ["path/to/mcp-pentest/dist/index.js"],
      "env": {}
    }
  }
}

🎯 使用示例

基本自动化渗透测试

// 全范围自动化渗透测试
await mcp.call("auto_pentest", {
  target: "example.com",
  scope: "full",
  intensity: "active"
});

仅侦察

// 端口扫描
await mcp.call("nmap_scan", {
  target: "192.168.1.1",
  scan_type: "aggressive"
});

// 技术检测
await mcp.call("tech_detection", {
  url: "https://example.com"
});

// 子域枚举
await mcp.call("subdomain_enum", {
  domain: "example.com"
});

漏洞扫描

// 使用特定模板的Nuclei扫描
await mcp.call("nuclei_scan", {
  target: "https://example.com",
  templates: ["cves", "vulnerabilities"],
  severity: "high"
});

// SQL注入测试
await mcp.call("sqlmap_scan", {
  url: "https://example.com/login.php",
  data: "username=admin&password=test"
});

漏洞尝试

// 查找Metasploit模块
await mcp.call("metasploit_search", {
  service: "Apache 2.4.41",
  platform: "linux"
});

// 尝试利用
await mcp.call("exploit_attempt", {
  target: "192.168.1.100",
  vulnerability: "SQL Injection",
  payload: "UNION SELECT"
});

智能下一步

// 获取AI驱动的推荐
await mcp.call("suggest_next_steps", {
  scan_results: JSON.stringify(previousResults)
});

报告生成

// 生成综合报告
await mcp.call("generate_report", {
  target: "example.com",
  format: "html"
});

🔧 配置

扫描强度级别

被动

  • 证书透明日志
  • DNS枚举
  • 头部分析
  • 公共信息收集

主动

  • 端口扫描
  • 目录暴力破解
  • 漏洞扫描
  • 服务枚举

强制

  • 全端口范围扫描
  • 强烈的目录暴力破解
  • 主动利用尝试
  • 综合漏洞测试

范围选项

网络

  • 端口扫描
  • 服务枚举
  • 网络漏洞评估

Web

  • Web应用程序测试
  • 技术指纹识别
  • Web漏洞扫描

全面

  • 综合评估
  • 网络+Web测试
  • 完整攻击面分析

🛡️ 安全注意事项

道德使用

⚠️ 重要 此框架仅可用于:

  • 授权渗透测试
  • 经许可的安全研究
  • 测试自有的系统
  • 教育目的

安全特性

  • 速率限制 自动请求节流
  • 超时控制 防止长时间运行的扫描
  • 范围验证 目标验证和限制
  • 安全利用 受控且可逆的测试

法律合规

  • 确保在测试前有书面授权
  • 遵守当地法律法规
  • 尊重负责任披露实践
  • 记录所有测试活动

📊 示例输出

自动化渗透测试结果

{
  "workflow": {
    "target": "example.com",
    "scope": "full",
    "phases": [
      {
        "name": "reconnaissance",
        "status": "completed",
        "tools": ["nmap_scan", "subdomain_enum", "tech_detection"]
      }
    ],
    "results": {
      "reconnaissance": {
        "open_ports": [
          {"port": 80, "service": "http", "version": "Apache 2.4.41"},
          {"port": 443, "service": "https", "version": "Apache 2.4.41"}
        ],
        "technologies": [
          {"technology": "WordPress", "version": "5.8", "confidence": 95}
        ]
      },
      "vulnerabilities": [
        {
          "name": "过时的WordPress",
          "severity": "中等",
          "description": "WordPress版本5.8存在已知漏洞"
        }
      ],
      "risk_score": 65,
      "threat_level": "中等"
    }
  }
}

工作流引擎

该框架利用一个智能工作流引擎,可以:

  1. 分析扫描结果 自动解释发现
  2. 做出决策 确定下一步测试步骤
  3. 调整策略 根据发现修改方法。
  4. 优先行动 关注高影响漏洞
  5. 生成见解 提供可操作的建议

决策逻辑

侦察 → 技术检测 → 漏洞评估 → 风险分析 → 利用 → 报告
     ↓              ↓                    ↓                    ↓             ↓            ↓
 端口发现 → CMS/框架 → 目标扫描 → 优先队列 → 控制 → 证据
 子域枚举 → 版本信息 → 自定义检查 → 风险评分 → 尝试 → 收集

🏗️ 架构

┌─────────────────┐    ┌──────────────────┐    ┌─────────────────┐
│   MCP客户端    │    │  MCP协议         │    │  渗透测试服务器  │
│  (Claude等)    │◄──►│   传输层         │◄──►│    (Node.js)     │
└─────────────────┘    └──────────────────┘    └─────────────────┘
                                                        │
                                               ┌─────────────────┐
                                               │ 工具集成         │
                                               │   - Nmap        │
                                               │   - Nuclei      │
                                               │   - Nikto       │
                                               │   - SQLMap      │
                                               │   - Metasploit  │
                                               └─────────────────┘

🤝 贡献

  1. 分叉仓库
  2. 创建功能分支
  3. 实现带有测试的变化
  4. 提交拉取请求
  5. 遵循最佳安全实践

License

MIT许可证 - 详情见LICENSE文件

⚠️ 免责声明

此工具旨在用于教育和授权的安全测试目的。用户负责确保其合法和道德使用。开发者不对此工具的任何误用负责。

🆘 支持