前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >【神兵利器】内网渗透之SPP隧道构建

【神兵利器】内网渗透之SPP隧道构建

作者头像
Al1ex
发布2025-01-17 19:34:02
发布2025-01-17 19:34:02
8800
代码可运行
举报
文章被收录于专栏:网络安全攻防
运行总次数:0
代码可运行

项目介绍

SPP是一款简单强大的网络代理工具,它可以满足我们在攻防演练过程中的打隧道的基本需求(除去DNS协议),它具备以下特点:

  • 支持的协议:tcp、udp、rudp(可靠udp)、ricmp(可靠icmp)、rhttp(可靠http)、kcp、quic
  • 支持的类型:正向代理、反向代理、socks5正向代理、socks5反向代理
  • 协议和类型:外部代理协议和内部转发协议可以自由组合
工具使用
服务端类

a、启动Server,假设服务器是www.server.com,监听端口8888

代码语言:javascript
代码运行次数:0
复制
./spp -type server -proto tcp -listen :8888

b、可以同时监听多种类型的端口与协议

代码语言:javascript
代码运行次数:0
复制
./spp -type server -proto tcp -listen :8888 -proto rudp -listen :9999 -proto ricmp -listen 0.0.0.0

c、同时可以使用Docker

代码语言:javascript
代码运行次数:0
复制
docker run --name my-server -d --restart=always --network host esrrhs/spp ./spp -proto tcp -listen :8888

客户端类

a、启动TCP正向代理,将www.server.com的8080端口映射到本地8080,这样访问本地的8080就相当于访问到了www.server.com的8080

代码语言:javascript
代码运行次数:0
复制
./spp -name "test" -type proxy_client -server www.server.com:8888 -fromaddr :8080 -toaddr :8080 -proxyproto tcp

b、启动TCP反向代理,将本地8080映射到www.server.com的8080端口,这样访问www.server.com的8080就相当于访问到了本地的8080

代码语言:javascript
代码运行次数:0
复制
./spp -name "test" -type reverse_proxy_client -server www.server.com:8888 -fromaddr :8080 -toaddr :8080 -proxyproto tcp

c、启动TCP正向Socks5代理,在本地8080端口开启Socks5协议,通过Server访问Server所在的网络

代码语言:javascript
代码运行次数:0
复制
./spp -name "test" -type socks5_client -server www.server.com:8888 -fromaddr :8080 -proxyproto tcp

d、使用其他代理协议,需要修改client的proxyproto参数

代码语言:javascript
代码运行次数:0
复制
#代理udp
./spp -name "test" -type proxy_client -server www.server.com:8888 -fromaddr :8080 -toaddr :8080 -proxyproto udp

#代理rudp
./spp -name "test" -type proxy_client -server www.server.com:8888 -fromaddr :8081 -toaddr :8081 -proxyproto rudp

#代理ricmp
./spp -name "test" -type proxy_client -server www.server.com:8888 -fromaddr :8082 -toaddr :8082 -proxyproto ricmp

#代理上述三种
./spp -name "test" -type proxy_client -server www.server.com:8888 -fromaddr :8080 -toaddr :8080 -proxyproto udp -fromaddr :8081 -toaddr :8081 -proxyproto rudp -fromaddr :8082 -toaddr :8082 -proxyproto ricmp

e、Client和Server之间的内部通信,也可以修改为其他协议,外部协议与内部协议之间自动转换,例如

代码语言:javascript
代码运行次数:0
复制
#代理tcp,内部用rudp协议转发
./spp -name "test" -type proxy_client -server www.server.com:8888 -fromaddr :8080 -toaddr :8080 -proxyproto tcp -proto rudp

#代理tcp,内部用ricmp协议转发
./spp -name "test" -type proxy_client -server www.server.com -fromaddr :8080 -toaddr :8080 -proxyproto tcp -proto ricmp

#代理udp,内部用tcp协议转发
./spp -name "test" -type proxy_client -server www.server.com:8888 -fromaddr :8080 -toaddr :8080 -proxyproto udp -proto tcp

#代理udp,内部用kcp协议转发
./spp -name "test" -type proxy_client -server www.server.com:8888 -fromaddr :8080 -toaddr :8080 -proxyproto udp -proto kcp

#代理tcp,内部用quic协议转发
./spp -name "test" -type proxy_client -server www.server.com:8888 -fromaddr :8080 -toaddr :8080 -proxyproto tcp -proto quic

#代理tcp,内部用rhttp协议转发
./spp -name "test" -type proxy_client -server www.server.com:8888 -fromaddr :8080 -toaddr :8080 -proxyproto tcp -proto rhttp

f、也可以使用docker

代码语言:javascript
代码运行次数:0
复制
docker run --name my-client -d --restart=always --network host esrrhs/spp ./spp -name "test" -type proxy_client -server www.server.com:8888 -fromaddr :8080 -toaddr :8080 -proxyproto tcp
性能测试

使用benchmark/local_tcp目录的iperf脚本,在单机测试,在cpu跑满的情况下,测试最大带宽速度,代理协议是tcp,采用各种中转协议转发的结果如下:

使用benchmark/remote_tcp目录的iperf脚本,在多机测试,服务器位于腾讯云,客户端位于本地,测试最大带宽速度,代理协议是tcp,采用各种中转协议转发的结果如下:

免责声明

项目仅供进行学习研究,切勿用于任何非法未授权的活动,如个人使用违反安全相关法律,后果与本人无关

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-01-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 七芒星实验室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 工具使用
    • 服务端类
  • 性能测试
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档