[Linux] SSH内网转发

Posted i-honey

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Linux] SSH内网转发相关的知识,希望对你有一定的参考价值。


有这样一个场景:
kali 内网虚拟机
CentOS7.3 阿里云外网机
本机win7 模拟受害者

11月份有爆出过Office的一个关于公式编辑器的漏洞(CVE-2017-11882),参考复现过程可以参考我的另一篇文章,通常为了验证漏洞,我们会在本地测试该漏洞是否确实可以利用。
我们在虚拟机测试的环境局限于内网,如果我想发给外网的一个朋友,他打开这个word文档,我就可以在kali机获取到一个session。

大致流程:
1.我们事先生成恶意word文档,并在kali下打开msf,监听4444端口,等待传入的连接
2.在kali机运行ssh反向连接4444端口到外网的一台阿里云机器1111端口
3.把恶意word文档发给朋友,朋友打开以后触发漏洞,会主动连接阿里云机器的1111端口,然后阿里云机器转发到内网kali的4444端口
4.kali接收到传入的连接,自动建立起了一个session,然后我们就可以session -i ID对朋友主机进行shell命令执行、屏幕截图、键盘记录等操作了

 

选项:

-R 1111(外网主机端口):localhost:80(本机80端口) [email protected]外网主机

-L 本地的ssh连接
-R 反向的ssh连接
-N 只连接远程主机,不打开shell
-f SSH连接成功后转入后台运行
-T 不为这个连接分配TTY

反向连接在建立之后只能使用kill命令来杀掉进程PID。


举例:
[email protected]:~# systemctr start nginx #先启动一个80端口的nginx测试,没有的话apt-get install nginx安装
[email protected]:~# sudo ssh -NfR 1111:localhost:80 [email protected] -p 22  #ssh反向连接
[email protected]‘s password: #输入密码


#在阿里云机器就会看到一个由sshd监听在1111端口的连接
[[email protected] ~]# netstat -tnlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1123/sshd
tcp 0 0 0.0.0.0:1111 0.0.0.0:* LISTEN 1918/sshd: root

 

现在在我们真实机器上访问 47.95.xxx.xxx:1111端口,就会访问到kali虚拟机内的nginx服务
http://47.95.xxx.xxx:1111

























以上是关于[Linux] SSH内网转发的主要内容,如果未能解决你的问题,请参考以下文章

linux之ssh隧道大法好(端口转发+内网映射)

SSH 内网端口转发实战

SSH 内网端口转发实战

Linux-SSH反向连接(内网穿透,打洞)

利用ssh转发功能做端口映射,实现内网穿透

利用SSH端口转发实现远程访问内网主机远程桌面 建立SSH转发