基于Gost工具的ICMP隐蔽隧道通信分析

VSole2023-02-02 10:11:10

近期,观成科技安全研究团队在现网中检测到了利用Gost工具实现加密隧道的攻击行为。Gost是一款支持多种协议的隧道工具,使用go语言编写。该工具实现了多种协议的隧道通信方法,例如TCP/UDP协议,Websocket,HTTP/2,QUIC,TLS等。

2022年11月,Gost更新了V3新版本,在新版本中新增了ICMP隧道功能。ICMP隧道是利用ICMP协议的Echo类型报文(ping命令所采用)进行数据传输,Gost在ICMP之上利用QUIC协议来实现安全可靠的数据传输,因此该ICMP隧道可以看作是QUIC-over-ICMP数据通道。QUIC协议是一种加密协议,所以该隧道也是一种加密隧道。

隧道原理分析

  隧道的搭建需要客户端和服务端两端,客户端负责接收socks5代理协议,解析后将数据封装成ICMP协议发送到服务端,服务端接收后解析成原始流量并转发。

图1:隧道示意图

ICMP隧道传输的数据,由两部分构成:MessageHeader和QUIC数据。MessageHeader的长度固定10个字节,前四个字节存放magicNumber,默认为固定字符串“GOST”,最后两字节存放后续载荷的长度。

图2:MessageHeader构成

  QUIC协议是一种基于UDP的低时延的互联网传输层加密协议,和TLS类似,使用加密握手来完成密钥交换。ICMP隧道中的QUIC数据是基于quic-go包实现的。

图3:QUIC实现

  在ICMP隧道的流量数据中,紧随MessageHeader之后,就是QUIC数据。隧道中传输的QUIC数据舍弃了QUIC协议的公共包头,直接传输QUIC协议的帧包。根据帧包的格式解析,第一个字节为帧类型,用来解释帧包的属性。下图流量中,帧类型为0xC3(11000011B),最高位“1”表示这是一个STREAM帧,用来进行数据传输。

图4:STREAM帧包

  下图数据包中的帧类型为0x4D(01001101B),最高两位“01”表示这是一个ACK帧,用来保证数据传输的可靠性。

图5:ACK帧包

  QUIC协议是一种加密协议,通过流量无法直接观察数据内容。但是从流量数据包的长度上看,ACK帧的长度远小于STREAM帧,而常规的ICMP协议的Echo类型报文数据长度往往都是相同的。

图6:数据包长度特征

总结

  利用Gost工具搭建ICMP隧道,攻击者可以将攻击流量隐藏在隧道之中,从而规避流量监测设备,大幅度降低被发现的可能性。目前,越来越多的攻击者利用ICMP、DNS等协议来实现隐蔽隧道加密通信,我们将会保持对此类工具的密切跟踪和研究。

通信icmp
本作品采用《CC 协议》,转载必须注明作者和本文链接
它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用ICMP协议主要提供两种功能,一种是差错报文,一种是信息类报文。标识符和序号字段分别是16 位的字段。对于标识符,应用程序执行期间送出的所有报文里填入相同的值。例如,icmptunnel会在所有的ICMP payload前添加”TUNL”标记来识别隧道。
隧道与端口转发
2021-11-18 08:26:13
如果想获得课程报名资格,请添加文末小助手微信咨询。查看是否禁止了出站ip或者禁止了出站端口或者禁止了出站协议。情况1:目标禁止出站ip如果目标主机设置了严格的策略,防火墙只允许目标内网机器主动连接公网指定的ip。这样的话,没法反弹shell。情况2:禁止出站端口Linux系统使用Linux系统自带命令探测出网端口。
近期,观成科技安全研究团队在现网中检测到了利用Gost工具实现加密隧道的攻击行为。
隐藏通信隧道技术常用于在访问受限的网络环境中或不受信任的网络中实现安全的数据传输。网络层:IPV6隧道、ICMP隧道、GRE隧道传输层:TCP隧道、UDP隧道、常规端口转发应用层:SSH隧道、HTTP隧道、HTTPS隧道、DNS隧道常规判断内网连通性的方法都有哪些?
ICMP协议通常用来测试网络通不通、主机可不可达、路由可不可用。宅男们打游戏时也常用来ping一下,看看延迟高不高,太高迅雷就得关一关了。 而网络攻击者通过ICMP协议,可以进行隧道传输,实现数据窃取,规避掉一些防火墙规则。 如何检测这种隧道?用传统的签名无法对抗负载加密,复杂的统计比对让检测引擎不堪重负,准确率也不高。 而基于ICMP常规的通讯数据和攻击时产生的畸形数据,利用信息熵来分析,
前言前段时间读了读徐哥的《内网安全攻防》,并复现了部分知识点,写篇文章记录下学习内容。但在大多数情况下,内网的环境存在多种边界设备以及入侵检测装置的限制,它们会对主机间或者内网与外网之间通信的流量进行检测,如果存在异常就会进行拦截,这无疑给内网渗透增加了难度,而隐藏通信隧道技术就是为了绕过各种边界设备的封锁,从而完成主机间或内网与外网之间的通信
当我们成功杀入内网并完成信息收集后,下一步要进行的就是判断内网的连通性(也就是各种各样的流量包能否出的去、进的来),隐藏通信隧道技术通常用于在访问受限的内网环境中完成内网之内、内网与公网之间安全、稳定的数据传输。
仿真结果表明Spam DIS攻击是一种非常严重的DoS攻击。这消耗了合法节点的能量资源,并最终导致合法节点无法通信并遭受拒绝服务。此处,等级用于表示节点相对于DODAG根相对于其他节点的位置。将父列表中所有节点中排名最小的节点选为首选父节点。否则,当收到不一致的DIO消息时,发送速率会增加。在这里,“请求的信息”选项用于节点从相邻节点请求DIO消息。
VSole
网络安全专家