ssh隧道的妙用
场景说明:
A主机和B主机在同一个园区网,A主机可以出公网,B主机不可以出公网。渗透工程师已经拿下A主机控制权。
一、如何在外网访问到B主机
方案:ssh本地端口映射
背景:当我们拿下A主机之后想和B主机通信,可以选择直接在A主机上进行操作,但这样会留下相关日志,增加了被发现的风险。此时可以通过ssh隧道直接在本机与B主机进行通信,既方便又不会留下痕迹。
工作原理:与A主机建立SSH隧道,并在本地侦听一个空闲端口,并将之映射至B主机指定端口即可。此时访问本地侦听的端口,流量实质将导入B主机指定端口,从而实现安全的访问B主机。

隧道建立命令: ssh -fNg -L 7001:172.20.163.135:22 root@172.20.163.136 -p 22
-L: 本地端口转发
-f: 后台运行进程
-N: 不执行登录shell
-g: 复用访问时作为网管,支持多主机访问本地侦听端口(即:如果不加此选项则7001端口只在127.0.0.1接口上侦听,加上此选项则7001端口在0.0.0.0接口上侦听)
7001: 在本地开启侦听的端口
172.20.163.135:22 : B主机及要连的端口
172.20.163.136: A主机
结果验证:ssh root@127.0.0.1 -p 7001 ====>此时将直接连到B主机的22端口
二、拿下B主机后如何让B主机出公网
背景:拿下B主机后想让B和公网主机C通信,怎么办?
方案: ssh远程端口映射
工作原理:与A主机建立SSH隧道,并在A主机侦听一个空闲端口,将此端口映射至C主机指定端口即可。此时B主机访问A主机侦听的端口,流量实质将导入C主机指定端口,从而实现B主机连接公网上任何一台主机。

隧道建立命令: ssh -fNg -R 7001:202.2.20.2:80 root@172.20.163.136 -p 22
-R: 远程端口转发
-f: 后台运行进程
-N: 不执行登录shell
-g: 复用访问时作为网管,支持多主机访问本地侦听端口(即:如果不加此选项则7001端口只在127.0.0.1接口上侦听,加上此选项则7001端口在0.0.0.0接口上侦听)(注意:不知道为什么远程端口转发时加参数g和没加一个样)
7001: 在A主机开启侦听的端口
172.20.163.135:22 : C主机及要连的端口
172.20.163.136: A主机
结果验证:ssh root@127.0.0.1 -p 7001 ====>此时将直接连到C主机的22端口
三、以上隧道只能建立点到点的隧道,如何建立点到多的隧道 =====> 亦是最简单的fanqiang方法(国外网络看成是远程内网)
背景:想建立一条隧道就可以访问远程内网里一片设备
方案:ssh动态端口映射
工作原理:与A主机建立SSH隧道,并在本地侦听一个空闲端口。此时公网主机设置socks代理为渗透者IP及其侦听的端口,流量实质将通过此端口流向远程内网任意地址。A主机将自动判断过来的流量该去哪。

