内网渗透:端口转发(SSH隧道)

news2024/9/9 1:38:04

SSH:两台设备之间进行远程登录的协议(SSH本身就是一个隧道协议)

远程文件传输scp命令(scp是基于SSH的)

拓扑:

SSH隧道搭建的条件
1.获取到跳板机权限
2.跳板机中SSH服务启动
SSH端口转发分类:
静态端口转发:①本地端口转发 - 指的是将访问本地X端口的流量转发到其他主机
             ②远程端口转发 - 远程端口转发(Remote Port Forwarding)是通过SSH(Secure Shell)协议将远程服务器上的端口转发到本地主机的技术。

动态端口转发:动态端口转发可以把本地主机A上运行的SSH客户端转变成一个SOCKS代理服务器;动态转发就是不再进行转发端口的限制,而是去读取应用发起的请求;如(进行web访问,就将该流量转发到目标主机的80端口或443端口中;SSH访问就是将访问流量导向到目标主机的22号端口中)
不同类型转发的相关参数
-L: 本地端口转发
-R:远程端口转发
-D: 动态端口转发

ssh进行端口转发的通用参数

-C:压缩传输 (压缩-->文件的大小变小  ---->提升传输的速率)
-f:将SSH转入后台,不占用当前Shell
-N:静默连接
-g:允许远程主机连接本地进行端口转发

SSH隧道示意图

静态端口转发和动态端口转发都被封装到SSH隧道中,从外面看起来就像是使用SSH进行管理。

本地端口转发(在攻击主机上做)

步骤:

场景:在Kali中使用hydra工具对跳板机进行爆破获取跳板机的账号密码;需要注意的是:此时kali无法直接访问到目标主机,而跳板机可以直接访问到目标主机;这个时候就可以使用SSH进行端口转发;(爆破出跳板机账号密码后就可以在攻击主机kali中进行设置)

Kali 中输入:
ssh -CNfg -L 7788:10.10.10.134:3389 root@1.1.1.136
​
ssh -CNfg -L 本地的开放端口:目标主机IP:目标主机端口 跳板机用户名@跳板机IP

测试效果:

kali:攻击主机直接通过rdesktop命令访问本地的7777端口,即可连接到目标主机的3389端口
rdesktop 1.1.1.130:7777

其他端口也是同理;

远程端口转发(在跳板机上做)

ssh -CNfg 1.1.1.130:8888:10.10.10.134:3389 kali@1.1.1.130
​
ssh -CNfg 攻击主机IP地址:攻击主机的端口:目标主机的IP地址:目标主机的端口 攻击主机账户@攻击主机IP
​
将访问kali 8888端口的流量转发到目标主机的3389端口中

设置完成后可以发现kali主机上的8888端口开启

测试:

在kali中进行测试

需要注意:此时如果使用rdesktop 1.1.1.130(攻击主机):8888(流量转发端口)无法进行访问,因为该端口转发的方式为远程端口转发;
如果要访问正常则需要进行如下访问(这个小细节咱们不用去细究,只要记住在进行远程端口转发的时候我们在进行连接的时候要去连接本地回环网卡的相关端口即可)
rdesktop 127.0.0.1:8888 

动态端口转发:

动态端口转发就是一个socks5代理,封装在ssh隧道中;比较方便:只要一条命令,和配置相关代理选项即可让相关程序流量走代理
相关指令:
ssh -CNfg -D 12345 root@1.1.1.136
​
ssh -CNfg -D 本地socks5端口 跳板机用户@跳板机密码

如果要使用rdesktop进行验证则需要配置对应的proxychains4代理配置文件

指定本地12345端口为socks5代理端口

测试:
proxychains4 rdesktop 10.10.10.134
​
proxychain4 rdesktop $目标主机IP地址

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

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

相关文章

锁机制 -- 概述篇

锁机制 1、概述 ​  加锁是为了解决并发场景下,多个线程对同一资源同时进行操作,而导致同一线程多次操作出现结果不唯一的情况(一次操作包含多条指令)。结果不唯一发生的原因在于指令的错乱,前提条件是多线程环境及…

模版总结小全

BFS 最短步数问题 #include<iostream> #include<queue> #include<cstring> using namespace std;const int N 50; char g[N][N],d[N][N]; int dx[] {-1,0,1,0}; int dy[] {0,1,0,-1}; int n,m;int bfs(int x,int y){queue<pair<int,int> > q…

ardupilot开发 --- 坐标变换 篇

Good Morning, and in case I dont see you, good afternoon, good evening, and good night! 0. 一些概念1. 坐标系的旋转1.1 轴角法1.2 四元素1.3 基于欧拉角的旋转矩阵1.3.1 单轴旋转矩阵1.3.2 多轴旋转矩阵1.3.3 其他 2. 齐次变换矩阵3. visp实践 0. 一些概念 相关概念&am…

“论模型驱动架构设计方法及其应用”,软考高级论文,系统架构设计师论文

论文真题 模型驱动架构设计是一种用于应用系统开发的软件设计方法&#xff0c;以模型构造、模型转换和精化为核心&#xff0c;提供了一套软件设计的指导规范。在模型驱动架构环境下&#xff0c;通过创建出机器可读和高度抽象的模型实现对不同问题域的描述&#xff0c;这些模型…

自定义指令directive

一、在src目录下创建一个directive文件夹 test.ts文件存放创建的自定义指令&#xff0c;index.ts用于接收所有指令进行统一处理 二、编写自定义指令 // test.ts文件 export default {// 写个自定义指令mounted(el: any, binding: any) {console.log(el, binding, "&qu…

