Recon-ng MCP服务器

一个提供AI助手访问recon-ng开源侦察框架的MCP服务器,支持通过自然语言交互执行OSINT操作、管理工作空间、运行模块和查询侦察数据。

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

使用说明

重新配置MCP服务器

A. 模型上下文协议(MCP) 为AI助手提供访问权限的服务器 侦察,强大的开源侦察框架。通过自然语言交互执行OSINT操作、管理工作区、运行模块和查询侦察数据。

特性

  • 工作空间管理 -创建、加载、列出和删除用于组织侦察项目的工作区
  • 模块操作 -从市场上搜索、安装和执行侦察模块
  • 数据库查询 -查询SQLite数据库,查看模式,并运行自定义SQL
  • 目标管理 -添加和删除域、主机、联系人、凭据和其他目标类型
  • 报告 -生成HTML、CSV、JSON、XLSX和XML格式的报告
  • API密钥管理 -为外部服务配置API密钥(Shodan、VirusTotal等)
  • 快照 -保存和恢复工作流检查点的数据库状态
  • 远程执行 -通过SSH连接到运行recogning的Kali Linux系统

先决条件

  • Node.js 18+
  • 安装了侦察的远程系统(例如Kali Linux)
  • SSH访问远程系统(基于密钥或密码的身份验证)

安装

git clone https://github.com/schwarztim/sec-recon-ng-mcp.git
cd sec-recon-ng-mcp
npm install
npm run build

配置

使用环境变量配置MCP服务器:

变量 描述 默认值
RECONNG_SSH_HOST 配置系统的SSH主机名或IP kali
RECONNG_SSH_PORT SSH端口 22
RECONNG_SSH_USER SSH用户名 kali
RECONNG_SSH_KEY_PATH SSH私钥的路径 ~/.ssh/id_rsa
RECONNG_SSH_PASSWORD SSH密码(密钥认证的替代方案) -
RECONNG_PATH 远程系统上配置二进制文件的路径 recon-ng
RECONNG_TIMEOUT 命令超时(毫秒) 60000

Claude桌面配置

添加到您的Claude Desktop配置(~/.config/claude/claude_desktop_config.json 在Linux或 ~/Library/Application Support/Claude/claude_desktop_config.json 在macOS上):

{
  "mcpServers": {
    "recon-ng": {
      "command": "node",
      "args": ["/path/to/sec-recon-ng-mcp/dist/index.js"],
      "env": {
        "RECONNG_SSH_HOST": "your-kali-host",
        "RECONNG_SSH_USER": "kali",
        "RECONNG_SSH_KEY_PATH": "/path/to/.ssh/id_rsa"
      }
    }
  }
}

可用工具

reconng_workspaces

管理用于组织侦察项目的工作区。

行动: list, create, load, remove

reconng_modules

从侦察市场搜索、检查和安装模块。

行动: list, search, info, install

reconng_run

使用可配置的选项和源执行侦察模块。

reconng_db

查询侦察数据库。

行动: schema, query, show

桌子: 域、主机、联系人、凭据、泄漏、网络块、端口、配置文件、图钉、存储库、漏洞、公司、位置

reconng_add

将目标添加到数据库中(域、主机、公司、联系人等)。

reconng_delete

从数据库中删除记录。

reconng_report

根据收集到的数据生成报告。

格式: HTML、CSV、JSON、XLSX、XML、列表、图钉

reconng_keys

管理外部服务的API密钥。

行动: list, add, remove

reconng_snapshots

保存和恢复数据库状态。

行动: list, take, load, remove

reconng_raw

执行原始侦察命令以进行高级操作。

reconng_status

检查侦察安装状态和系统信息。

使用示例

创建工作区并添加目标

Create a workspace called "acme-corp" and add the domain acme.com

运行侦察模块

Search for available DNS modules in recon-ng
Run the hackertarget module against acme.com in the acme-corp workspace

查询结果

Show all discovered hosts in the acme-corp workspace
Generate an HTML report of all findings in the acme-corp workspace

管理API密钥

Add my Shodan API key to recon-ng

安全考虑

  • 此服务器通过SSH在远程系统上执行命令
  • 确保SSH密钥得到适当的权限保护
  • 使用与生产网络隔离的专用侦察系统
  • 对发现的任何漏洞遵循负责任的披露做法
  • 遵守有关安全测试的所有适用法律法规

建筑

┌─────────────────┐     ┌─────────────────┐     ┌─────────────────┐
│  AI Assistant   │────▶│  MCP Server     │────▶│  Kali Linux     │
│  (Claude, etc.) │     │  (Node.js)      │ SSH │  (recon-ng)     │
└─────────────────┘     └─────────────────┘     └─────────────────┘

发展

# Install dependencies
npm install

# Build TypeScript
npm run build

# Run in development mode
npm run dev

相关项目

许可证

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

免责声明

此工具仅用于授权的安全测试和研究目的。用户有责任确保在进行任何侦察活动之前获得适当的授权。作者不对任何滥用此软件的行为负责。