文章目录

  • 前言
  • 一、ICMP隧道概念
  • 二、复现前的准备工作&相关环境介绍
  • 三、复现步骤
  • 三、总结

前言

web搞太多了,发现csdn上面很少内网的内容,所以今天来整点内网的隧道技术,ICMP隧道。
由于网络上很多人用的是老工具Ptunnel,现在最新的是Pingtunnel了,所以我就打算用最新的Pingtunnel工具来做这个ICMP隧道技术实验。


提示:以下是本篇文章正文内容,下面案例可供参考

一、ICMP隧道概念

在一些网络环境中,如果不经过认证,TCP和UDP数据包都会被拦截。如果用户可以ping通远程计算机,就可以尝试建立ICMP隧道,将TCP数据通过该隧道发送,实现不受限的网络访问。用户需要在受限制网络之外,预先启动该工具建立代理服务器。再以客户端模式运行该工具,就可以建立ICMP隧道。为了避免该隧道被滥用,用户还可以为隧道设置使用密码。

一、imcptunnel可以将IP流量封装进ICMP的ping数据包中,旨在利用ping穿透防火墙的检测,因为通常防火墙是不会屏蔽ping数据包的。

二、请求端的ping工具会在ICMP数据包后面附加上一段随机的数据作为payload,而响应端则会拷贝这段payload到ICMP响应数据包中返还给请求端,用于识别和匹配ping请求。

三、在使用pingtunnel进行内网穿透时,客户端会将IP帧封装在ICMP请求数据包汇总发送给服务端,而服务端则会使用相匹配的ICMP响应数据包进行回复。这样子在旁人看来,网络中传播的仅仅只是正常的ICMP数据包。

二、复现前的准备工作&相关环境介绍

首先,先看网络拓扑图:

假设,主机A是黑客主机,A与B能通信,B与C能通信,但是A与C不能,这里我在主机C上放了一个hello文件,当访问它时,就会显示以下内容:

为了方便复现,我选择了3台kali系统的虚拟机来做测试,从左往右,分别代表拓扑图里的主机A、B、C。
访问C主机的80端口,hello文件,会出现
hello this is : 192.168.25.138
这些内容,而192.168.25.138就是C主机的ip地址。
所以到这里来做个小结:
kali_主机A(左边第一台):192.168.25.130
kali_主机B(左边第二台):192.168.25.137
kali_主机C(左边第三台):192.168.25.138

主机B成功访问C的80端口hello文件:

主机A则访问不到:

怎么样设置主机A不能访问主机C呢?下面的命令就是禁止主机A通过tcp协议来访问主机C的命令。
-s 参数后面的ip地址是主机A的地址

iptables -A INPUT -p tcp -s 192.168.25.130 -j DROP


查看当前防火墙策略:

iptables -L

清空还原默认的防火墙策略:

iptables -F


因为ICMP隧道的核心就是防火墙没有拦截ICMP协议,所以可以用ping命令来做测试,如果A能ping通C,则可以使用ICMP隧道。
各个主机之间的测试:
A与B(通):

B与C(通):

A与C(通):


三、复现步骤

由于三者之间都能ping通的,说明防火墙没有拦截ICMP协议。接下来就要用到ICMP协议的工具,pingtunnel
这个工具是github上面的项目,支持多种系统版本,只需要找到自己版本的下载就行:
https://github.com/esrrhs/pingtunnel/releases/tag/2.6

下载完成之后,就可以进行后续的操作了。
在主机B上执行:

./pingtunnel -type server -key 1234 #设置密码

-key参数后面跟的是密码,我设置的是1234

在主机A上执行:

pingtunnel.exe -type client -l :4455 -s 192.168.25.137 -t 192.168.25.138:80 -tcp 1 -key 1234 #监听本地的 4455 端口,发送到4455端口的流量将通过 ICMP 隧道转发到 47.244.96.168 服务器的 80 端口


所以所以所以,在执行完上面两条命令之后,在主机A上访问http://localhost:4455即可访问C的目标80端口。

nice!没毛病,这个时候加上hello文件试试:


完美。这样我们就突破了防火墙的限制,直接访问到了。


三、总结

隧道是一个非常有魅力的技术,无论是我刚学那会还是我现在做总结,两次给我的感觉都非常美妙,ICMP隧道是所有隧道里面最简单理解登录,后面我还会写一些dns的和其他协议的隧道,当做补充吧。


文章原创,欢迎转载,请注明文章出处: 【Pingtunnel工具-隧道技术】利用ICMP隧道技术进行ICMP封装穿透防火墙.。百度和各类采集站皆不可信,搜索请谨慎鉴别。技术类文章一般都有时效性,本人习惯不定期对自己的博文进行修正和更新,因此请访问出处以查看本文的最新版本。

