MPET
MPET (Multi-Protocol Exploitation Toolkit) 是一款专业的多协议安全测试工具,基于 Wails 框架构建的现代化桌面应用。它提供了对 25+ 种主流服务协议的连接测试、未授权访问检测、弱口令检测和漏洞利用能力,是安全研究人员和渗透测试工程师的得力助手。
Install / Use
/learn @onewinner/MPETREADME
MPET - Multi-Protocol Exploitation Toolkit
功能特性 • 快速开始 • 使用指南 • 支持协议 • 截图展示
</div>📖 项目简介
MPET (Multi-Protocol Exploitation Toolkit) 是一款专业的多协议安全测试工具,基于 Wails 框架构建的现代化桌面应用。它提供了对 25+ 种主流服务协议的连接测试、未授权访问检测、弱口令检测和漏洞利用能力,是安全研究人员和渗透测试工程师的得力助手。
🎯 核心优势
- 🚀 高效批量: 支持 CSV、Fscan、Lightx 等多种格式批量导入,支持拖拽上传
- 🔍 智能检测: 自动识别导入结果的未授权访问和弱口令漏洞
- 📊 可视化报告: 一键导出 Markdown 格式漏洞报告,支持自动生成漏洞截图
- 🎨 现代界面: Vue 3 + Ant Design Vue 打造的精美 UI
- 🔐 代理支持: 内置 SOCKS5 代理,支持认证
- 💾 数据管理: SQLite 数据库存储,支持漏洞信息自定义
- 🌐 跨平台: 一次构建,Windows/Linux/macOS 全平台运行
✨ 功能特性
核心功能
- ✅ 多协议支持: 覆盖 25+ 种主流服务协议(数据库、文件传输、消息队列、容器编排等)
- ✅ 智能导入: 支持 CSV、Fscan 1.8.4、Fscan 2.1.1、Lightx 结果文件自动识别和导入
- ✅ 批量操作: 批量导入、批量连接、批量删除、批量导出
- ✅ 未授权检测: 自动检测 Redis、MongoDB、Docker、Kubernetes 等服务的未授权访问
- ✅ 弱口令检测: 自动识别扫描工具结果中的弱口令,支持自定义凭据测试
- ✅ 命令执行: SSH、Docker、Kubernetes 容器命令执行
- ✅ 文件浏览: FTP、SFTP、SMB 文件浏览和下载
- ✅ 远程桌面: VNC、RDP 屏幕截图获取
- ✅ 实时监控: 实时显示连接状态和详细日志
- ✅ 漏洞报告: 自动生成 Markdown 格式漏洞报告,包含截图和修复建议
- ✅ 漏洞管理: 内置漏洞信息库,支持自定义编辑
高级特性
- 🔧 代理穿透: 全局 SOCKS5 代理配置,支持代理认证
- 🎨 主题切换: 亮色/暗色主题自由切换
- 📋 多格式导入: 支持 CSV、Fscan、Lightx 等多种格式自动识别
- 🎯 拖拽上传: 直接拖拽文件到窗口即可导入,无需点击按钮
- 🔍 智能解析: 自动识别未授权访问和弱口令,无需手动标注
- 🔄 自动刷新: 实时更新连接状态
- 🎯 智能筛选: 按类型、IP、用户名、状态、消息内容筛选
- 📊 分页展示: 支持自定义每页显示数量
- 🖼️ 截图导出: 自动截取连接详情用于报告生成
🔌 支持的协议
数据库服务 (9种)
| 协议 | 默认端口 | 检测能力 | 特殊功能 | |------|---------|---------|---------| | Redis | 6379 | 未授权访问、弱口令 | 命令执行、数据读取 | | MySQL | 3306 | 弱口令 | 数据库查询 | | PostgreSQL | 5432 | 弱口令 | 数据库查询 | | SQL Server | 1433 | 弱口令 | 数据库查询 | | Oracle | 1521 | 弱口令 | 多服务名尝试 | | MongoDB | 27017 | 未授权访问、弱口令 | 数据库操作 | | Memcached | 11211 | 未授权访问 | 缓存读取 | | Elasticsearch | 9200 | 未授权访问 | API 调用、数据查询 | | Etcd | 2379 | 未授权访问 | 配置读取 |
文件传输服务 (4种)
| 协议 | 默认端口 | 检测能力 | 特殊功能 | |------|---------|---------|---------| | FTP | 21 | 未授权访问、弱口令 | 文件浏览、下载 | | SFTP | 22 | 弱口令 | 文件浏览、下载 | | SMB | 445 | 未授权访问、弱口令 | 共享浏览、文件下载 | | SSH | 22 | 弱口令 | 命令执行、文件操作 |
远程管理服务 (3种)
| 协议 | 默认端口 | 检测能力 | 特殊功能 | |------|---------|---------|---------| | RDP | 3389 | 弱口令 | 屏幕截图 | | VNC | 5900 | 未授权访问、弱口令 | 屏幕截图 | | WMI | 135 | 弱口令 | Windows 管理 |
消息队列服务 (3种)
| 协议 | 默认端口 | 检测能力 | 特殊功能 | |------|---------|---------|---------| | RabbitMQ | 5672 | 弱口令 | 消息队列操作 | | MQTT | 1883 | 未授权访问、弱口令 | 消息订阅发布 | | Kafka | 9092 | 未授权访问 | 消息队列操作 |
容器与编排服务 (2种)
| 协议 | 默认端口 | 检测能力 | 特殊功能 | |------|---------|---------|---------| | Docker | 2375 | 未授权访问 | 容器管理、命令执行 | | Kubernetes | 8080/10250 | 未授权访问 | Pod 管理、命令执行 |
其他服务 (4种)
| 协议 | 默认端口 | 检测能力 | 特殊功能 | |------|---------|---------|---------| | Zookeeper | 2181 | 未授权访问 | 配置读取 | | ADB | 5555 | 未授权访问 | Android 设备管理 | | JDWP | 8000 | 未授权访问 | Java 调试 | | RMI | 1099 | 未授权访问 | Java 远程调用 |
🏗️ 技术架构
后端技术栈
- 语言: Go 1.22+
- 框架: Wails v2.11
- 数据库: SQLite (modernc.org/sqlite - 纯 Go 实现)
- 协议库:
- Redis: go-redis/redis
- MySQL: go-sql-driver/mysql
- PostgreSQL: lib/pq
- MongoDB: mongo-driver
- SSH: golang.org/x/crypto/ssh
- Docker: docker/docker/client
- Kubernetes: k8s.io/client-go
- 等 25+ 种专用客户端库
前端技术栈
- 框架: Vue 3.4 (Composition API)
- 语言: TypeScript 5.2
- UI 库: Ant Design Vue 4.0
- 构建工具: Vite 4.5
- 状态管理: Pinia 2.1
- 图标: Ant Design Icons
- 截图: html2canvas
项目结构
MPET/
├── backend/ # 后端 Go 代码
│ ├── app.go # Wails 应用主类
│ ├── config/ # 配置管理
│ │ └── config.go # 配置加载和保存
│ ├── handlers/ # 请求处理器
│ │ ├── command.go # 命令执行处理
│ │ ├── connection.go # 连接管理处理
│ │ ├── file.go # 文件操作处理
│ │ ├── import.go # 导入处理
│ │ ├── proxy.go # 代理配置处理
│ │ └── report.go # 报告生成处理
│ ├── models/ # 数据模型
│ │ ├── connection.go # 连接模型
│ │ └── vulnerability.go # 漏洞信息模型
│ ├── parsers/ # 结果解析器
│ │ ├── csv.go # CSV 解析器
│ │ ├── fscan.go # Fscan 1.8.4 解析器
│ │ ├── fscan21.go # Fscan 2.1.1 解析器
│ │ └── lightx.go # Lightx 解析器
│ └── services/ # 业务逻辑
│ ├── connector.go # 连接服务核心
│ ├── database.go # 数据库操作
│ ├── logger.go # 日志服务
│ ├── report.go # 报告生成服务
│ ├── vulnerability.go # 漏洞信息服务
│ └── connectors/ # 协议实现
│ ├── service.go # 连接器注册
│ ├── redis.go # Redis 连接器
│ ├── mysql.go # MySQL 连接器
│ ├── docker.go # Docker 连接器
│ ├── kubernetes.go # Kubernetes 连接器
│ └── ... (25+ 协议实现)
├── frontend/ # 前端 Vue 代码
│ ├── src/
│ │ ├── assets/ # 静态资源
│ │ │ └── icons/ # 服务图标
│ │ ├── components/ # 组件
│ │ │ ├── TitleBar.vue # 自定义标题栏
│ │ │ ├── FTPFileBrowser.vue # FTP 文件浏览器
│ │ │ ├── DockerShellModal.vue # Docker Shell 弹窗
│ │ │ └── VulnerabilityModal.vue # 漏洞信息管理
│ │ ├── composables/ # 组合式函数
│ │ │ ├── useConnections.ts # 连接管理
│ │ │ ├── useCommand.ts # 命令执行
│ │ │ ├── useImport.ts # 导入功能
│ │ │ ├── useProxy.ts # 代理配置
│ │ │ ├── useReport.ts # 报告导出
│ │ │ └── ...
│ │ ├── stores/ # 状态管理
│ │ │ └── theme.ts # 主题管理
│ │ ├── utils/ # 工具函数
│ │ │ ├── constants.ts # 常量定义
│ │ │ ├── formatters.ts # 格式化工具
│ │ │ └── parsers.ts # 解析工具
│ │ ├── views/ # 页面
│ │ │ └── Home.vue # 主页面 (1500+ 行)
│ │ ├── App.vue # 根组件
│ │ └── main.ts # 入口文件
│ └── wailsjs/ # Wails 自动生成
├── data/ # 数据目录
│ └── connections.db # SQLite 数据库
├── reports/ # 报告输出目录
├── config.json # 配置文件
├── example.csv # CSV 示例文件
├── app.go # Wails 应用入口
├── main.go # 主程序
├── wails.json # Wails 配置
└── go.mod # Go 依赖
🚀 快速开始
环境要求
- Go: 1.22 或更高版本
- Node.js: 18.0 或更高版本
- pnpm: 8.0 或更高版本
- Wails CLI: v2.11 或更高版本
安装 Wails CLI
# macOS/Linux
go install github.com/wailsapp/wails/v2/cmd/wails@latest
# Windows
go install github.com/wailsapp/wails/v2/cmd/wails@latest
克隆项目
git clone https://github.com/onewinner/MPET.git
cd MPET
安装依赖
# 安装 Go 依赖
go mod download
# 安装前端依赖
cd frontend
pnpm install
cd ..
开发模式
# 启动开发服务器(支持热重载)
wails dev
构建应用
# Windows (64位)
wails build -platform windows/amd64
# Linux (64位)
wails build -platform linux/amd64
# macOS (通用二进制)
wails build -platform darwin/universal
# macOS (ARM64 - Apple Silicon)
wails build -platform darwin/arm64
# macOS (AMD64 - Intel)
wails build -platform darwin/amd64
构建完成后,可执行文件位于 build/bin/ 目录。
📖 使用指南
1. 添加连接目标
方式一:手动添加
- 点击顶部工具栏的 "添加" 按钮
- 在弹出的对话框中:
- 选择服务类型(自动填充默认端口)
- 填写 IP 地址
- 填写端口(可选,使用默认端口)
- 填写用户名(可选,留空尝试未授权访问)
- 填写密码(可选)
- 点击 "测试连接" 按钮验证配置
- 点击 "确定" 保存并自动开始连接测试
方式二:扫描工具结果导入
MPET 支持自动识别和导入主流扫描工具的结果文件,无需手动转换格式。
支持的工具:
-
Fscan 1.8.4
- 格式:
[+] Redis:192.168.1.100:6379 unauthorized - 格式:
[+] MySQL:192.168.1.101:3306 root:password123 - 自动识别未授权访问和弱口令
- 格式:
-
Fscan 2.1.1
# ===== 漏洞信息 ===== 127.0.0.1:9200 elasticsearch admin/123456 192.168.1.100:6379 redis 未授权- 自动解析漏洞信息部分
- 支持
/分隔的用户名密码格式
-
Lightx
[2025-12-14 21:00:31] [Plugin:MySQL:SUCCESS] MySQL:127.0.0.1:3306 root/root [2025-12-14 21:00:32] [Plugin:Redis:SUCCESS] Redis:192.168.1.100:6379 未授权访问- 自动识别 Plugin 标记
- 支持时间戳和状态标记
导入步骤:
- 点击顶部工具栏的 "导入" 按钮
- 选择扫描工具的结果文件(.txt 或 .csv)
- 系统自动识别文件格式并解析
- 自动导入并开始批量测试
智能识别特性:
- ✅ 自动识别未授权访问(无用户名密码)
- ✅ 自动提取弱口令(用户名/密码)
- ✅ 自动去重(相同目标只导入一次)
- ✅ 自动标准化服务类型名称
- ✅ 支持多种分隔符格式(
:,/, 空格)
方式三:CSV 批量导入
- 点击顶部工具栏的 "导入" 按钮
- 选择 CSV 文件(参考
example.csv) - 系统自动导入并开始批量测试
CSV 格式示例:
Type,IP,Port,User,Pass
Redis,192.168.1.100,6379,,
MySQL,192.168.1.101,3306,root,password123
SSH,192.168.1.102,22,admin,admin123
FTP,192.168.1.103,21,anonymous,
MongoDB,192.168.1.104,27017,,
Docker,192.168.1.105,2375,,
CSV 格式说明:
- Type: 服务类型(Redis、MySQL、SSH 等)
- IP: 目标 IP 地址
- Port: 目标端口
- User: 用户名(可选,留空表示未授权访问)
- Pass: 密码(可选)
方式四:剪贴板导入
- 复制符合 CSV 格式或扫描工具输出格式的文本到剪贴板
- 点击顶部工具栏的 "剪贴板导入" 按钮
- 系统自动解析并导入
方式五:拖拽上传 🎯
最便捷的导入方式:直接将文件拖拽到应用窗口即可!
- 将 CSV 或 TXT 文件拖拽到 MPET 窗口
- 出现蓝色拖拽提示遮罩
- 释放文件,系统自动识别格式并导入
支持的文件格式:
- ✅
.csv- CSV 格式文件 - ✅
.txt- Fscan/Lightx 结果文件
智能识别:
- 自动识别 Fscan 1.8.4、Fscan 2.1.1、Lightx 格式
- 自动区分未授权访问和弱口令
- 自动去重和标准化
2. 连接测试
- 单个测试: 点击连接列表中的 "重连" 按钮
- 批量测试:
- 勾选多个连接(或点击表头全选)
- 点击顶部工具栏的 "批量连接" 按钮
- 系统并发执行连接测试
3. 查看详情
- 点击连接列表中的 "详情" 按钮展开详细信息
- 详情面板包含:
- 连接信息: 服务类型、IP、端口、用户名、状态、消息等
- 连接日志: 实时显示连接过程的详细日志
- 执行结果: 显示命令执行结果或文件列表
- 命令执行: 支持 SSH、Docker、Kubernetes 等服务的命令执行
4. 特殊功能
FTP/SFTP/SMB 文件浏览
- 连接成功后,详情面板会显示文件浏览器
- 支持目录导航、文件下载
Docker 容器管理
- 连接成功后,点击 "容器 Shell" 按钮
- 选
Related Skills
node-connect
339.5kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
83.9kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
339.5kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
83.9kCommit, push, and open a PR
