前面我们已经学习了ssh端口转发、防火墙端口转发、rinetd端口转发、nc端口转发、socat端口转发,今天我们来学习portmap 端口转发,portmap 是Linux下的LCX,那么自然先来回顾一下windows下的LCX:「ailx10:Lcx端口转发初探」,这个实验当初真的耗费很大心血,真的不容易,现在复习一遍,感觉非常简单,恐怕这就叫成长吧,

实验环境:

  • macos:192.168.199.206
  • kali:192.168.199.247
  • centos:192.168.199.236
  • win7:192.168.199.233

实验一:假借跳板机kali,访问内网centos的22端口

在kali上运行,将kali的7777端口指向centos的22端口



./portmap -m 1 -p1 7777 -h2 192.168.199.236 -p2 22



在macos上运行,访问跳板机kali的7777端口,就是访问内网centos的22端口



ssh 192.168.199.247 -p 7777





portainer 怎么创建volume_centos


非常简单,实验2和实验3其实和实验1目的一样的,是为了验证portmap 帮助文档中的3种模式,可以不用看


Socket data transport tool

by Sofia(www.vuln.cn)
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
Let me exit...all overd


实验二:假借跳板centos,访问内网kali的22端口

在centos上运行命令,打开6666端口和7777端口,6666端口是与内网kali通信,7777端口是与黑客macos通信


./portmap -m 2 -p1 6666 -h2 192.168.199.236 -p2 7777


在kali上运行命令,将内网kali的22端口和跳板机centos的6666端口进行捆绑


./portmap -m 3 -h1 127.0.0.1 -p1 22 -h2 192.168.199.236 -p2 6666


在macos上运行命令,连接跳板机centos的7777端口,就会经过跳板机centos的6666端口,流入内网kali的22端口


ssh 192.168.199.236 -p 7777


portainer 怎么创建volume_ssh_02


实验三:假借跳板centos、win7的3389端口,访问内网kali的22端口

在centos上运行命令,6666端口要和kali通信,3389端口要和macos通信


./portmap -m 2 -p1 6666 -h2 192.168.199.233 -p2 3389


portainer 怎么创建volume_ssh_03


在kali上运行命令


./portmap -m 3 -h1 127.0.0.1 -p1 22 -h2 192.168.199.236 -p2 6666


在macos上运行命令


ssh 192.168.199.236 -p 3389


最后莫名其妙的也成功了


portainer 怎么创建volume_linux_04


抓包发现,macos和win7没有任何通信


portainer 怎么创建volume_ssh_05


而我们设置的win7的3389端口,在这里变成了源端口,是macos和centos之间的通信,非常神奇


portainer 怎么创建volume_服务器_06


网络安全任重道远,洗洗睡吧~

切记:步骤1、2顺序不能反,否则实验不成功

1、在内网主机上运行,将跳板机4444端口和内网3389端口绑定到一起


Lcx.exe -slave 192.168.160.139 4444 127.0.0.1 3389


2、在跳板机(192.168.160.139)上运行,4444端口和内网通信,5555端口和黑客通信


Lcx.exe -listen 4444 5555


3、在攻击机上运行,感谢 @whywelive 在2021年7月的提醒


Lcx.exe -tran 6666 192.168.160.139 5555


4、攻击者访问自己的6666端口,就能访问内网的3389端口


portainer 怎么创建volume_centos_07


实际上,步骤3可以忽略,直接进入步骤4,访问跳板机的5555端口,就能访问内网的3389端口


portainer 怎么创建volume_ssh_08