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(即主机本身).但是这样就会在开发的过程查看数据时带来麻烦 ...
随机推荐
- AX_Dialog
Dialog dialog = new Dialog("@SYS1052"); DialogField ...
- Python 语法提示vim配置
1. pydiction 2. 默认 Vim 7.xx以上版本 python_pydiction.vim -- Vim plugin that autocompletes Python code. c ...
- Spring AOP配置方式
AOP 面向切面编程,允许在 java 应用中的方法调用的前后做一些处理. 本文通过实例介绍两种主要的Spring AOP 配置方式:xml 方式配置,注解方式配置 XML 方式配置 1. 项目包类结 ...
- Mac could not read from remote repository
IDE clone数据的时候要使用SSH,不使用HTTPS,就解决了问题
- 无网情况下linux安装django
创建虚拟环境~/project/hanqin/django> virtualenv monitor2~/project/hanqin/django/monitor2> cd bin~/pr ...
- FileInputStream与FileOutputStreawm实现文件的加密与解密
- Dockerfile 构建容器
本文是最简单的Dockerfile教程,创建tomcat容器,并跑自己的java程序 首先需要准备几个东西 1.你的java web(test.war) 程序,最好打包成一个 war:(主要是没测试 ...
- 如何使用Visual Studio 2017调试.net库源代码
在Visual Studio 2017按如下步骤设置: 1.取消选中(工具 - >选项 - >调试 - >仅我的代码)复选框.2.确保设置了(工具 - >选项 - >调试 ...
- Android开发 - 掌握ConstraintLayout(一)传统布局的问题
在传统的Android开发中,页面布局占用了我们很多的开发时间,而且面对复杂页面的时候,传统的一些布局会显得非常复杂,每种布局都有特定的应用场景,我们通常需要各种布局结合起来使用来实现复杂的页面.随着 ...
- 你不知道的javascript读书笔记3
概述 这是我看<你不知道的JavaScript(中卷)>中关于类型检查的笔记,供以后开发时参考,相信对其他人也有用. typeof 我们知道js中有七种内置类型:undefined, nu ...