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多线程系列14 设计模式 Master-Worker
Master-Worker模式是常用的并行设计模式,可以将大任务划分为小任务,是一种分而治之的设计理念. 系统由两个角色组成,Master和Worker,Master负责接收和分配任务,Worker负 ...
- 相对于父元素的fixed定位的实现
问题描述 之前在项目中,遇到了一个场景,需要实现相对于父元素的fixed定位:在父元素内拖动滚动条时,"fixed"定位的元素不能滑动,在外层拖动滚动条时,父元素及父元素内的所有元 ...
- Python day 4
阅读目录 内容回顾: 流程控制: if分支结构: while循环控制: for循环(迭代器): ##内容回顾: #1.变量名命名规范 -- 1.只能由数字.字母 及 _ 组成 -- 2.不能以数字开头 ...
- Python12/11--盒子的显隐/布局/z-index/流式布局思想
1.盒子的显隐 display:none 在页面中不占位,采用定位布局后,显示隐藏都不会影响其他标签,不需要用动画处理时,一般用这个 opacoity : 0 在页面中占位,采 ...
- windows下安装QT并与visual studio 2017搭建开发环境
1.环境搭建 这里并不是说qt必须要和visual studio结合使用,不过用习惯了visual studio开发,继续使用可节省开发时间,并大大提供便利性. 关于安装过程这里不再详细赘述,软件下载 ...
- ubuntu16.04下使用navicat连接docker mysql5.7.20
摘要: 本文将介绍如何使用docker创建mysql容器,并使用navicat连接该mysql服务,最后提供一个navicat中文乱码问题的解决方案. docker的安装和使用在这里不再赘述,如果不是 ...
- [.net core学习] .net core中的Rijndael取代方法
The difference (in .NET) between Rijndael and AES is that Rijndael allows the block size to change, ...
- solr 高亮springdatasolr
@Autowired private SolrTemplate solrTemplate; @Override public Map<String, Object> search(Map ...
- 选项卡--原生js
比较基础的一个特效,毕业设计要做一些记录,就把这些都记下来吧,万一用到的时候忘了呢 function changeTab() { let navs = document.getElementsByTa ...
- MongoDB 字符串值长度条件查询
在实际项目中常常会有根据字段值长度大小进行限制查询,例如查询商品名称过长或过短的商品信息,具体的实现方式可能有多种,在此记录常见的两种实现 使用 $where 查询(性能稍逊一些) 1 2 3 4 5 ...