返回市场
卡利Linux管理控制台

卡利Linux管理控制台

作者:sfz00990050 星标更新:2025-09-14

项目介绍

技术文档摘要

目前,这只是个玩具,仅支持执行可以返回结果的命令,如burst套件和metasploit,无法与界面和命令进行交互。然而,AI代理可以直接执行metasploit,而无需进入命令交互模式。如果你有时间,可以使用它来增强功能 😜

kalilinuxmcp

kali linux mcp, pentest, 渗透测试

更新:

20250401 更新:增加了简单的交互处理 image image image

安装方法:

1: 首先,使用 ssh keygen -t RSA 创建一个私钥和公钥,替换 Dockerfile 中的公钥,并将私钥替换到 "C:\Users[用户名]\ .ssh\kali000"。这里,在 src\index.ts 中搜索 "kali000" 并找到替换路径

'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCsoJo7WJIHDQgmEdKwm6IqS61xaGWa/OVVMCrMwcVh13xvYbAD7wdMufzNhWRxSso3SKvTHbQjIszvYQgkVFjRPiJW5vGCU0847CX0zZytGLnKpKWDZ5ccShMPlIxVuy2+WUQlKNL7f+w59PMX+3BLcikhtwk0xwG7tpS4kAtXHlrwt1B1vFj3CoF8rBofGJAahOuPvruRh9i1i73i5JJHJFeDdJVfNnY5/8HnBvtWtJzbsbmlyaTODfrDCeYZ32zxDZdsPVEls3RDsfgUadyC71mpXloJ8JTiUU37H5DY+xtIuz3XICwA7DsVm9jiKaSR96DZyogYxx+UKdrDsIH4JQwBNs3RDCX+t7ivKj75KkhhrW2X2h90EOjwQPQOhuVU2FtMXbWlfbZL5UwXGgA7Efe3N0ZzrKac+RGM6vY/jsnESgZaTayF/N/BysMpjI18xy6Y12CyPXVYsvF3v04d2XR1Fs5rduERjpot7o9N+i5FcoTfUb5WP5nVU9X0b2s= hack004@DESKTOP-H4HRI73'

2: 因为是内网环境,我在 Docker 中添加了主机的 SOCKS5 代理,自己查找并替换 "192.168.31.110"。此外,DNS 服务器也强制我使用 DNS2SOCKS 切换到本地 127.0.0.1 并使用 SOCKS5 代理。你可以自己在 Dockerfile 中替换或移除。

3: 使用了原始的 "boyaabes/kali Linux full" 镜像,但内部的软件版本有点旧。请选择是否执行以下操作以更新它(主要需要很长的更新时间!)

