频道栏目
首页 > 安全 > 网络安全 > 正文

SSH端口中转全攻略_基础篇

2015-07-28 09:55:16         来源:91Ri.org  
收藏   我要投稿

0x01  -L参数
命令:
ssh -L5432:host_A:12345 ApacheServer@host_B
作用:将本地机(客户机)的某个端口转发到远端指定机器的指定端口.
工作原理:本地机器上分配了一个 socket 侦听 port 端口(5432端口), 一旦这个端口上有了连接, 该连接就经过本地计算机与远程计算机host_B的安全通道转发出去, 此时本地主机与远程主机之间的通信是加密的。同时远程主机host_B和 host_A 的 hostport 端口(12345端口)建立连接,此时远程主机host_B与目标主机host_A的通信是没有加密的。
操作如下: 在远程主机用netcat监听12345端口,执行命令使远程主机的12345端口与本地的5432端口相连(注意操作的顺序问题,为了和下面的-R参数做区分)

这个时候telnet本地的5432端口,就相当于接到了远程主机的12345端口上:

应用场景一:
在本地主机上执行以下的命令,你想要访问受限网站staff.washington.edu,通过homer.u这台被你控制的主机进行中转:
ssh -L3210:staff.washington.edu:80 some-server
我们在浏览器上打开http://localhost:3210/corey/info.cgi 就相当于访问http://staff.washington.edu:80/corey/info.cgi
应用场景二:
你拿下了目标的一台业务系统的服务器,刚好这台服务器host_A能够与外网主机通信,也能访问内网主机host_B:
ssh -L3210:host_B:80 host_A
此时即可通过访问本地的3210端口来访问到目标机子上的80端口,便可以进行内网渗透了。
0x02  -D参数
命令:
ssh2 -L socks/3210 homer.u # if using commercial ssh2
ssh -2 -D 3210 homer.u # if using a recent OpenSSH
作用:充当本地soscks服务器
工作原理:指定一个本地机器 “动态的” 应用程序端口转发. 先 本地机器上分配了一个 socket 侦听 port 端口, 一旦这个端口上有了连接, 该连接就经过安全通道转发出去, 根据应用程序的协议可以判断出远程主机将和哪里连接..而且本地主机与远程主机之间的通信是加密的。浏览器设置socks代理:

成功突破GFW的限制:

应用场景:可以干什么不用我说了吧!
0x03  -R参数
命令:
ssh -R4567:localhost:80 some-server
作用:将本地端指定机器的指定端口转发到远程主机(服务器)的某个端口
工作原理: 远程主机上分配了一个 socket 侦听 port 端口, 一旦这个端口上有了连接, 该连接就经过安全通道转向出去, 同时本地主机和 host 的 hostport 端口建立连接.
操作如下:使用netcat在本地监听12345端口,在使用命令将本地12345端口反向连接到远程主机的5432端口上

此时Telnet远程主机的5432端口,即可连接到本地主机的12345端口上:

其实-R和-L参数的原理差不多,我手绘了一张图帮助大家理解一下(不要嫌丑啊,看懂就行):

        从上面的图可以看出,-R参数和-L参数的应用场景是一模一样的,区别有两点:第一是执行命令的地方,第二是中转主机的条件限制,中转主机一般就是我们在渗透中获得的“口子”(渗透的入口,一般是web业务应用系统),根据口子的条件限制,我们采用的中转方式也不同:
        -L参数使用于中转机能与外网直接相连,没有防火墙的限制,并且中转机有双网卡,能够直达内网。当然,这种情况在渗透中极其少见,一般遇到一台就偷笑了。(不过在更大型的网络结构中,找到具有双网卡的内网主机,往往是渗透的突破口)。
        我们经常与到的场景是,业务服务器部署在DMZ区,甚至部署在内网区域。通过路由器的端口映射将业务端口映射到外网供用户访问。拿到“口子”之后,中转主机具有内网IP。这个时候,-R参数就起作用了。通过反向连接,将内网的流量中转到外网的肉鸡上,然后再进行下一步的渗透攻击。
0x04  其他参数
-f Fork into background after authentication.
后台认证用户/密码,通常和-N连用,不用登录到远程主机。
-N Do not execute a shell or command.
不执行脚本或命令,通常与-f连用。
-C Enable compression.
压缩数据传输。
-g Allow remote hosts to connect to forwarded ports.
在-L/-R/-D参数中,允许远程主机连接到建立的转发的端口,如果不加这个参数,只允许本地主机建立连接。
 

相关TAG标签 全攻略 端口 基础
上一篇:一个用ADS(供选数据流)隐藏Windows后门的方法
下一篇:域名安全指数提高N倍的七个技巧
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站