绝对MCP服务器
一种用于管理的模型上下文协议(MCP)服务器 环境 -一种轻量级、快速的隧道工具,用于在渗透测试和红队交战期间建立反向TCP/TLS隧道。
概述
此MCP服务器使AI助手能够通过SSH控制远程Kali Linux机器上的Ligolong操作。它提供了管理代理服务器、代理、隧道、路由和侦听器的工具,这些都是安全评估期间网络旋转所需的核心功能。
特性
- 代理管理:启动、停止和监视Ligolong代理服务器
- 代理控制:列出连接的代理并管理会话
- 网络接口:创建和管理隧道的TUN接口
- 隧道运营:通过代理会话启动/停止隧道
- 路由管理:添加和删除目标网络的路由
- 侦听器配置:通过代理设置端口转发
- 代理命令生成:为目标生成代理连接命令
先决条件
- Node.js 18+
- SSH访问安装了Ligolong的Kali Linux机器
- 配置了基于SSH密钥的身份验证(无密码SSH)
安装
# Clone the repository
git clone https://github.com/schwarztim/sec-ligolo-ng-mcp.git
cd sec-ligolo-ng-mcp
# Install dependencies
npm install
# Build the project
npm run build配置
环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
KALI_HOST | kali | Kali计算机的SSH主机名或别名 |
LIGOLO_PROXY_PORT | 11601 | 代理连接端口 |
LIGOLO_API_PORT | 8080 | Ligolo-ng web API端口 |
LIGOLO_INTERFACE | ligolo | 默认TUN接口名称 |
SSH配置
确保您的SSH配置(~/.ssh/config)您的Kali机器有一个条目:
Host kali
HostName 192.168.1.100
User root
IdentityFile ~/.ssh/id_rsaClaude桌面集成
添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"ligolo-ng": {
"command": "node",
"args": ["/path/to/sec-ligolo-ng-mcp/dist/index.js"],
"env": {
"KALI_HOST": "kali",
"LIGOLO_PROXY_PORT": "11601"
}
}
}
}可用工具
代理管理
| 工具 | 说明 |
|---|---|
ligolo_proxy_start | 使用可选的自签名证书和API启动Ligolo-ng代理服务器 |
ligolo_proxy_stop | 停止正在运行的代理服务器 |
ligolo_proxy_status | 检查代理状态并查看最近的日志 |
会话管理
| 工具 | 说明 |
|---|---|
ligolo_agents_list | 列出所有连接的代理 |
ligolo_session_select | 选择要使用的代理会话 |
ligolo_agent_info | 从所选代理获取网络信息 |
网络配置
| 工具 | 说明 |
|---|---|
ligolo_interface_create | 创建隧道的TUN接口 |
ligolo_interface_list | 列出所有TUN接口 |
ligolo_tunnel_start | 通过所选会话启动隧道 |
ligolo_tunnel_stop | 停止活动隧道 |
路由
| 工具 | 说明 |
|---|---|
ligolo_route_add | 添加访问目标网络的路由 |
ligolo_route_delete | 删除路线 |
ligolo_route_list | 列出所有Ligolo路线 |
端口转发
| 工具 | 说明 |
|---|---|
ligolo_listener_add | 添加反向连接的侦听器 |
ligolo_listener_list | 列出活跃听众 |
ligolo_listener_delete | 删除侦听器 |
公用事业
| 工具 | 说明 |
|---|---|
ligolo_agent_command | 为目标部署生成代理命令 |
ligolo_certificate_fingerprint | 获取安全连接的证书指纹 |
ligolo_send_command | 将原始命令发送到代理控制台 |
用法示例
基本数据透视工作流
- 在Kali上启动代理:
Use ligolo_proxy_start with selfcert enabled- 生成代理命令:
Use ligolo_agent_command with your Kali IP- 创建TUN接口:
Use ligolo_interface_create- 代理连接后,添加路由:
Use ligolo_route_add with network 10.10.10.0/24- 启动隧道:
Use ligolo_tunnel_start现在,您可以通过Kali机器访问10.10.10.0/24网络。
设置反向Shell回调
使用监听器通过枢轴接收反向shell:
Use ligolo_listener_add with:
localAddress: 0.0.0.0:4444
remoteAddress: 127.0.0.1:4444这会将代理上4444端口的连接转发回Kali的4444端口。
安全考虑
- 此工具仅用于授权的安全测试
- 始终在生产环境中使用证书验证
- 代理以提升的权限运行,以管理网络接口
- SSH密钥应得到适当保护,不得共享
发展
# Watch mode for development
npm run dev
# Build
npm run build
# Start the server
npm start许可证
MIT许可证-请参阅 许可证 了解详情。
致谢
免责声明
此工具仅用于授权的安全测试和教育目的。用户有责任确保在对任何系统使用此工具之前,他们都有适当的授权。作者不对该工具造成的任何误用或损坏负责。
