kali-mcp-server
基于Kali Linux的MCP服务器,为AI助手提供渗透测试和安全评估工具接口,支持网络扫描、Web扫描、密码攻击等90多个工具。
README
Kali MCP 项目
一个基于Kali Linux的MCP(Model Context Protocol)服务器项目,为AI助手提供渗透测试和安全评估工具接口。
项目概述
本项目包含两个主要组件:
- kali_server.py - Kali Linux API服务器,提供工具执行接口
- mcp_server.py - MCP协议服务器,连接AI助手与Kali工具
- mcp.json - MCP客户端配置文件
系统架构
AI助手 (MCP客户端) ←→ mcp_server.py ←→ kali_server.py ←→ Kali Linux工具
快速开始
环境要求
- Python 3.8+
- Kali Linux 系统(或安装了渗透测试工具的Linux系统)
- 网络连接(用于API通信)
安装步骤
-
克隆项目
git clone <repository-url> cd kali-mcp-server -
安装依赖
pip install -r requirements.txt -
配置Kali服务器
- 确保Kali Linux系统已安装所需工具
- 修改
kali_server.py中的配置(如API端口)
-
启动Kali API服务器
python kali_server.py服务器将在默认端口5000启动
-
配置MCP客户端
- 修改
mcp.json中的服务器地址 - 确保Python路径正确
- 修改
-
启动MCP服务器
python mcp_server.py --server http://your-kali-ip:5000/
文件说明
kali_server.py
Kali Linux API服务器,提供以下功能:
主要特性:
- 命令执行管理(支持超时控制)
- 多线程输出处理
- 错误处理和日志记录
- RESTful API接口
API端点:
POST /api/command- 执行任意命令POST /api/tools/nmap- Nmap网络扫描POST /api/tools/gobuster- Gobuster目录扫描POST /api/tools/dirb- Dirb Web内容扫描POST /api/tools/nikto- Nikto Web服务器扫描POST /api/tools/sqlmap- SQLMap SQL注入检测POST /api/tools/metasploit- Metasploit模块执行POST /api/tools/hydra- Hydra密码破解POST /api/tools/john- John the Ripper密码破解POST /api/tools/wpscan- WPScan WordPress扫描POST /api/tools/enum4linux- Enum4linux枚举
mcp_server.py
MCP协议服务器,提供以下工具函数:
渗透测试工具:
nmap_scan()- 网络端口和服务发现gobuster_scan()- Web目录和文件发现dirb_scan()- Web内容扫描nikto_scan()- Web服务器漏洞扫描sqlmap_scan()- SQL注入检测metasploit_run()- Metasploit模块执行hydra_attack()- 密码暴力破解john_crack()- 密码哈希破解wpscan_analyze()- WordPress安全扫描enum4linux_scan()- Windows/Samba枚举
信息收集工具:
masscan_scan()- 快速端口扫描zmap_scan()- 互联网范围扫描unicornscan_scan()- 异步网络扫描
mcp.json
MCP客户端配置文件:
{
"mcpServers": {
"kali_mcp": {
"timeout": 180,
"type": "stdio",
"command": "python路径",
"args": [
"mcp_server.py路径",
"--server",
"Kali服务器地址"
]
}
}
}
工具功能详解
网络扫描工具
Nmap扫描
nmap_scan(
target="192.168.1.1",
scan_type="-sV",
ports="80,443,22",
additional_args="-T4"
)
Masscan扫描
masscan_scan(
target="192.168.1.0/24",
ports="1-1000",
rate="1000"
)
Web应用扫描工具
Gobuster目录扫描
gobuster_scan(
url="http://target.com",
mode="dir",
wordlist="/usr/share/wordlists/dirb/common.txt"
)
SQLMap SQL注入检测
sqlmap_scan(
url="http://target.com/login.php",
data="username=admin&password=test",
additional_args="--level=3 --risk=2"
)
密码攻击工具
Hydra暴力破解
hydra_attack(
target="192.168.1.1",
service="ssh",
username="admin",
password="password123"
)
John the Ripper密码破解
john_crack(
hash_file="/path/to/hashes.txt",
wordlist="/usr/share/wordlists/rockyou.txt"
)
📋 完整工具列表
🔍 网络扫描工具 (Network Scanners)
- nmap - 网络发现和安全扫描
- masscan - 大规模端口扫描
- zmap - 快速网络扫描
- unicornscan - 异步网络扫描
- netdiscover - 网络主机发现
- naabu - 快速端口扫描
- rustscan - Rust编写的快速端口扫描
- netcat - 网络工具瑞士军刀
- traceroute - 路由跟踪
- tcpdump - 网络包分析
- wireshark - 网络协议分析
- socat - 多用途中继工具
🌐 Web扫描工具 (Web Scanners)
- gobuster - 目录/文件暴力扫描
- dirb - Web内容扫描器
- nikto - Web服务器扫描器
- wpscan - WordPress安全扫描
- whatweb - Web技术识别
- wafw00f - WAF检测
- dirsearch - Web路径扫描
- feroxbuster - 快速内容发现
- katana - 下一代爬虫
- meg - 大规模URL获取
- arjun - 参数发现
- paramspider - 参数提取
- waybackurls - 历史URL获取
- gau - 获取已知URL
- nuclei - 漏洞扫描
- vulmap - 漏洞映射
- joomscan - Joomla扫描
- droopescan - Drupal扫描
- cmsmap - CMS扫描
- wapiti - Web应用漏洞扫描
- arachni - Web应用安全扫描
- skipfish - Web应用安全扫描
- netsparker - Web安全扫描
- ffuf - Web模糊测试
- wfuzz - Web应用模糊测试
- xsser - XSS漏洞扫描
🔎 枚举工具 (Enumeration Tools)
- enum4linux - SMB枚举
- subfinder - 子域名发现
- amass - 攻击面映射
- dnsrecon - DNS枚举
- dnsenum - DNS枚举
- fierce - DNS扫描
- sublist3r - 子域名枚举
- findomain - 子域名监控
- whois - 域名信息查询
- autorecon - 自动侦察
- lazyrecon - 懒人侦察
- sn1per - 渗透测试框架
🌐 Web爬虫 (Web Crawlers)
- scrapy - Python爬虫框架
- gospider - Go语言爬虫
- linkfinder - JavaScript端点发现
- js_scan - JavaScript扫描
- secretfinder - 密钥发现
- hakrawler - 快速爬虫
- crawley - Web爬虫
- photon - 极速爬虫
- cewl - 自定义词表生成
🛡️ 漏洞扫描 (Vulnerability Scanners)
- openvas - 开源漏洞评估
- nmap_nse - Nmap脚本引擎
- vulners - 漏洞数据库
- vulmap - 漏洞映射
🔒 安全评估 (Security Assessment)
- lynis - 安全审计工具
- chkrootkit - Rootkit检测
- rkhunter - Rootkit猎人
- clamav - 反病毒扫描
🔑 密码攻击 (Password Attackers)
- hydra - 在线密码破解
- john - 离线密码破解
- hashcat - 高级密码恢复
- medusa - 并行登录暴力破解
- patator - 多协议暴力破解
- crowbar - 暴力破解工具
- crunch - 密码生成器
- johnny - John the Ripper GUI
- hash_identifier - 哈希类型识别
- wordlists - 词表管理工具
📡 无线工具 (Wireless Tools)
- aircrack - WEP/WPA破解套件
- reaver - WPS攻击工具
- wifite - 自动化无线攻击
- wifiphisher - 无线钓鱼攻击
🎭 社会工程 (Social Engineering)
- beef - 浏览器利用框架
- empire - 后渗透框架
- set - 社会工程工具包
- gophish - 开源钓鱼框架
💻 后渗透 (Post Exploitation)
- mimikatz - Windows凭证提取
- powersploit - PowerShell攻击框架
- psexec - 远程执行工具
- winexe - Windows远程执行
🔧 逆向工程 (Reverse Engineering)
- ghidra - 软件逆向工程
- ollydbg - Windows调试器
- gdb - GNU调试器
💥 漏洞利用框架 (Exploit Frameworks)
- metasploit - 渗透测试框架
- exploitdb - 漏洞利用数据库
📱 移动安全 (Mobile Security)
- mobsf - 移动安全框架
- apktool - Android应用工具
☁️ 云安全 (Cloud Security)
- pacu - AWS渗透测试
- scout_suite - 云环境安全审计
- cloudsploit - 云安全配置扫描
🔌 IoT安全 (IoT Security)
- firmwalker - 固件分析工具
- iotseeker - IoT设备扫描
📊 报告工具 (Reporting Tools)
- dradis - 协作报告框架
- serpico - 渗透测试报告
- faraday - 协作渗透测试
- magictree - 渗透测试数据管理
- pipal - 密码分析工具
- consolidated_report - 综合报告工具
📊 统计信息
- 总工具数量: 91个工具
- 分类数量: 16个类别
所有工具都已集成到MCP服务器中,可以通过相应的API端点进行调用。
配置说明
Kali服务器配置
在kali_server.py中可配置:
API_PORT- API服务端口(默认:5000)DEBUG_MODE- 调试模式开关COMMAND_TIMEOUT- 命令执行超时时间(秒)
MCP服务器配置
在mcp_server.py中可配置:
DEFAULT_KALI_SERVER- 默认Kali服务器地址DEFAULT_REQUEST_TIMEOUT- API请求超时时间
安全注意事项
⚠️ 重要安全警告
- 授权测试:仅在获得明确授权的情况下使用本工具
- 法律合规:确保所有测试活动符合当地法律法规
- 网络隔离:建议在隔离的测试环境中使用
- 日志记录:所有操作都会被记录,确保可追溯性
- 数据保护:妥善处理测试过程中获取的敏感信息
故障排除
常见问题
-
连接失败
- 检查Kali服务器是否正常运行
- 验证网络连接和防火墙设置
- 确认API端口未被占用
-
工具未找到
- 确保Kali Linux已安装所需工具
- 检查工具路径配置
- 验证工具执行权限
-
权限错误
- 确保以适当权限运行脚本
- 检查文件系统权限
- 验证网络访问权限
日志查看
所有操作日志可在控制台查看,或通过配置日志文件进行记录。
扩展开发
添加新工具
- 在
kali_server.py中添加新的API端点 - 在
mcp_server.py中注册对应的MCP工具函数 - 更新配置文件
自定义配置
支持通过环境变量和配置文件进行自定义配置。
许可证
本项目基于开源许可证发布,具体许可证信息请查看LICENSE文件。
贡献指南
欢迎提交Issue和Pull Request来改进本项目。
免责声明:本工具仅供安全研究和授权测试使用,使用者需对自身行为承担全部法律责任。
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。