《红蓝攻防对抗实战》九.内网穿透之利用GRE协议进行隧道穿透

前文推荐:

《红蓝攻防对抗实战》一. 隧道穿透技术详解
《红蓝攻防对抗实战》二.内网探测协议出网之TCP/UDP协议探测出网
《红蓝攻防对抗实战》三.内网探测协议出网之HTTP/HTTPS协议探测出网
《红蓝攻防对抗实战》四.内网探测协议出网之ICMP协议探测出网
《红蓝攻防对抗实战》五.内网探测协议出网之DNS协议探测出网
《红蓝攻防对抗实战》六.常规反弹之利用NC在windows系统执行反弹shell
《红蓝攻防对抗实战》七.常规反弹之利用NC在Linux系统执行反弹shell
《红蓝攻防对抗实战》八.利用OpenSSL对反弹shell流量进行加密
《红蓝攻防对抗实战》九.内网穿透之利用GRE协议进行隧道穿透

一.利用GRE协议进行隧道穿透

GRE协议是一种应用较为广泛的路由封装协议,用于将一种网络层协议PDU封装于任一种网络层协议PDU中,就像将一个盒子放在另一个盒子中一样。GRE是在网络上建立直接点对点连接的一种方法,目的是简化单独网络之间的连接。该协议经常被用来构造GRE隧道来穿越各种三层网络。下面讲一下如何利用GRE协议进行隧道穿透。
实验环境如图1-1所示,假设在内网信息收集中发现存活主机,通过漏洞获取到其主机的控制权限,并探测到其开放GRE协议,我们可以通过搭建GRE隧道的方式来进行内网穿透,具体实验环境如表1-1所示。

图1-1 GRE协议实验拓扑图

表1-1 GRE协议隧道穿透实验环境表

主机类型外网IP内网IPGRE隧道IP
VPS服务器47.94.168.41192.168.0.128192.168.5.1
Linux受控主机123.56.14.177172.16.0.1192.168.5.2

1)首先我们需要对VPS服务器和受控主机分别执行modprobe ip_gre命令来加载ip_gre模块,执行完毕后,我们再执行lsmod | grep gre命令确认是否已加载GRE协议模块,实验操作命令如图1-2所示。


图1-2 加载ip_gre模块

2)当上述ip_gre模块加载成功后,我们在VPS服务器中执行ip tunnel add tun1 mode gre remote 123.56.14.177 local 192.168.0.128命令来创建名为tun1的GRE隧道,之后通过执行ip link set tun1 up mtu 1400命令启动名为tun1的GRE隧道,此时已设定数据包最大的传输为1400字节,实验操作执行命令如图1-3所示。



图1-3 创建启动GRE隧道tun1

3)通过在VPS服务器中执行ip addr add 192.168.5.1 peer 192.168.5.2 dev tun1命令为VPS服务器创建配置双方互联IP地址,其中本端GRE隧道互联IP地址为192.168.5.1,对端GRE隧道互联IP地址为192.168.5.2,随后执行route add -net 172.16.0.0/18 dev tun1命令来创建一条到达Linux受控主机所属网段172.16.0.0/18的路由,最后通过执行echo 1 > /proc/sys/net/ipv4/ip_forward命令来开启路由转发功能,相关操作执行命令如图1-4所示。



图1-4 VPS侧GRE隧道配置操作执行命令

4)此时通过route -n命令来查看路由信息,如图1-5所示,可以到看到已配置的路由规则。


图1-5 VPS服务器侧GRE隧道路由信息

5)接下来我们执行类似操作,为Linux受控主机创建名为tun2的GRE隧道,之后通过执行ip link set tun2 up mtu 1400命令,启动名为tun2的GRE隧道,相关执行操作命令如图1-6所示。


图1-6 创建启动GRE隧道tun2

6) 同理,我们也需要在Linux受控主机侧执行ip addr add 192.168.5.2 peer 192.168.5.1 dev tun2命令来配置双方互联IP地址,其中本端GRE隧道互联IP地址为 192.168.5.2,对端GRE隧道互联IP地址为192.168.5.1,并执行route add -net 192.168.0.0/24 dev tun2命令来创建一条到达VPS攻击服务器所属网段192.168.0.0/24的路由,最后通过执行echo 1 > /proc/sys/net/ipv4/ip_forward命令来开启路由转发功能,相关操作执行命令如图1-7所示。



