ssh流量转发
在内网中几乎所有的linux服务器和网络设备都支持ssh协议。一般情况下,ssh协议是允许通过防火墙和边界设备的,所以经常被攻击者利用。同时ssh协议的传输过程是加密的,所以我们很难区分合法的ssh会话和攻击者利用其他网络建立的隧道。攻击者使用ssh端口隧道突破防火墙的限制后,能够建立一些之前无法建立的TCP连接
SSH协议常用参数
-C 压缩传输,提高传输速度
-f 将ssh传输转入后台执行,不占用当前的shell
-N 建立静默连接(建立了连接,但是看不到具体的会话)
-g 允许远程主机连接本地用于转发的端口。
-L 本地端口转发
-R 远程端口转发
-D 动态转发(socks代理)
-P 指定ssh端口
常用命令
ssh -fCNg -L 7006:192.168.190.136:333 root@192.168.190.133 -p 22
本地端口转发
本地转发,即在本地启动端口,将本地的端口转发到远程主机的端口
80端口服务 访问本机7777端口即可
ssh -L 7777:192.168.1.154:80 root@192.168.1.154
远端转发
远端转发,它实现的功能和本地转发类似,只不过它是一种反向的代理
这样的话,我们的主机A是无法通过ssh连接到B主机,这里就要用到反向代理,在B主机上将本地的80端口反向代理到A主机的7777端口
ssh -R 7777:192.168.1.154:80 root@192.168.1.128
跳板转发
跳板转发,就是通过跳板机,转发内网的数据到公网的攻击机,绕过内网的限制
现在我们已经拿到了公网B主机的权限,接下就是横向渗透,入侵内网的C主机,C主机只允许内网的地址访问其80端口
这里,我们就可以拿B主机做跳板去通过B主机的内网IP去访问C主机的80端口
C主机不做防火墙限制
B主机上的防火墙要放行22端口
ssh -L 7777:10.0.0.7:80 root@192.168.1.154
socket代理
ssh -D 10.0.0.6:7070 root@127.0.0.1
主机C在内网,无法访问外网数据
我们可以将主机B作为代理服务器,在主机C的浏览器配置代理服务
在C主机上即可直接访问到192.168.1.0网段的主机的Web服务