MCP服务器打破害羞-Diclaimer-这是一个DEVKIT
一个模型上下文协议(MCP)服务器,将Claude for Desktop与Kali Linux安全工具连接起来,实现人工智能辅助渗透测试
建筑
该项目由两个主要部分组成:
- MCP服务器 (
mcp_server.py):实现模型上下文协议,将Claude for Desktop与Kali Linux工具API连接起来。它提供了功能、提示和上下文,以帮助Claude了解如何有效地使用Kali工具。
- Kali Linux API服务器 (
kali_api_server.py):一个Flask应用程序,为执行各种KaliLinux安全工具提供API端点。它处理命令的实际执行,并将结果返回给MCP服务器。
Claude for Desktop ←→ MCP Server ←→ Kali Linux API Server ←→ Kali Linux Tools特性
- 与流行的Kali Linux安全工具集成
- 常见任务的预定义渗透测试提示
- 关于HackTheBox环境的上下文信息
- 用于故障排除的全面调试工具
先决条件
- Kali Linux(或安装了安全工具的其他Linux发行版)
- Python 3.8+
- Claude桌面版
- 以下Python包(在虚拟环境中自动安装):
- 烧瓶 - 请求: - psutil(用于系统诊断)
安装
选项1:使用安装脚本(推荐)
- 克隆此存储库:
git clone https://github.com/yourusername/kali-mcp-server.git
cd kali-mcp-server- 运行安装脚本:
./setup.sh选项2:手动设置
- 克隆此存储库:
git clone https://github.com/yourusername/kali-mcp-server.git
cd kali-mcp-server- 创建虚拟环境:
python3 -m venv venv- 激活虚拟环境:
source venv/bin/activate- 安装依赖项:
pip install -r requirements.txt- 使脚本可执行:
chmod +x mcp_server.py kali_api_server.py run.py确保安装了所需的Kali Linux工具
确保您的系统上安装了相关的Kali Linux工具:
sudo apt update
sudo apt install nmap gobuster dirb nikto sqlmap metasploit-framework hydra john wpscan enum4linux用法
使用run.py脚本(推荐)
启动这两个服务器的最简单方法是使用run.py脚本:
./run.py这将在单独的终端中启动API服务器和MCP服务器。
其他选项:
--api-port PORT:指定API服务器端口(默认值:5000)--mcp-port PORT:指定MCP服务器端口(默认值:8080)--background:在后台运行两台服务器--setup:设置或更新虚拟环境--debug:启用具有详细日志记录和诊断端点的调试模式
手动启动服务器
如果您更喜欢手动启动服务器:
- 启动Kali Linux API服务器:
source venv/bin/activate
python kali_api_server.py- 在新终端中,启动MCP服务器:
source venv/bin/activate
python mcp_server.py将Claude连接到桌面
- 打开Claude桌面版
- 将其配置为在以下位置使用MCP服务器
http://localhost:8080 - 开始新的对话并开始渗透测试
为桌面(Linux)配置Claude
如果您使用的是非官方的Linux版Claude Desktop:
- 编辑MCP配置文件:
nano ~/.config/Claude/claude_desktop_config.json- 添加您的MCP服务器:
{
"mcp_servers": [
{
"name": "Kali Linux Tools",
"url": "http://localhost:8080",
"enabled": true
}
]
}- 保存文件并重新启动Claude Desktop
支持的工具
- 扫描器:网络扫描和主机发现
{
"target": "10.10.10.10",
"scan_type": "-sV",
"ports": "80,443,22",
"additional_args": "-T4 --open"
}- 高斯特:目录和文件暴力破解
{
"url": "http://10.10.10.10",
"mode": "dir",
"wordlist": "/usr/share/wordlists/dirb/common.txt",
"additional_args": "-x php,txt,html"
}- dirb:Web内容扫描程序
{
"url": "http://10.10.10.10",
"wordlist": "/usr/share/wordlists/dirb/common.txt",
"additional_args": "-r -z 10"
}- 没有人:Web服务器扫描程序
{
"target": "http://10.10.10.10",
"additional_args": "-Tuning 123bx"
}- sqlmap:SQL注入测试
{
"url": "http://10.10.10.10/page.php?id=1",
"data": "username=test&password=test",
"additional_args": "--batch --dbs"
}- metasploit:开发框架
{
"module": "exploit/multi/http/apache_struts2_content_type_rce",
"options": {
"RHOSTS": "10.10.10.10",
"RPORT": "8080",
"TARGETURI": "/struts2-showcase/"
}
}- 九头蛇:密码暴力破解
{
"target": "10.10.10.10",
"service": "ssh",
"username": "admin",
"password_file": "/usr/share/wordlists/rockyou.txt",
"additional_args": "-e nsr"
}- 约翰:密码破解
{
"hash_file": "/path/to/hashes.txt",
"wordlist": "/usr/share/wordlists/rockyou.txt",
"format": "md5crypt",
"additional_args": "--rules=Jumbo"
}- wpscan:WordPress漏洞扫描程序
{
"url": "http://10.10.10.10",
"additional_args": "--enumerate u,p,t"
}- enum4linux:Windows/Samba枚举
{
"target": "10.10.10.10",
"additional_args": "-a"
}HTB渗透测试工作流程示例
- 从初步侦察开始
- 使用Claude帮助制定接近HTB机器的计划 - 从MCP服务器中选择“initial_econ”提示
- 发现并列举服务
- 使用nmap扫描打开的端口和服务 - 使用Claude帮助解释结果
- 探索已确定的服务
- 对于web服务器,使用gobuster、dirb、nikto和wpscan - 对于数据库服务器,请使用sqlmap - 对于Windows/Samba服务器,请使用enum4linux
- 利用漏洞
- 根据Claude的建议,使用适当的工具来利用发现的漏洞 - 在适用的情况下使用metasploit
- 实施漏洞利用
- 权限提升 - 数据渗漏 - 建立持久性(仅用于培训目的)
故障排除
调试功能
如果遇到问题,请在调试模式下运行服务器:
./run.py --debug这使得:
- 详细日志记录:所有操作都记录到
debug.log
- 调试端点:
- http://localhost:8080/debug/status -MCP服务器状态 - http://localhost:5000/debug/status -API服务器状态 - http://localhost:8080/debug/config -MCP服务器配置 - http://localhost:5000/debug/tool-test -测试工具是否正常工作 - http://localhost:8080/debug/test-api -测试MCP-API连接 - http://localhost:8080/debug/history -请求历史记录(最近100个请求)
- 健康检查:
- http://localhost:8080/health -MCP服务器运行状况检查,包括API服务器状态 - http://localhost:5000/health -API服务器运行状况检查,包括工具可用性
- 命令调试 (小心使用):
- http://localhost:5000/debug/command -安全执行命令以排除故障
所有端点都可以通过浏览器或使用以下工具访问 curl.
依赖冲突
如果您遇到与系统包冲突的情况:
- 确保您正在使用虚拟环境
- 永远不要安装带有
--break-system-packages - 如果需要重新创建虚拟环境:
rm -rf venv && ./setup.sh
服务器问题
- 如果某个工具不起作用,请确保它已安装并可在PATH中访问
- 检查两台服务器的日志中是否有错误消息
- 验证Claude for Desktop是否已正确配置为使用MCP服务器
安全考虑
- 此设置应仅在受控环境(如HTB)中用于法律渗透测试
- 未经明确许可,不得对系统使用这些工具
- API服务器直接在系统上执行命令-请谨慎使用
- 考虑在VM或容器中运行以获得额外的隔离
贡献
欢迎投稿!请随时提交拉取请求。
许可证
此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。