图1-7 Linux受控主机侧GRE隧道配置操作执行命令

7)通过在Linux受控主机中执行route -n命令来查看路由信息,如下图1-8所示,可以到看到已配置的路由规则。


图1-8 Linux受控主机侧GRE隧道路由信息

8)当完成以上配置后进行验证,在VPS服务器中对Linux受控主机的GRE隧道IP执行Ping操作,反过来在Gre2中进行相同验证操作。验证成功,证明GER隧道成功,如图1-9所示。


图1-9 GRE隧道连接测试成功

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

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

相关文章

mysql索引下推

文章目录 什么是索引下推索引下推优化的原理索引下推的具体实践没有使用ICP使用ICP 总结索引下推使用条件相关系统参数 什么是索引下推 索引下推(Index Condition Pushdown,简称ICP),是MySQL5.6版本的新特性,它能减少回表查询次数&#xff0…

界面组件DevExpress ASP.NET Core v23.1 - 进一步升级UI组件

DevExpress ASP.NET Core Controls使用强大的混合方法,结合现代企业Web开发工具所期望的所有功能。该套件通过ASP.NET Razor标记和服务器端ASP.NET Core Web API的生产力和简便性,提供客户端JavaScript的性能和灵活性。ThemeBuilder工具和集成的Material…

Java任意视频转MP4

Java任意视频转MP4 在做视频上传功能时候,用户可能上传不同类型的视频文件,导致需要特定播放器才能播放,为了解决视频格式统一问题需要把视频转码一下 ,转换成统一的MP4格式。我们直接使用第三方工具 FFmpeg FFmpeg介绍 FFmpeg…

遍历List集合和Map进行修改和删除报java.util.ConcurrentModificationException错误详解

一、异常产生 当我们使用foreach迭代一个ArrayList或者HashMap时,如果尝试对集合做一些修改操作(例如删除元素或新增),可能会抛出java.util.ConcurrentModificationException的异常。 javapublic static void main(String[] args)…

学习c#的第二天

目录 C# 基本语法 using 关键字 class 关键字 C# 中的注释 成员变量 成员函数 类的实例化 标识符 C# 关键字 C# 基本语法 C# 是一种面向对象的编程语言。在面向对象的程序设计方法中,程序由各种相互交互的对象组成。相同种类的对象通常具有相同的类型&…

山西电力市场日前价格预测【2023-11-12】

日前价格预测 预测说明: 如上图所示,预测明日(2023-11-12)山西电力市场全天平均日前电价为224.59元/MWh。其中,最高日前电价为434.30元/MWh,预计出现在18:00。最低日前电价为0.00元/MWh,预计出…

19、Flink 的Table API 和 SQL 中的自定义函数及示例(4)

Flink 系列文章 1、Flink 部署、概念介绍、source、transformation、sink使用示例、四大基石介绍和示例等系列综合文章链接 13、Flink 的table api与sql的基本概念、通用api介绍及入门示例 14、Flink 的table api与sql之数据类型: 内置数据类型以及它们的属性 15、Flink 的ta…

深度学习 python opencv 火焰检测识别 计算机竞赛

文章目录 0 前言1 基于YOLO的火焰检测与识别2 课题背景3 卷积神经网络3.1 卷积层3.2 池化层3.3 激活函数:3.4 全连接层3.5 使用tensorflow中keras模块实现卷积神经网络 4 YOLOV54.1 网络架构图4.2 输入端4.3 基准网络4.4 Neck网络4.5 Head输出层 5 数据集准备5.1 数…

Python调用pymysql组件MySQL存储过程无法得到返回参数

Python调用MySQL存储过程的返回参数 1. 问题描述 MySQL的存储过程如下,入口参数两个,出口参数1个: DELIMITER $$ create procedure pro_test_args(in a int ,in b int ,out t_num int) beginset t_num a * b;END $$通过Python调用mysql的…

python OrderedDict类(有序字典)

