渗透测试工具服务器

一个基于Kali Linux的MCP服务器,提供对35+安全测试工具的编程访问,支持通过JSON-RPC接口与AI助手和自动化工具交互。

  • by Nandha-06
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 Nandha-06/Kali-mcp

使用说明

Kali Linux MCP服务器

一个全面的模型上下文协议(MCP)服务器,提供对Kali Linux渗透测试和安全工具的编程访问。该项目使人工智能助手和自动化工具能够通过标准化的JSON-RPC接口与35多种安全工具进行交互。

概述

此MCP服务器在基于Kali Linux的Docker容器中运行,并通过模型上下文协议公开安全测试工具。它旨在与Claude Desktop等人工智能助手配合使用,允许与渗透测试工具进行自然语言交互。

特性

包括35+安全工具

网络发现和扫描

  1. nmap(多种扫描类型)
  2. masscan
  3. zmap
  4. 未知
  5. arp扫描

Web应用程序测试

  1. 无
  2. dirb
  3. 高斯特
  4. wpscan
  5. whatweb
  6. wafw00f
  7. sqlmap

SSL/TLS测试

  1. sslscan
  2. testssl

DNS枚举

  1. dnsrecon
  2. dnsenum
  3. 激烈的

SMB/NNetBIOS测试

  1. enum4linux
  2. smbclient
  3. nbtscan

密码攻击

  1. 九头蛇
  2. 开膛手约翰
  3. 哈希猫
  4. cewl

无线安全

  1. 空调
  2. 威菲特

信息收集

  1. 背心
  2. 侦察

法医学

  1. 人行道
  2. 首要的
  3. 字符串

隐写术

  1. 斯特吉德
  2. Exif工具

系统安全性

  1. lynis
  2. chkrootkit

通用应用程序

  1. execute_命令
  2. 网络信息
  3. port_scan
  4. 漏洞扫描

建筑

┌──────────────────────────┐
│     AI Assistant         │
│  (Claude, Kiro, Cline)   │
└───────────┬──────────────┘
            │
            │ MCP Protocol (JSON-RPC via docker exec)
            │
┌───────────▼──────────────┐
│   Docker Container       │
│   (Kali Linux)           │
│                          │
│  ┌────────────────────┐  │
│  │   mcp_server.py    │  │
│  │   (MCP Server)     │  │
│  └─────────┬──────────┘  │
│            │              │
│  ┌─────────▼──────────┐  │
│  │  Security Tools    │  │
│  │  (nmap, nikto,     │  │
│  │   sqlmap, etc.)    │  │
│  └────────────────────┘  │
└──────────────────────────┘

先决条件

  • Docker和Docker Compose
  • 26GB+可用磁盘空间 对于Docker镜像
  • 建议使用4GB+RAM
  • 稳定的互联网连接 (构建需要大量时间,失败意味着从头开始重建)
  • Linux主机(用于完整功能)或带Docker桌面的Windows/macOS

⚠️ 小心:Docker镜像大约是 26GB 由于全面的Kali工具包,其尺寸较小。如果构建失败,您需要从头开始重建。确保您拥有:

  • 在整个构建过程中稳定的互联网连接
  • 足够的磁盘空间
  • 初始构建时间(60-180分钟,取决于连接速度)

安装

1.克隆或下载

git clone https://github.com/Nandha-06/Kali-mcp.git
cd kali-mcp-cli

2.构建并启动容器

docker-compose up -d --build

这将:

  • 拉取Kali Linux滚动映像
  • 安装全面的安全工具包
  • 设置MCP服务器
  • 以分离模式启动容器

配置

MCP客户端配置

此服务器适用于任何兼容MCP的客户端:

克劳德桌面 -添加到MCP设置 启用开发人员选项,然后单击“编辑配置”。 (%APPDATA%\Claude\claude_desktop_config.json 在Windows或 ~/Library/Application Support/Claude/claude_desktop_config.json 在macOS上):

{
  "mcpServers": {
    "kali-security": {
      "command": "docker",
      "args": [
        "exec",
        "-i",
        "kali-mcp-server",
        "python3",
        "/app/mcp_server.py",
        "--stdio"
      ]
    }
  }
}

克莱恩,鲁,LM工作室 -使用上述相同的命令结构遵循各自的MCP配置文档。

用法

一旦配置了任何兼容MCP的客户端(Claude Desktop、Kiro、Cline、Roo、LM Studio等),您就可以使用自然语言与安全工具进行交互:

"Scan 192.168.1.1 with nmap"
"Check what web technologies are running on example.com"
"Enumerate DNS records for example.com"
"Run a vulnerability scan on 10.0.0.5"
"Use gobuster to find hidden directories on https://example.com"
"Check SSL/TLS configuration of example.com"

MCP服务器处理执行Kali工具的所有复杂性,并将格式化结果直接返回给您的AI助手。

可用工具

网络扫描

工具 参数 说明
nmap_scan target,scan_type 网络扫描(基本、同步、版本、操作系统、攻击性、隐身、udp、vuln)
masscan_scan 目标,端口 快速端口扫描器
zmap_scan 目标,端口 互联网范围的扫描仪
netdiscover 接口 网络发现
arp_scan target 基于ARP的主机发现

Web应用程序测试

