0x01 简介

lcx是一款端口转发工具,有三个功能:

  • 第一个功能将本地端口转发到远程主机某个端口上
  • 第二个功能将本地端口转发到本地另一个端口上
  • 第三个功能是进行监听并进行转发使用

Lcx使用的前提是在端口转发的时候需要一台公网服务器

Lcx程序多用于被控制计算机处于内网的时候,被控制机可能中了木马程序,虽然能够进行控制,但还是没有使用远程终端登录到本机进行管理方便,因此在很多情况下,都会想方设法在被控制计算机上开启3389端口,然后通过lcx等进行端口转发,进而在本地连接到被控制计算机的远程终端并进行管理和使用。在没有端口转发的情况下外网主机是不能直接连接内网主机的,但是lcx工具可以将内网主机(出入内网主机的需要能够ping通互联网)的某个端口抓发到外网的某个端口上面,这样的话处于外网的主机可以将映射到外网的端口再反弹到另一个外网的端口上面(用的最多的是3389),这样我们就可以直接远程连接反弹的端口就可以与内网主机进行通信。故内网已经打通,说实话lcx的工具如同在路由器上面做了端口转发。

0x02 Linux下lcx使用方法

linux下的工具名称为portmap

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

1.在外网中转服务器上运行:

./portmap -m 2 -p1 6666 -h2 118.*.*.2 -p2 7777

将本地7777端口上的服务转发到6666端口上

2.内网需要转发的机器上运行:

./portmap -m 3 -h1 127.0.0.1 -p1 22 -h2 118.*.*.2 -p2 6666

将本地22端口转发到外网机器上的6666端口

3.以上两个步骤就已经做好了端口转发,此时,我们通过连接外网服务器的7777端口就可以连接到那台内网主机的22端口

0x03 Windows下lcx使用方法

Windows下的工具名称为lcx

Usage:lcx-<listen|tran|slave> <option> [-log logfile]

-tran <等待连接的端口> <目标ip> <目标端口>  (端口映射)

-listen <监听slave请求的端口(对应slave 的第二个参数)> <等待连接的端口>  (端口转发)

-slave <你的ip> <监听端口(对应listen的第一个参数)> <目标ip> <目标端口>  (端口转发)

1.在外网中转服务器上运行:

lcx -listen 40050 10000

监听本地40050端口,同时将数据转发到10000端口

2.内网需要转发的机器上运行:

lcx -slave 1.1.1.1 40050 10.10.0.3 3389

将本地的3389端口转发到外网1.1.1.1的40050端口上

3.此时我们通过连接外网服务器的10000端口就可以连接到那台内网主机的22端口

0x04 使用示例

Lcx有它的局限性,比如原始版本不支持linux,不免杀等等,但lcx在某些特定的场合依然发挥着重要的作用。同样基于Socket协议。

4.1 基本用法

现在有这么一个环境,内网中有一台Web服务器,但是我们处于公网,所以无法访问该服务器。于是,我们可以在中间Web服务器上利用LCX进行端口转发,将内网Web主机的80端口转发到公网Web服务器的8080端口上,那么我们访问公网Web服务器的8080端口就相当于访问内网Web服务器的80端口。



公网web服务器的配置

lcx.exe -tran 8080 192.168.10.19 80  #将本地的8080端口转发到192.168.10.19的80端口

当我们访问公网服务器的8080端口时,就相当于访问内网服务器的80端口

4.2 LCX实现本地端口转发(Windows的场景)

我们现在拿到了一台主机的账号、密码和权限,现在想远程RDP连接该主机,该主机的3389端口只对内开放,不对外开放。所以,我们可以利用lcx进行本地端口的转发。将3389的流量转到33389端口上。



目标机的操作,将3389端口的流量转发给33389端口。

lcx.exe -tran 33389 127.0.0.1 3389

这个时候,只需要远程连接目标主机的33389端口即可。

4.3 LCX实现本地端口转发(Linux的场景)

我们现在拿到了一台主机的账号、密码和权限,现在想远程SSH连接该主机,该主机的22端口只对内开放,不对外开放。所以,我们可以利用lcx进行本地端口的转发。将2222的流量转到22端口上。



目标机的操作,将2222端口的流量都转发到22端口上



只需要远程连接目标主机的2222端口即可。

4.4 LCX实现SSH到内网主机(公网服务器是Windows)

现在我们有这么一个环境,我们获得了公网服务器的权限,并且通过公网服务器进一步的内网渗透,得到了内网主机的权限。拓扑图如下。

于是,我们还可以利用lcx来进行22端口的转发。

在公网windows服务器上的操作

lcx.exe -tran 2222 192.168.10.129 22
#意思就是将本地2222端口转发给192.168.10.129主机的22号端口



所以,我们ssh连接到公网服务器的2222端口即可

4.5 LCX实现SSH到内网主机(公网服务器是Linux)



首先,在VPS上进行下面操作。监听 2222 的流量,将其转发给 22222 端口。相当于正向代理

./lcx -m 2 -p1 22222 -h2 127.0.0.1 -p2 2222
#将本地2222端口的流量给本地的22222端口



在内网主机上操作,将22端口的流量转发到VPS(114.118.80.138)的22222端口。相当于反向代理

./lcx -m 3 -h1 127.0.0.1 -p1 22 -h2 114.118.80.138 -p2 22222
#将本地22端口的流量给114.118.80.138的22222端口