1: wget -q -O - https://archive.kali.org/archive-key.asc | gpg --import 
2: curl -fsSL https://archive.kali.org/archive-key.asc | sudo gpg --dearmor -o /usr/share/keyrings/kali-archive-keyring.gpg 
3: sudo apt update && sudo apt full-upgrade -y 
4: (下载更新最新版 kali linux 的所有工具,注意很大很慢) sudo apt install kali-linux-everything -y 
5: 如果只需更新单独的软件,就无需执行 4 因为要很久,例如 sudo apt install wpscan 
6: 我自己倒是完成了最新更新,但是容器太大了几十 G 就不传了,需要的自行操作就行了```

4: (编译 MCP),首先安装 npm,然后直接使用 npm 运行 build 来获取构建目录,核心是 index.js

5: (编译 Docker 镜像),

1: 编译镜像: "docker build -t kali-pentest-mcp ."
2: 部署镜像: "docker run --name kali-container -d --privileged -p 2222:22 kali-pentest-mcp"

6: 安装 MCP:

"kali-pentest-mcp-server": {
  "command": "node",
  "args": ["D:/kalimcp/build/index.js"],
  "env": {}
}

注意事项:

1: 每次重启 Docker 后记得刷新 MCP,因为 SSH 连接可能会断开

参考项目:

https://github.com/weidwonder/terminal-mcp-server

效果展示:

1: 实验室: 盲 SQL 注入带出带外数据

image

image

image

image

2: 命令注入:

image

image

image

image

3: 实验室: 通过 Content-Type 限制绕过上传 Web Shell

image

image

image

image

image

MCP 实时命令输出查看器用户指南

概述

此实时查看器解决了在 AI 工具(如 cursor)中执行长命令时看不到实时输出的问题。通过 WebSocket 技术,您可以在浏览器中实时监控命令执行进度。

快速开始

1. 启动实时查看器

Windows 用户:

# 双击运行
start-realtime-viewer.bat

# 或者手动运行
cd realtime-viewer
npm install
npm start

Linux/Mac 用户:

cd realtime-viewer
npm install
npm start

2. 打开 Web 界面

启动后,在浏览器中访问:

http://localhost:3000

3. 启用 MCP 服务器实时推送

在 cursor 或其他 AI 工具中,使用以下命令启用实时推送:

configure_realtime_viewer action=enable

或者配置自定义查看器 URL:

configure_realtime_viewer action=configure viewer_url=http://localhost:3000

4. 执行命令并查看实时输出

现在当你执行交互式命令时,输出将在 Web 界面中实时显示:

start_interactive_command command="nmap -sS -O 192.168.1.1"

功能

Web 界面功能

  • 📊 会话列表 - 在左侧显示所有活跃的命令会话
  • 📺 实时输出 - 显示所选会话的实时命令输出
  • 🔄 自动滚动 - 可选的自动滚动到最新输出
  • 🎨 VS Code 风格 - 深色主题,界面类似 VS Code
  • 📱 响应式设计 - 支持不同屏幕尺寸

MCP 工具命令

查看实时推送状态

configure_realtime_viewer action=status

启用实时推送

configure_realtime_viewer action=enable

禁用实时推送通知

configure_realtime_viewer action=disable

配置查看器 URL

configure_realtime_viewer action=configure viewer_url=http://localhost:3000

使用场景

1. 网络扫描

start_interactive_command command="nmap -sS -p- 192.168.1.0/24"

在 Web 界面中实时查看扫描进度和结果。

2. 漏洞扫描

start_interactive_command command="nikto -h http://target.com"

实时监控漏洞扫描发现过程。

3. 密码破解

start_interactive_command command="hydra -l admin -P /usr/share/wordlists/rockyou.txt ssh://192.168.1.100"

实时监控密码破解尝试的进度。

4. 数据库操作

start_interactive_command command="mysql -u root -p"

在 Web 界面中查看 SQL 查询的执行结果。

环境变量配置

您可以使用环境变量配置 MCP 服务器:

# 启用实时推送(默认禁用)
set REALTIME_PUSH_ENABLED=true

# 配置查看器 URL(默认 http://localhost:3000)
set REALTIME_VIEWER_URL=http://localhost:8080

# 重新启动 MCP 服务器
npm run build
npm start

故障排除

1. 连接问题

  • 确保实时查看器服务器正在运行(http://localhost:3000)
  • 检查防火墙设置
  • 确认端口 3000 没有被其他程序占用

2. 输出未显示

  • 确认已启用实时推送:configure_realtime_viewer action=status
  • 检查 MCP 服务器日志中的错误信息
  • 确认命令已通过 start_interactive_command 激活

3. 性能问题

  • 对于输出量大的命令,系统会自动缓冲输出以减少网络请求
  • 您可以通过点击清除输出按钮来清理界面
  • 关闭不必要的会话以释放资源

技术架构

┌─────────────────┐    HTTP/WebSocket    ┌──────────────────┐
│   MCP 服务器    │ ──────────────────► │ 实时查看器       │
│                 │                      │                  │
│ - 命令执行器    │                      │ - Express 服务器 │
│ - 实时推送器    │                      │ - WebSocket      │
│ - SSH 会话     │                      │ - Web 界面       │
└─────────────────┘                      └──────────────────┘
        │                                          │
        │ SSH                                      │ 浏览器
        ▼                                          ▼
┌─────────────────┐                      ┌──────────────────┐
│   Kali Linux    │                      │   Web 浏览器     │
│                 │                      │                  │
│ - 安全工具      │                      │ - 实时 UI        │
│ - 命令行        │                      │ - 会话管理       │
└─────────────────┘                      └──────────────────┘

安全注意事项

  1. 本地使用 - 实时查看器默认只监听 localhost,不对外部网络开放
  2. 未经验证 - 当前版本没有认证,请勿在生产环境中使用
  3. 敏感信息 - 命令输出可能包含敏感信息,请妥善保护
  4. 网络安全 - 如需远程访问,请配置适当的网络安全措施

更新日志

v1.0.0

  • 初始版本发布
  • 支持实时命令输出和显示
  • WebSocket 通信
  • 多会话管理
  • 类似 VS Code 的界面