工具 参数 说明
nikto_scan target Web服务器扫描程序
dirb_scan url,单词表 目录暴力破解
gobuster_scan url,单词表 目录/文件枚举
wpscan url WordPress安全扫描程序
whatweb target Web技术标识符
wafw00f url Web应用程序防火墙检测
sqlmap_scan url,additional_rams SQL注入测试

SSL/TLS测试

工具 参数 说明
sslscan target SSL/TLS密码套件扫描程序
testssl target 全面的SSL/TLS测试

DNS枚举

工具 参数 说明
dnsrecon 域名 DNS侦察
dnsenum 域 DNS枚举
fierce 域名 DNS暴力破解

SMB/NNetBIOS测试

工具 参数 说明
enum4linux target SMB枚举工具
smbclient target 用于上市股票的SMB/CIFS客户端
nbtscan target NetBIOS名称扫描器

密码攻击

工具 参数 说明
hydra_attack 目标、服务、用户名、密码列表 网络登录破解器
john_crack hash_file 密码哈希破解器
hashcat_crack hash,单词表 高级密码恢复
cewl url 自定义单词表生成器

无线安全

工具 参数 说明
aircrack_ng capture_file WEP/WPA/WPA2密钥破解器
wifite 接口 自动无线攻击工具

信息收集

工具 参数 说明
theharvester 域、源 电子邮件/子域/主机收集
recon_ng 领域 侦察框架

法医学

工具 参数 说明
binwalk 文件 固件分析和提取
foremost 文件 文件雕刻和恢复
strings file 从文件中提取可打印字符串

隐写术

工具 参数 说明
steghide 文件,密码 从文件中提取隐藏数据
exiftool file 读取/写入文件中的元数据

系统安全性

工具 参数 说明
lynis - 安全审计工具
chkrootkit - Rootkit检测

通用应用程序

工具 参数 说明
execute_command command 执行任意shell命令
network_info - 显示网络接口信息
port_scan 目标,端口 使用nmap进行快速端口扫描
vulnerability_scan target 针对目标运行漏洞脚本

安全考虑

⚠️ 重要:此工具设计用于:

  • 授权渗透测试
  • 受控环境中的安全研究
  • 教育目的
  • 您拥有或明确允许测试的系统

未经授权对您不拥有的系统使用这些工具是违法的。

最佳实践

  1. 始终获得书面授权 在测试任何系统之前
  2. 在隔离网络中使用 用于学习和测试
  3. 保存日志 所有测试活动
  4. 遵守费率限制 并避免DoS条件
  5. 遵循负责任的披露 对于发现的任何漏洞

故障排除

容器无法启动

# Check logs
docker logs kali-mcp-server

# Rebuild from scratch (WARNING: 26GB download, ensure stable internet)
docker-compose down -v
docker-compose up -d --build

构建失败? 如果Docker构建中途失败,你需要重新开始。重建前确保网络稳定。

工具不工作

某些工具需要特定权限:

# Ensure privileged mode is enabled in docker-compose.yml
privileged: true
cap_add:
  - NET_ADMIN
  - SYS_ADMIN

权限错误

# Fix permissions on shared volumes
chmod -R 755 ./shared ./wordlists

MCP连接问题

# Check if container is running
docker ps | grep kali-mcp

# Restart the container
docker-compose restart

# View container logs
docker logs kali-mcp-server -f

客户端未连接?

  • 重新启动MCP客户端(Claude Desktop、Kiro等)
  • 验证容器是否正在运行 docker ps
  • 检查MCP配置文件语法
  • 确保Docker正在运行且可访问

发展

添加新工具

编辑 mcp_server.py 并添加到 self.tools 字典:

'new_tool': {
    'func': self.new_tool_function,
    'params': ['param1', 'param2']
}

然后执行以下功能:

async def new_tool_function(self, param1: str, param2: str) -> Dict[str, Any]:
    return await self.execute_command(f'tool-command {param1} {param2}')

文件结构

kali-mcp-cli/
├── mcp_server.py          # Main MCP server implementation
├── client.py              # Python client for testing
├── Dockerfile             # Container definition
├── docker-compose.yml     # Docker Compose configuration
├── startup.sh            # Container startup script
├── shared/               # Shared files volume
└── wordlists/            # Custom wordlists volume

演出

  • Docker镜像大小:~26GB(包括全面的Kali工具包)
  • 建造时间:60-180分钟(仅限第一次,取决于网速)
  • 内存使用:<512MB,具体取决于活动工具
  • 启动时间:容器初始化时间为30-60秒

备注:在未来的版本中,将优化大图像大小,以减少磁盘空间需求。

局限性

  • 某些无线工具需要物理硬件访问
  • 长时间运行的扫描可能会超时(默认值:300秒)
  • 网络隔离可能会限制某些扫描功能

贡献

欢迎投稿!需要改进的地方:

  • 其他工具集成
  • 更好的错误处理
  • 性能优化
  • 文档改进

许可证

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

此项目仅用于教育和授权的安全测试目的。用户全权负责遵守所有适用的法律法规。

支持

对于问题和疑问:

  1. 检查故障排除部分
  2. 查看Docker和Kali Linux日志
  3. 确保安全测试的适当授权
  4. 验证网络连接和权限

免责声明:此工具仅用于授权的安全测试。在测试任何系统或网络之前,始终获得适当的授权。