freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

ICMP隧道通信原理与通信特征
2021-09-22 14:06:09
所属地 湖南省

一. ICMP 隧道技术解析

1.1 ICMP协议

ICMP(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。

主要概念有:

1.确认ip数据包是否成功到达目的地

2.通知源主机发送ip数据包丢失的原因

3.ICMP是基于IP协议工作的

4.ICMP只能作用于IPV4,IPV6下,使用ICMPv6

ICMP帧格式如下所示

news-2019120501(1).png

其中,类型和代码字段决定了ICMP报文的类型,如下图所示

news-2019120501(2).png

1.2 ICMP隧道技术原理

由于ICMP报文自身可以携带数据,而且ICMP报文是由系统内核处理的,不占用任何端口,因此具有很高的隐蔽性。

通常ICMP隧道技术采用ICMP的ICMP_ECHO和ICMP_ECHOREPLY两种报文,把数据隐藏在ICMP数据包包头的选项域中,利用ping命令建立隐蔽通道。

news-2019120501(3).png

进行隐蔽传输的时候,肉鸡(防火墙内部)运行并接受外部攻击端的ICMP_ECHO数据包,攻击端把需要执行的命令隐藏在ICMP_ECHO数据包中,肉鸡接收到该数据包,解出其中隐藏的命令,并在防火墙内部主机上执行,再把执行结果隐藏在ICMP_ECHOREPLY数据包中,发送给外部攻击端。

news-2019120501(4).png

简单的说就是,利用ICMP的请求和应答数据包,伪造Ping命令的数据包形式,实现绕过防火墙和入侵检测系统的阻拦。

1.3 ICMP隧道优缺点

优点:

1.防火墙对ICMP_ECHO数据包是放行的,并且内部主机不会检查ICMP数据包所携带的数据内容,隐蔽性高。

缺点:

1.ICMP隐蔽传输是无连接的,传输不是很稳定,而且隐蔽通道的带宽很低

2.利用隧道传输时,需要接触更低层次的协议 ,这就需要高级用户权限

二. ICMP隧道攻击实现以及流行工具展示

二. ICMP隧道攻击实现以及流行工具展示

这一工具简单并且便携。受控端(客户端)使用C语言实现。只能运行在目标Windows机器上,而主控端(服务端)由于已经有C和Perl实现的版本,而且之后又移植到了Python上,因此可以运行在任何平台的攻击者机器中。

2.1.1 icmpsh建立隧道及数据包分析news-2019120501(5).png

可以看到已经实现成功。

抓包,可以看到我们输入的命令

news-2019120501(6).png

2.2 icmptunnel

icmptunnel是通过创建虚拟网卡,将所有流量都经过这个虚拟网卡。即ICMP隧道

2.2.1 icmptunnel建立隧道及数据包分析

客户端主机上的所有用户流量都路由到虚拟网卡tun0。icmptunnel在此接口上侦听IP数据包。这些数据包封装在ICMP回显数据包中。

news-2019120501(7).png

建立ICMP隧道

news-2019120501(8).png

此时所有流量都通过虚拟网卡,即icmp隧道

news-2019120501(9).png

news-2019120501(10).png

2.3 ptunnel

ptunnel支持大多数具有libpcap的操作系统,从版本0.7开始,ptunnel也可以在Windows上编译

前提是需要装WinPcap

2.3.1 petunnel 建立隧道及数据包分析

news-2019120501(11).png

news-2019120501(12).png

使用命令建立ICMP隧道

news-2019120501(13).png

三. 检测icmp隧道通信特征

3.1 icmp会话中数据包的总数

一个正常的 ping 每秒最多只会发送两个数据包,而使用 ICMP隧道的浏览器在同一时间会产生大量 ICMP 数据包。

news-2019120501(14).png

3.2 隧道数据通常比较大

ICMP隧道 数据包中DATA 往往大于 64 比特

news-2019120501(15).png

3.3 请求包和响应包内容不一致

news-2019120501(16).png

news-2019120501(17).png

而正常的icmp数据包里,请求和回应部分数据是一致的

news-2019120501(18).png

news-2019120501(19).png

3.4 部分隧道工具会显示tun的标志

news-2019120501(20).png

学网安就来合天网安实验室

# web安全 # 系统安全 # 数据安全 # 网络安全技术
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录