隧道建立命令: ssh -fNg -D 7001 root@172.20.163.136 -p 22
-D: 动态端口转发
7001: 本地启动的socks代理端口
结果验证: 设置代理后浏览器访问'http://内网主机',即可访问其内部系统
ssh隧道的妙用的更多相关文章
- SSH隧道应用, 突破网络限制
文/怡文圣美 这篇文章可以帮你解决下面三个问题: 不能直连服务器, 要先登陆跳板机, 造成客户端工具无法连接服务器. 服务器没有公网IP, 且只允许公司IP访问, 要在家里操作要先远程桌面到工作机再登 ...
- ssh隧道(端口转发)
本地转发: ssh -Nf -L [bind_address:]port:host:hostport sshServer -Nf 后台运行 -L 本地转发 [bind_address] 绑定本地地址, ...
- 通过 SSH 隧道方式图形化连接 AIX 服务器
跳转到主要内容 登录 (或注册) 中文 [userid] IBM ID: 密码: 保持登录. 单击提交则表示您同意developerWorks 的条款和条件. 查看条款和条件. 需要一个 IBM ID ...
- ssh隧道技术
大家都知道SSH是一种安全的传输协议,用在连接服务器上比较多.不过其实除了这个功能,它的隧道转发功能更是吸引人.下面是个人根据自己的需求以及在网上查找的资料配合自己的实际操作所得到的一些心得. SSH ...
- 【转】三种不同类型的ssh隧道
转自:http://blog.creke.net/722.html 大家都知道SSH是一种安全的传输协议,用在连接服务器上比较多.不过其实除了这个功能,它的隧道转发功能更是吸引人.下面是个人根据自己的 ...
- SSH隧道技术----端口转发,socket代理
原文的原始出处不详,本文也是在复制引用了某篇转载,并做了必要的整理与编辑. 本文的受众 如果你遇到了以下问题,那么你应该阅读这篇文章 我听说过这种技术,我对它很感兴趣 我想在家里访问我在公司的机器(写 ...
- 公司内网Debian Server上的openvpnserver搭建并通过SSH隧道转发到广域网
因为戴维营公司在长沙的学员,研发人员和北京的研发人员须要协同研发,故须要让北京的兄弟们增加到长沙办公室的内网,訪问版本号 管理server,于是採用在内网server上搭建一个OpenVPN服务,并把 ...
- ssh隧道
最近有需求使用ssh隧道,顺便研究了下,以下记录一下大概说明 ssh隧道顾名思义在可以通过ssh连接的server之间建立加密隧道,常用于突破网络限制 常用三种端口转发模式:本地端口转发,远程端口转发 ...
- 配置SSH隧道访问Ubuntu服务器上的MongoDB
为了数据安全,在MongoDB的配置文件里,一般会把默认的27017端口port改为自定义的端口号,然后把允许访问的IP设为127.0.0.1(即主机本身).但是这样就会在开发的过程查看数据时带来麻烦 ...
随机推荐
- Java:内部接口
1.什么是内部接口 内部接口也称为嵌套接口,即在一个接口内部定义另一个接口.举个例子,Entry接口定义在Map接口里面,如下代码: public interface Map { interface ...
- 登录服务器失败 IP 统计和处理方法
一.登录ssh失败次数统计 1)错误的打开方式 awk '/Failed password/ {print $(NF-3)}' secure |sort -n |uniq -c|sort -n |ta ...
- Ubuntu Apache 不同端口监听不同站点
在/etc/apache2/apache2.conf 中,把项目根目录设置成默认的/var/www 不要设置在某个站点的路径下(我就是配置第一个站点时改了这里才会配置第二个站点时好久弄不出来) 在 / ...
- tabel表格的dom操作
对table表格的操作比较麻烦,一直字符串的连接会比较麻烦 var nod = cwgk_msg_list.insertRow();//这个是上边获取过的dom元素,一般是tbody的元素,对元素进行 ...
- 4k项目--PHY通道绑定的两种模式
1.通道绑定有两种模式: • PMA bonding• PMA and PCS bonding GT通道是不支持通道绑定的 2.PMA绑定 PMA绑定减少了PMA之间的通道之间的Skew.并且在PMA ...
- Android-Java-子类实例化过程(内存图)
案例一: package android.java.oop15; // 描述Person对象 class Person { // 构造方法就算不写 默认有一个隐式的无参构造方法:public Pers ...
- 将Linux(ubuntu)安装到U盘上,实现即插即用
说明: 本教程是说明如何将ubuntu系统安装到U盘上(也就是把U盘当做电脑的硬盘),可以实现U盘插到任何电脑上都能够在实体机上运行ubuntu系统,而且所有的运行配置都能被保存,相当于随身携带的一个 ...
- kubernetes集群搭建(2):docker私有仓库
kubernetes集群搭建(1):环境准备 中各节点已经安装好了docker,请确认docker已启动并正常运行 1.通过命令启动私库 docker run -d -p 5000:5000 --pr ...
- MyBatis核心接口和类
SqlSessionFactoryBuilder: SqlSessionFactoryBuilder负责构建SqlSessionFactory.它的最大特点是:用过即丢.一旦创建了SqlSession ...
- 初涉Java方法
初涉Java方法 方法就是一段可重复调用的代码段,方法命名规范,第一个单词小写,从第二个单词开始首字母均大写. 格式: public static 返回值类型 ...