一、lcx介绍
lcx是一个基于Socket套接字实现的端口转发工具,有Linux和Windows两个版本。比如说,当目标机器开放了3389端口,我们可以将目标机器的3389端口转发到我们自己的外网主机上的某个端口,然后我们在本地机访问外网主机的端口,进而在本地连接到目标机器的远程终端并进行管理。
二、准备
一个Socket隧道必须具备两端:
服务端(外网机):监听端口
客户端(目标机):传入服务端的ip地址和端口
这边我们使用vps(虚拟专用服务器)作为服务端。
三、具体步骤
- 目标机器
1、查看3389端口是否开放
这边端口是开放的
2、接下来使用如下命令,将目标机器上的3389端口的所有数据转发到公网vps的4444端口上
3、在终端创建用户名并设置密码(后面用于登录目标机器)
先创建用户:
再设置密码:
- 外网机器(VPS)
1、用xshell连上我们购买的vps,然后使用rz命令将lcx工具的压缩包上传到vps上,并使unzip命令解压
2、编译lcx
使用以下命令对lcx编译:
gcc -v linux_lcx.c -o lcx
3、在vps上开放所有端口
云服务器管理控制台->实例->安全组->配置规则->快速添加->全部
4、执行如下命令,将本机4444端口上监听的所有数据转发到本机的5555端口上
可能会遇到的错误:
这是因为权限不够
-bash: ./lcx: Permission denied
解决方案:
使用chmod指令修改文件权限即可:
chmod 777 lcx
777的含义:
权限可读(r)可写(w)可执行(x)的权限数值分别为4、2、1。rwx=4+2+1=7
777表示文件的所有者权限为7,同用户组的权限为7,其他非本地用户组的权限也为7,即所有用户都是可读可写可执行权限。
此时已经有了权限!
- 本地机
1、win+R输入mstsc打开远程连接,输入vps的IP地址和5555端口
2、选择连接,登录前面我们设置好的用户和密码
这样我们就连接上目标机器了!
PS:
本文就是想记录自己所学,如果能帮到大家那当然也很好啦~~
有些不对的地方也欢迎看到的大佬们给我指正哈哈哈哈哈!