原文:http://mp.weixin.qq.com/s?__biz=MzU4NTY4MDEzMw==&mid=2247484298&idx=1&sn=64a0821137994f36c6e9df51082e1194&chksm=fd8797e0caf01ef64ced1f23ad4f38ac1290ad043a957d6373bad97fa0808c86841f8e2a7e4b&scene=0&xtrack=1#rd

 

 

代理与端口转发

 

代理与端口转发

 

1、reGeorg:端口转发。是用于公网服务器只开放了80端口的情况。reGeorg是用 python 写的利用Web进行代理的工具,流量只通过 http 传输,也就是http隧道。reGeorg脚本的特征非常明显,很多杀软都会进行查杀。

现在有这么一个环境,我们获取到了位于公网Web服务器的权限,或者我们拥有可以往公网Web服务器web目录下上传任何文件的权限,但是该服务器开启了防火墙,只开放了80端口。内网中存在另外一台主机,这里假设内网存在一台Web服务器。然后,我们现在要将公网Web服务器设置为代理,通过公网服务器的80端口,访问和探测内网Web服务器的信息。

 

 

本地实验:DMZ主机IP:192.168.135.150(外网)和192.168.138.136(内网),内网主机:192.168.138.138

根据公网服务器网站是哪种脚本类型上传哪种类型的脚本。这里我搭建的是PHP网站,我就上传tunnel.nosocket.php脚本上去。

 

本地访问:上传成功

代理与端口转发

利用reGeorgSocksProxy.py建立一条隧道:

代理与端口转发

然后我们就可以利用一些代理工具ProxychainsProxifier来进行代理,访问web站点,也可以直接使用浏览器设置代理:

代理与端口转发

成功访问内网主机:

代理与端口转发

通信过程中的数据传递:

代理与端口转发

 

使用proxifier代理:(设置全局代理,所有软件全部都走代理出口)

首先设置代理服务器:

代理与端口转发

之后添加一个例外,将python除去,不然陷入死循环。

代理与端口转发

然后默认代理和本机全部走代理通道:

代理与端口转发

可以看到全部的网络流量都走的1080

代理与端口转发

再次访问:

代理与端口转发

 

代理与端口转发

这个时候因为代理都走的192.168.135.150这个主机(能上午),访问外网的速度变慢。

 

 

2、EarthWorm代理(EW)

EarthWorm是一套便携的网络工具,具有SOCKS5服务架设和端口转发两个核心功能。
EarthWorm能过够以正向、反向、多级级联等方式建立网络隧道。EarthWorm提供多个文件适用不同的操作系统!

代理与端口转发

该工具共有 6 种命令格式(ssocksdrcsocksrssockslcx_slavelcx_listenlcx_tran)。普通网络环境的正向连接命令是ssocksd,用于反弹连接的命令是rcsocksrssocks。其他命令用于多级级联网络环境。

 

正向连接:

ew传到对方服务器:bisadmin /transfer n  url  C:\ew.exe

开启正向代理:ssocksd

代理与端口转发

之后和前面一样,可以设置全局代理,也可以使用浏览器代理:

代理与端口转发

代理与端口转发

 

 

开启反向代理:

反弹SOCKS5服务器。这个意思是反弹到VPS端口8888然后我们在访问1080就可以访问到目标的内网了。就是将8888端口转发给VPS1080

先将ew上传到vps中,然后使用命令开启数据接收端口和转发端口:

代理与端口转发

将ew上传到目标主机,开启代理:rssocks

代理与端口转发

建立连接之后vps上会显示建立通道:

代理与端口转发

 

之后和前面差不多:

代理与端口转发

代理与端口转发代理与端口转发

 

通过全局代理的方式成功连接到192.168.138.138的数据库:

代理与端口转发

Navicat还支持最开始的HTTP代理隧道。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

关于LCX端口转发:

这个既可以进行本地端口转发,也可以直接进行内网的端口转发。

首先在目标服务器上传lcx:然后使用-slave命令,将192.168.138.138  80端口传输到VPS上

代理与端口转发

VPS执行listen命令本地转发一次:将8000的流量转发到100

代理与端口转发

这个是转发到VPS上,所以访问的IP地址是VPS的地址。

代理与端口转发

 

 

也可以通过-tran参数直接转向:注意这是在DMZ机器的本地转发,所有访问的IP是DMZ机器的。

代理与端口转发

 

代理与端口转发

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Netsh进行端口转发:netsh(Network Shell) 是一个windows系统本身提供的功能强大的网络配置命令行工具。自Windows XP开始,Windows中就内置网络端口转发的功能。任何传入到本地端口的TCP连接(IPv4IPv6)都可以被重定向到另一个本地端口,或远程计算机上的端口,并且系统不需要有一个专门用于侦听该端口的服务。

命令:

netsh interface portproxy add v4tov4 listenaddress=localaddress listenport=localport connectaddress=destaddress connectport=destport

 

代理与端口转发

代理与端口转发

 

首先关闭防火墙:

代理与端口转发

端口转发:

代理与端口转发

访问WEB服务的8080端口,就可以访问到内网主机:

代理与端口转发

代理与端口转发

删除端口映射:

代理与端口转发

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Iox转发:https://github.com/EddieIvan01/iox

  • 具有流量加密
  • 友好的命令行参数
  • 逻辑优化
  • UDP流量转发

 

代理与端口转发

 

代理与端口转发

代理与端口转发

代理与端口转发

 

 

 

 

一些实验:

代理与端口转发

可以看到,和lcx不一样的是,可以将两个端口之间的流量互转。

 

 

代理与端口转发

类似-tran参数,可以实现本地端口转发

 

 

 

内网端口转发,将内网主机80端口转发到DMZ主机的8080端口:

代理与端口转发

访问DMZ主机即可访问内网80端口,和-tran参数类似:

代理与端口转发

 

 

 

 

 

DMZ主机执行转发,将80端口转发到VPS的8080端口

代理与端口转发

VPS将8080端口转发到VPS的3308端口:

代理与端口转发

访问VPS的3308可以访问内网80端口。

这个就相当于lcx的-slave参数加-listen参数

 

 

 

 

 

 

Iox的proxy代理功能:

DMZ主机开启socket5代理:将流量转发到VPS的8080端口

代理与端口转发

 

VPS进行代理转发:

代理与端口转发

之后配置代理工具即可:

代理与端口转发

即可实现代理功能:

代理与端口转发

 

相关文章: