场景说明:
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隧道的妙用的更多相关文章

  1. SSH隧道应用, 突破网络限制

    文/怡文圣美 这篇文章可以帮你解决下面三个问题: 不能直连服务器, 要先登陆跳板机, 造成客户端工具无法连接服务器. 服务器没有公网IP, 且只允许公司IP访问, 要在家里操作要先远程桌面到工作机再登 ...

  2. ssh隧道(端口转发)

    本地转发: ssh -Nf -L [bind_address:]port:host:hostport sshServer -Nf 后台运行 -L 本地转发 [bind_address] 绑定本地地址, ...

  3. 通过 SSH 隧道方式图形化连接 AIX 服务器

    跳转到主要内容 登录 (或注册) 中文 [userid] IBM ID: 密码: 保持登录. 单击提交则表示您同意developerWorks 的条款和条件. 查看条款和条件. 需要一个 IBM ID ...

  4. ssh隧道技术

    大家都知道SSH是一种安全的传输协议,用在连接服务器上比较多.不过其实除了这个功能,它的隧道转发功能更是吸引人.下面是个人根据自己的需求以及在网上查找的资料配合自己的实际操作所得到的一些心得. SSH ...

  5. 【转】三种不同类型的ssh隧道

    转自:http://blog.creke.net/722.html 大家都知道SSH是一种安全的传输协议,用在连接服务器上比较多.不过其实除了这个功能,它的隧道转发功能更是吸引人.下面是个人根据自己的 ...

  6. SSH隧道技术----端口转发,socket代理

    原文的原始出处不详,本文也是在复制引用了某篇转载,并做了必要的整理与编辑. 本文的受众 如果你遇到了以下问题,那么你应该阅读这篇文章 我听说过这种技术,我对它很感兴趣 我想在家里访问我在公司的机器(写 ...

  7. 公司内网Debian Server上的openvpnserver搭建并通过SSH隧道转发到广域网

    因为戴维营公司在长沙的学员,研发人员和北京的研发人员须要协同研发,故须要让北京的兄弟们增加到长沙办公室的内网,訪问版本号 管理server,于是採用在内网server上搭建一个OpenVPN服务,并把 ...

  8. ssh隧道

    最近有需求使用ssh隧道,顺便研究了下,以下记录一下大概说明 ssh隧道顾名思义在可以通过ssh连接的server之间建立加密隧道,常用于突破网络限制 常用三种端口转发模式:本地端口转发,远程端口转发 ...

  9. 配置SSH隧道访问Ubuntu服务器上的MongoDB

    为了数据安全,在MongoDB的配置文件里,一般会把默认的27017端口port改为自定义的端口号,然后把允许访问的IP设为127.0.0.1(即主机本身).但是这样就会在开发的过程查看数据时带来麻烦 ...

随机推荐

  1. poj2240

    一个关于套利的题,就是判断是否有正环,我这里是用的SPFA,只要判断出来一种货币初始为1,最后变得大于1就代表是正环,要注意一下最后对vector的清空,当时从1开始清空,导致wa了两次,找了半天,尽 ...

  2. Java集合:ConcurrentHashMap原理分析

    集合是编程中最常用的数据结构.而谈到并发,几乎总是离不开集合这类高级数据结构的支持.比如两个线程需要同时访问一个中间临界区(Queue),比如常会用缓存作为外部文件的副本(HashMap).这篇文章主 ...

  3. web集成高德地图

    1.使用高德地图API需到官网添加一个Key,http://lbs.amap.com/dev/key/app 2.页面头引入 <div id="addressMap"> ...

  4. 10.22 tcpdump:监听网络流量

    [功能说明] tcpdump命令是一个截获网络数据包的包分析工具.tcpdump可以将网络中传送的数据包的“头”完全截获下来以提供分析.它支持针对网络层.协议.主机.端口等的过滤,并支持与.或.非逻辑 ...

  5. 从中央仓库下载所想要的jar包

    中央仓库地址:https://mvnrepository.com/ 这边我搜索一个commons-logging包作为例子: 点击下面第二个绿色的comons-logging进入这个页面: 一.win ...

  6. Paper | Contrast Limited Adaptive Histogram Equalization

    目录 1. 背景 1.1. 对比度和直方图均衡HE 1.2. HE的问题 1.3. AHE 1.4. 底噪问题 2. CLAHE 2.1. 效果展示 2.2. 算法格式和细节 论文:Contrast ...

  7. 为什么需要micro-service构建平台

    最近一直在做micro-service的开发平台建设.由于这是一个实验项目,目前所有工作都得靠自己操刀. 今天在总结用python开发一个web service时,偶有所得,这让我建设micro-se ...

  8. 使用 Navicate 连接 Oracle9i 数据库

    Navicat Premium 是一个可多重连接的数据库管理工具,它可让你以单一程序同時连接到 MySQL.SQLite.Oracle 及 PostgreSQL 数据库,让管理不同类型的数据库更加方便 ...

  9. Android精通教程-第一节Android入门简介

    前言 大家好,给大家带来Android精通教程-第一节Android入门简介的概述,希望你们喜欢 每日一句 If life were predictable it would cease to be ...

  10. OpenGL ES: 纹理采样 texture sample

    Sampler (GLSL) Sampler通常是在Fragment shader(片元着色器)内定义的,这是一个uniform类型的变量,即处理不同的片元时这个变量是一致不变的.一个sampler和 ...