CC1利用链分析

分析版本 Commons Collections 3.1 JDK 8u65 环境配置参考JAVA安全初探(三):CC1链全分析 分析过程 我的Github主页Java反序列化学习同步更新&#xff0c;有简单的利用链图 首先看下CC1利用链的RCE利用点&#xff0c;在接口Transformer 接下来查看此接口的实现类&#xf…

将json对象转为xml进行操作属性

将json对象转为xml进行操作属性 文章目录 将json对象转为xml进行操作属性前端发送json数据格式写入数据库格式-content字段存储&#xff08;varchar(2000)&#xff09;Question实体类-接口映射对象QuestionContent 接收参数对象DAO持久层Mapper层Service层Controller控制层接收…

谈一下MySQL的两阶段提交机制

文章目录 为什么需要两阶段提交&#xff1f;两阶段提交流程&#xff1f;两阶段提交缺点&#xff1f; 为什么需要两阶段提交&#xff1f; 为了保证事务的持久性和一致性&#xff0c;MySQL需要确保redo log和binlog的同步持久化。MySQL通过“两阶段提交”的机制来实现在事务提交…

MyBatis第一节

目录 1. 简介2. 配置3. doing3.1 创建一个表3.2 打开IDEA&#xff0c;创建一个maven项目3.3 导入依赖的jar包3.4 创建entity3.5 编写mapper映射文件(编写SQL)3.6 编写主配置文件3.7 编写接口3.8 测试 参考链接 1. 简介 它是一款半自动的ORM持久层框架&#xff0c;具有较高的SQ…

【Kubernetes】搭建工具Kubeadm环境配置

架构&#xff1a;服务器采用Master-nodes&#xff08;3台&#xff09; Worker-nodes(2台) 一&#xff0c;服务准备工作 &#xff08;1&#xff09;在所有&#xff08;5台&#xff09;机器配置 主机名绑定&#xff0c;如下&#xff1a; cat /etc/hosts192.168.0.100 k8s-m…

【智能算法】决策树算法

目录 一、基本概念 二、工作原理 三、决策树算法优点和缺点 3.1 决策树算法优点 3.2 决策树算法缺点 四、常见的决策树算法及matlab代码实现 4.1 ID3 4.1.1 定义 4.1.2 matlab代码实现 4.2 C4.5 4.2.1 定义 4.2.2 matlab代码实现 4.3 CART 4.3.1 定义 4.3.2 mat…

leetcode-20-回溯-切割、子集

一、[131]分割回文串 给定一个字符串 s&#xff0c;将 s 分割成一些子串&#xff0c;使每个子串都是回文串。 返回 s 所有可能的分割方案。 示例: 输入: "aab" 输出: [ ["aa","b"], ["a","a","b"] ] 分析&…

springboot是否可以代替spring

Spring Boot不能直接代替Spring&#xff0c;但它是Spring框架的一个扩展和增强&#xff0c;提供了更加便捷和高效的开发体验。以下是关于Spring Boot和Spring关系的详细解释&#xff1a; Spring框架&#xff1a; Spring是一个广泛应用的开源Java框架&#xff0c;提供了一系列模…

Nosql期末复习

mongodb基本常用命令&#xff08;只要掌握所有实验内容就没问题&#xff09; 上机必考&#xff0c;笔试试卷可能考&#xff1a; 1.1 数据库的操作 1.1.1 选择和创建数据库 &#xff08;1&#xff09;use dbname 如果数据库不存在则自动创建&#xff0c;例如&#xff0c;以下…

ElementUI的基本搭建

目录 1&#xff0c;首先在控制终端中输入下面代码&#xff1a;npm i element-ui -S 安装element UI 2&#xff0c;构架登录页面&#xff0c;login.vue​编辑 3&#xff0c;在官网获取对应所需的代码直接复制粘贴到对应位置 4&#xff0c;在继续完善&#xff0c;从官网添加…

【工具分享】Nuclei

文章目录 NucleiLinux安装方式Kali安装Windows安装 Nuclei Nuclei 是一款注重于可配置性、可扩展性和易用性的基于模板的快速漏洞验证工具。它使用 Go 语言开发&#xff0c;具有强大的可配置性、可扩展性&#xff0c;并且易于使用。Nuclei 的核心是利用模板&#xff08;表示为简…

oracle 11g rac安装grid 执行root脚本add vip -n 。。。on node= ... failedFailed 错误处理

问题&#xff1a; CRS-4402: The CSS daemon was started in exclusive mode but found an active CSS daemon on node racdg1-1, number 1, and is terminating An active cluster was found during exclusive startup, restarting to join the cluster PRCN-2050 : The requ…

[OtterCTF 2018]Name Game

Name Game 题目描述&#xff1a;我们知道这个帐号登录到了一个名为Lunar-3的频道。账户名是什么&#xff1f;猜想&#xff1a;既然登陆了游戏&#xff0c;我们尝试直接搜索镜像中的字符串 Lunar-3 。 直接搜索 Lunar-3 先把字符串 重定向到 txt文件里面去然后里面查找 Lunar-3…

阐述Python:except的用法和作用?

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

C++特殊类设计单例模式...

文章目录 请设计一个类&#xff0c;不能被拷贝请设计一个类&#xff0c;只能在堆上创建对象请设计一个类&#xff0c;只能在栈上创建对象请设计一个类&#xff0c;不能被继承请设计一个类&#xff0c;只能创建一个对象(单例模式)单例模式&#xff1a;饿汉模式&#xff1a;懒汉模…