Gobuster MCP服务器

一个为Gobuster设计的MCP服务器,通过SSH在远程Kali Linux主机上执行Gobuster命令,支持目录/文件枚举、DNS子域名枚举、虚拟主机发现等多种安全侦察任务。

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

使用说明

戈布斯特麦克普

一种模型上下文协议(MCP)服务器 Gobuster -一个用Go编写的强大的目录/文件、DNS、虚拟主机、S3 bucket和TFTP枚举工具。

此MCP服务器使AI助手能够通过SSH在远程Kali Linux主机上执行Gobuster命令来执行安全侦察和枚举任务。

特性

  • 目录/文件枚举 (gobuster_dir)-发现web服务器上的隐藏目录和文件
  • DNS子域枚举 (gobuster_dns)-查找目标域的子域
  • 虚拟主机发现 (gobuster_vhost)-通过暴力强制主机标头枚举虚拟主机
  • 模糊测试 (gobuster_fuzz)-替换URL、标头或POST数据中的FUZZ关键字
  • S3桶枚举 (gobuster_s3)-发现打开的Amazon S3存储桶
  • TFTP枚举 (gobuster_tftp)-查找TFTP服务器上的文件
  • 异步扫描支持 -在后台运行长扫描并跟踪状态
  • 单词列表发现 -列出Kali主机上可用的单词表

先决条件

  • Node.js 18+
  • SSH访问安装了Gobuster的Kali Linux主机
  • 配置了基于SSH密钥的身份验证(无密码提示)

安装

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

# Install dependencies
npm install

# Build
npm run build

配置

环境变量

变量 默认值 描述
KALI_HOST kali Kali Linux主机的SSH主机名或别名

SSH设置

确保你的SSH配置(~/.SSH/config)有Kali主机的条目:

Host kali
    HostName 192.168.1.100
    User root
    IdentityFile ~/.ssh/id_rsa

Claude桌面配置

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

{
  "mcpServers": {
    "gobuster": {
      "command": "node",
      "args": ["/path/to/sec-gobuster-mcp/dist/index.js"],
      "env": {
        "KALI_HOST": "kali"
      }
    }
  }
}

可用工具

gobuster_dir

目录/文件枚举模式-发现web服务器上的隐藏目录和文件。

{
  "url": "https://example.com",
  "extensions": "php,html,txt",
  "threads": 20,
  "status_codes": "200,204,301,302",
  "exclude_status": "404,403"
}

gobuster-dns

DNS子域枚举-发现目标域的子域。

{
  "domain": "example.com",
  "resolver": "8.8.8.8",
  "show_ips": true,
  "show_cname": true
}

gobuster_vhost

虚拟主机枚举-通过暴力强制主机标头值来发现虚拟主机。

{
  "url": "https://example.com",
  "domain": "example.com",
  "exclude_length": "1234"
}

gobuster_fuzz

模糊模式-替换URL、标头或POST数据中的FUZZ关键字。

{
  "url": "https://example.com/api?param=FUZZ",
  "method": "GET",
  "exclude_status": "404,500"
}

gobuster_s3

Amazon S3存储桶枚举。

{
  "wordlist": "/usr/share/wordlists/bucket-names.txt",
  "max_files": 10
}

gobuster_tftp

TFTP文件枚举。

{
  "server": "192.168.1.50",
  "timeout": 5
}

异步操作

所有故障诊断仪都支持 async 在后台运行扫描的参数:

{
  "url": "https://example.com",
  "async": true
}

使用以下工具管理异步扫描:

  • gobuster_status -检查扫描状态并检索输出
  • gobuster_stop -停止正在运行的扫描
  • gobuster_list_scans -列出所有活动和最近的扫描

gobuster_单词列表

列出Kali主机上可用的单词表。

{
  "category": "dirb"
}

类别: all, dirb, dirbuster, wfuzz, seclists, subdomains

常用选项

大多数故障诊断仪支持以下常见选项:

选项 描述
wordlist Kali上单词表文件的路径
threads 并发线程数(默认值:10)
timeout 请求超时(秒)
quiet 抑制横幅输出
cookies 请求中包含的Cookie
headers 自定义标题数组
user_agent 自定义用户代理字符串
no_tls_validation 跳过TLS证书验证
follow_redirect 遵循HTTP重定向

安全考虑

此工具仅用于授权的安全测试。在扫描任何系统之前,始终确保您有适当的授权。

  • 仅对您拥有或有明确测试权限的系统使用
  • 注意速率限制和服务器负载
  • 考虑您所在司法管辖区的法律影响
  • 负责任和合乎道德地使用

发展

# Watch mode for development
npm run dev

# Build
npm run build

# Run
npm start

许可证

MIT许可证-请参阅 许可证 文件以获取详细信息。

贡献

欢迎投稿!请随时提交拉取请求。

相关项目