我们连接VPS的2222端口,就相当于连接了内网主机的22端口。

ssh root@114.118.80.138 2222
#连接到114.118.80.138的2222端口

0x05 参考链接

https://blog.csdn.net/stonesharp/article/details/56834347

https://blog.csdn.net/l957456849/article/details/81610648

https://blog.csdn.net/wyvbboy/article/details/61921773

https://blog.csdn.net/qq_36119192/article/details/84568266#LCX实现端口转发

[内网渗透]lcx端口转发的更多相关文章

  1. [内网渗透] MSF路由转发/网络代理

    这里只做记录,不做详解 0x01 路由转发 已经拿到一台公网服务器: 1.1 方法1 进到meterpreter的会话: route #查看路由信息 background退出当前会话,通过会话2,转发 ...

  2. 突破大文件上传 和内网ip的端口转发

    php上传大于2M文件的解决方法 2016年12月11日 :: katelyn9 阅读数 php上传大于2M文件的解决方法 如上传一个文件大于2m往往是上传不成功的解决方法: php.ini里查找 查 ...

  3. 3.内网渗透之reGeorg+Proxifier

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAxIAAAE2CAIAAAB6BDOVAAAgAElEQVR4Aey9Z5Aex3X327MRGVzkRH ...

  4. 内网渗透测试思路-FREEBUF

    (在拿到webshell的时候,想办法获取系统信息拿到系统权限) 一.通过常规web渗透,已经拿到webshell.那么接下来作重要的就是探测系统信息,提权,针对windows想办法开启远程桌面连接, ...

  5. metasploit渗透测试笔记(内网渗透篇)

    x01 reverse the shell File 通常做法是使用msfpayload生成一个backdoor.exe然后上传到目标机器执行.本地监听即可获得meterpreter shell. r ...

  6. Metasploit 内网渗透篇

    0x01 reverse the shell File 通常做法是使用msfpayload生成一个backdoor.exe然后上传到目标机器执行.本地监听即可获得meterpreter shell. ...

  7. 内网渗透 - 提权 - Windows

    MS提权 MS16- MS16- 提权框架 Sherlock 信息收集 ifconfig -a cat /etc/hosts arp -a route -n cat /proc/net/* ping扫 ...

  8. Linux内网渗透

    Linux虽然没有域环境,但是当我们拿到一台Linux 系统权限,难道只进行一下提权,捕获一下敏感信息就结束了吗?显然不只是这样的.本片文章将从拿到一个Linux shell开始,介绍Linux内网渗 ...

  9. 内网渗透 关于GPO

    网上有很多讲内网渗透的文章,但看来看去还是一老外的博客给力,博客地址:www.harmj0y.net/blog,看完就明白这里面的很多思路都非常好. 做内网时,有时会碰到目标的机器开防火墙,所有端口基 ...

随机推荐

  1. IOS - 总结下swift使用GCD 多线程(二)GCD和DispatchQueue

    1.前言  iOS中处理多核并发的技术有两种分别是:`Grand Central Dispatch`(以下简称`GCD`)和`NSOperationQueue`框架.iOS开发的老司机们在程序开发中处 ...

  2. jmeter用什么查看结果报告

    JMeter查看测试结果的方法很多,最常用的几种是:察看结果树.聚合报告.图形报表.邮件观察仪等.

  3. 第五周(web,machine learning笔记)

    2019/11/2 1.    表现层状态转换(REST, representational state transfer.)一种万维网软件架构风格,目的是便于不同软件/程序在网络(例如互联网)中互相 ...

  4. 移动端vue2.5去哪儿项目-常见问题整理

    一.项目中遇到的问题.难点及解决方式 1. 移动端开发中的1px边框问题,由于在不同设备屏幕上,可能会使得1px实际在移动端显示不是1px,怎么解决? 2. 移动端click点击事件,会延迟300ms ...

  5. 如何打包ANE

    来源:http://blog.sina.com.cn/s/blog_6471e1bb01012aql.html 首先先说一下打包ANE必须的部件: 1.ActionScript扩展库SWC 2.本机扩 ...

  6. Django:Python3.6.2+Django2.0配置MySQL 转载

    Django默认使用的数据库是python自带的SQLlite3,但SQLlite并不适用于大型的项目,因此我将数据库换成了MySQL,下面介绍下Django如何配置数据库... 我使用的版本是:Py ...

  7. 小程序canvas绘制倒计时

    如果本文对你有用,请爱心点个赞,提高排名,帮助更多的人.谢谢大家!❤ 如果解决不了,可以在文末进群交流. 效果展示: //广告倒计时 advTimeCountDown:function(advTime ...

  8. javascript_17-基本类型和引用类型

    基本类型 直接存储值 Number . String .Boolean undefined.null 引用类型 存储引用 -Object.Array.Date.函数 包装基本类型--引用类型 func ...

  9. Nginx 配置 HTTPS(多域名)

    平常开发要求比较低, 依然在用 HTTP, 但到了微信小程序就不行了, 腾讯和苹果都对 API 提出了 HTTPS 的要求. 尤其是苹果, 不仅要求 HTTPS, 还要求 TLS 协议版本要在 1.2 ...

  10. Cephfs 部署 创建 metadata 池 data池

    上一次部署了ceph分布式存储,接下来我们部署ceph的文件系统.Ceph文件系统至少需要两个RADOS池,一个用于数据,一个用于元数据. 创建metadata 池 后面数字表示 PG 和pgp数 c ...