文章目录

内网代理搭建指南:轻松突破内网访问限制

由 满穗 发布

前言
在adwp或者adw赛制中当我们打进内网时(前提是打进去,这就不得不提ccb了😭),搭建代理是必不可少的一部分
介绍几种简单的方法

内网穿透
frp:
有公网ip的话可以试试frp
有时间补上(狗头)🐶

花生壳内网穿透
没有公网ip的话就直接使用花生壳吧。
官网:https://console.hsk.oray.com/forward
简单无脑一看就会。

端口转发:
使用iptable可以转发但是够简单,有没有简单又方便的方法的呢?
有的兄弟有的,那就是LCX简单的端口转发工具。
基本使用
-llisten 本地监听模式
lcx -listen <本地端口> <转发端口>  将本地端口的流量转发到本地的转发端口
-slave 远程转发模式
lcx -slave <本地IP> <本地端口> <远程IP> <远程端口>将本地端口的流量转发到远程ip
-tran 流量转发模式
lcx -tran <本地端口> <目标IP> <目标端口>将本地端口流量转发到目标端口,支持内网环境

内网隧道搭建
ssh:
ssh有点是方便,不要安装啥东西,直接就可以使用,但是弊端也很明显,只能一个端口一个端口的转发流量。
单层ssh隧道搭建

我们的机器只能访问外围主机,我们可以使用外围主机当跳板访问内网
在我们机器上运行
ssh -L 8085:172.2.136.5:80 ctfshow@pwn.challenge.ctf.show -p 28227
这里我们将可控 linux 服务器中172.2.136.5:80的流量转发到本地 windows 的 8085 端口上,然后就可以通过访问127.0.0.1:8085以访问172.2.136.5的web服务,流量转发过程为:
172.2.136.5:80->windows的80端口
多层ssh隧道搭建

不同内网之间没法直接相互通信,因此如果我们想用 windows 攻击机直接访问深层内网的 web 服务,需 要先在表层内网服务器和深层内网服务器之间建立隧道,然后再在 windows 攻击机和表层内网服务器之 间建立隧道,可以用 windows 攻击机直接访问到深层内网的 web 服务。
在表层内网服务器上运行:
ssh -L 9383:172.2.136.5:80 ctfshow@pwn.challenge.ctf.show -p 28227\
将深层内网中 172.2.136.5:80 的流量转发到表层内网服务器的 9383 端口上,然后在 windows 机器上运行:
ssh -L 8086:127.0.0.1:9383 root@vps_ip -p vps_port
将表层内网服务器中 127.0.0.1:9383 的流量转发到 windows 机器的 8086 端口上,流量转发的过程变为:
172.2.136.5:80->VPS:9383->windows的8086端口
将表层内网服务器中 127.0.0.1:9383 的流量转发到 windows 机器的 8086 端口上,流量转发的过程变为:
172.2.136.5:80->VPS:9383->windows的8086端口
然后我们就可以通过在本地访问 8086 直接访问深层内网中的 172.2.136.5 的web服务

Stowaway
目前有很多优秀的内网代理工具如 frp, nps 等,但是有些情况下,我们需要搭建多级网络代理,直达目标内网深处。而目前 frp,nps 等工具在搭建多级代理时操作过去复杂不便于管理。
而 Stowaway 工具就是需要解决这一问题。Stowaway 是一个利用 go 语言编写、专为渗透测试工作者制作 的多级代理工具,用户可使用此程序将外部流量通过多个节点代理至内网,突破内网访问限制,构造树状节点网络,并轻松实现管理功能

它不仅仅是 linux 对 linux,win 对 win 还可以 win 对 linux,我最喜欢的就是这个,简单无脑
towaway一共包含两种角色,分别是:
admin 代表控制端
agent 代表被控端

admin:
  -l /被动模式下的监听地址[ip]:
  -s 节点通信加密密钥,所有节点(admin&&agent)必须一致
  -c 主动模式下的目标节点地址
  --proxy socks5代理服务器地址
  --proxyu socks5代理服务器用户名(可选)
  --proxyp socks5代理服务器密码(可选)
  --down 下游协议类型,默认为裸TCP流量,可选HTTP
agent:
  -l 被动模式下的监听地址[ip]:
  -s 节点通信加密密钥
  -c 主动模式下的目标节点地址
  --proxy socks5代理服务器地址
  --proxyu socks5代理服务器用户名(可选)
  --proxyp socks5代理服务器密码(可选)
  --reconnect 重连时间间隔(s)
  --rehost 端口复用时复用的IP地址
  --report 端口复用时复用的端口号
  --up 上游协议类型,默认为裸TCP流量,可选HTTP
  --down 下游协议类型,默认为裸TCP流量,可选HTTP
  --cs 运行平台的shell编码类型,默认为utf-8,可选gbk

单层隧道搭建

控制端配置
windows 使用被动模式,监听端口 8000,并对通信进行加密秘钥为 123。等待被控端的连接
windows_x64_admin.exe -l 192.168.125.134:8000 -s 123
windows_x64_admin.exe -l 8000 -s 123  #或者不指定ip默认监听0.0.0.0
被控端配置
在可控 linux 上执行,使用秘钥 123 连接控制端 8000 端口,并设置重连间隔时间,当控制端掉线时客户端 每隔8s重连控制端
./linux_x64_agent -c 192.168.125.134:8000 -s 123 --reconnect 8
此时客户端与控制端间搭建了一条socks隧道。
此时,admin端就可以控制

可以看到detail有一个节点
我们使用这个节点 use 0

建立socks隧道

在 windows 使用 proxifier 创建代理

创建代理规则

目标 ip 填目标靶机地址
在 linux 使用 proxychains 创建代理
我们需要修改 /etc/proxychains4.conf

修改成指定端口(这里是 windows 做 admin 就不演示)
成功访问内网

多层隧道搭建

在单层的基础上我们 use 0 之后继续使用监听

模式选择普通模式 1,2 是 iptables 重用模式,仅限 linux,3 是复用 socks 模式,这里没必要,要是是 docker 容器限制端口可以使用 3
继续在深层内网机器主动连接我们的 10000 端口
./linux_x64_agent -c ip:10000 -s 123 --reconnect 8
此时我们的admin又会上线二级代理机器,没环境就不复现了

我们 use 1 在创建socks

这是我们的 widows 就可以访问深层内网了在效仿 node0 配置代理就行
多级代理就可以了,速度稳定性都还可以


0条评论

发表评论