【Pingtunnel工具教程】利用ICMP隧道技术进行ICMP封装穿透防火墙相关推荐

  1. recvfrom 无法接收 icmp 差错数据包_利用ICMP隧道技术实现C2通信

    本文为翻译文章,原文链接见文末.(翻译为脉搏首发) 一般来说,攻击者在行动过程中经常需要面对诸多的挑战,例如: 克服网络障碍(网络策略.分段等).在"隐形模式"下完成各项操作,这样 ...

  2. p71 内网安全-域横向网络传输应用层隧道技术

    数据来源 必备知识点: 1.代理和隧道技术区别? 代理:只是解决网络的访问问题(如:有些内网访问不到,可以用代理实现) 隧道:隧道不仅是解决网络的通信问题,更大的作用是绕过过滤,突破防火墙/入侵检测系 ...

  3. 内网渗透系列:内网隧道之ICMP隧道

    目录 前言 一.ICMP隧道技术 1.ICMP协议 (1)报文格式 (2)ping 2.ICMP隧道 (1)原理 (2)优缺点 二.ICMP隧道工具 1.icmpsh (1)源码 (2)用法 2.ic ...

  4. ICMP隧道通信原理与通信特征

    一 ICMP 隧道技术解析 ICMP协议 ICMP(InternetControl MessageProtocol)Internet控制报文协议.它是TCP/IP协议簇的一个子协议,用于在IP主机.路 ...

  5. 【内网安全-隧道技术】SMB、ICMP、DNS隧道、SSH协议

    前言: 介绍: 博主:网络安全领域狂热爱好者(承诺在CSDN永久无偿分享文章). 殊荣:CSDN网络安全领域优质创作者,2022年双十一业务安全保卫战-某厂第一名,某厂特邀数字业务安全研究员,edus ...

  6. 内网渗透-端口转发隧道技术

    文章目录 代理和隧道技术区别 隧道通信原理 常用的隧道技术 判断内网协议连通性 ICMP协议 TCP协议 telnet NC HTTP协议 curl Wget DNS协议 nslookup dig I ...

  7. 内网安全:隧道技术详解

    目录 隧道技术 反向连接技术 反向连接实验所用网络拓扑图及说明 网络说明 防火墙限制说明 实验前提说明 实战一:CS反向连接上线 - 拿下Win2008 一. 使用转发代理上线创建监听器 二. 上传后 ...

  8. 内网安全:初探隧道技术

    目录 防火墙必备知识 域控-防火墙组策略对象同步 域控 - 防火墙组策略不出网上线 MSF上线 CS - ICMP上线 注意:隧道技术是后渗透手段,是在已经取得权限后的手段 域控-组策略同步 防火墙必 ...

  9. 内网安全-隧道技术-防火墙限制协议绕过-文件传输

    隧道技术: 一种通过使用互联网络基础设施在网络之间传递数据的方式,包括数据封装. 传输和解包在内的全过程.使用隧道传递的数据(或负载)可以是不同协议的数据帧或包. 封装: 隧道协议将这些其他协议的数据 ...

最新文章

  1. python画直方图代码-python的pyecharts绘制各种图表详细(附代码)
  2. js正则贪婪模式_JavaScript正则表达式迷你书之贪婪模式-学习笔记
  3. ado filter 多条记录_江苏气动断料锯商家,多条锯_邢台富宇来机械厂
  4. windows container 踩坑记
  5. [转载]流行视频格式讲解
  6. [转载] 什么是Java中的自动拆装箱 integer
  7. laravel改代码没变化_菜鸡程序员是如何写代码的?
  8. 基于Spring Boot 的Blog开发
  9. java传文件到kafka_Java将CSV的数据发送到kafka的示例
  10. 最新WIN10系统封装教程2019系列(六)——常规软件安装
  11. matlabplot———散点图
  12. 彻底清理c盘空间,本人亲测有效--WinDirStat
  13. 借用计算机简谱,电脑编辑打印简谱之路怎么走——“电脑简谱助手”操作系列谈之二...
  14. 怎么简单的生成SSL证书
  15. 分享一个好的清理系统垃圾软件
  16. 深入解析设置磁盘写保护
  17. Linux常用指令<三>
  18. ev4加密视频转mp4工具使用教程
  19. 不同波特率传输时间计算
  20. 学计算机减肥,电脑瘦身(教你一分钟让电脑瘦身)

热门文章

  1. 出圈的盼盼,失去了年轻人
  2. dede php 里加nofollow,WordPress为标签添加nofollow属性
  3. 简单分享在微信公众号怎么制作砍价小程序
  4. chrome(谷歌浏览器) 取消打印预览
  5. 【如何成为SQL高手】第五关:select语句基本用法
  6. 【人工智能 Open AI 】我们程序员真的要下岗了- 全能写Go / C / Java / C++ / Python / JS 人工智能机器人
  7. mat java heap space_Memory Analyzer Tool定位Java heap space内存泄漏
  8. Egret游戏手Q平台接入问题整理
  9. sql语句 创建 查询 索引语句
  10. vue打包后更改js文件名称