嗨喽~大家好呀,这里是魔王呐 ❤ ~! python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取 创建有序字典 import collectionsdic collections.OrderedDict() dic[k1] v1 dic[k2] v2 dic[k3] v3 print(dic)#输出:OrderedDict([(k1, v1), (…

C#中.NET 7.0不再支持ADO.NET,.NET Framwork依旧支持

目录 一、.NET 7.0框架下任何应用不再支持ADO.NET 二、.NET Framwork框架下Windows窗体应用支持ADO.NET 三、.NET 7.0不支持ADO.NET的真正原因 经过一阵折腾,终于可以确证C#中.NET框架不再支持用户通过ADO.NET的实体框架模型访问数据库,无论是.NET 7…

Rc与Arc实现1vN所有权机制

Rc与Arc实现1vN所有权机制 观察引用计数的变化一个例子多线程无力的Rc< T >Arc Rust所有权机制要求一个值只能有一个所有者&#xff0c;在大多数情况下&#xff0c;都没有问题&#xff0c;但是考虑以下情况&#xff1a; 在图数据结构中&#xff0c;多个边可能会拥有同一个…

C# .NET Core API Controller以及辅助专案

准备工作 Windows 10Visual Studio 2019(2017就有可以集中发布到publish目录的功能了吧)C#将方法封装(据说可以提高效率,就像是我们用的dll那种感觉新增专案作为我们API的辅助专案(作用类似dll&#xff0c;此处&#xff0c;你也可以在你自己的API专案里建文件夹&#xff0c;但…

MySQL---存储过程

存储过程的相关概念 是一组为了完成特定功能的sql语句的集合&#xff0c;类似于函数 写好了一个存储过程之后&#xff0c;我们可以像函数一样随时调用sql的集合。 复杂的&#xff0c;需要很多sql语句联合执行完成的任务 存储过程再执行上比sql语句的执行速度更快&#xff0c…

js 求数组中的对象某个属性和

可以直接看下效果 代码&#xff1a; <script>let list [{num: 1,price: 10,},{num: 2,price: 10,},{num: 3,price: 10,},{num: 4,price: 10,},]// for循环 求总数和 num的和let num 0for (let i 0; i < list.length; i) {num list[i].num}console.log(第一种&am…

学习c#的第三天

目录 C# 数据类型 值类型&#xff08;Value types&#xff09; 引用类型&#xff08;Reference types&#xff09; 指针类型&#xff08;Pointer types&#xff09; C# 类型转换 隐式类型转换 显式类型转换 类型之间的转换 - Convert 和 Parse Convert.ToInt32() 与 i…

AirTag追踪汽车

美国华盛顿特区&#xff0c;11月4日&#xff0c;在一项全新的抗击车辆盗窃的措施中&#xff0c;市长穆里尔•鲍泽签署了一项新计划&#xff0c;将向该市车辆盗窃频率较高的社区居民免费提供苹果AirTag追踪器。 AirTag是苹果公司推出的一款蓝牙跟踪设备&#xff0c;它依靠Findm…

从单体到微服务:使用Spring Boot构建事件驱动的Java应用程序

Spring Boot是Pivotal团队设计的一种微服务框架&#xff0c; 基于Spring开发&#xff0c;用于简化新Spring应用的初始搭建及开发过程&#xff0c;提升Spring 开发者的体验。它秉持“约定大于配置”的思想&#xff0c;集成了大量开箱即用的第三方库&#xff0c;支持绝大多数开源…

asp.net学院网上报销系统VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio

一、源码特点 asp.net学院网上报销系统是一套完善的web设计管理系统&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为vs2010&#xff0c;数据库为sqlserver2008&#xff0c;使用c#语言 开发 asp.net学院网上报销系统 应用技术…

基于飞浆resnet50的102分类

目录 1.数据预处理 2.数据导入 3.模型导入 4.批训练 5. 输出结果 6.结果参考 1.数据预处理 Ttransforms.Compose([transforms.Resize((250,250)),transforms.RandomCrop(size224),transforms.RandomHorizontalFlip(0.5),transforms.RandomRotation(degrees15),transforms.Color…