8-4
约 577 字大约 2 分钟
2025-11-02
ICMP 隧道的流量特征
由于 ICMP 隧道将其他协议的数据“借壳上市”,它的流量行为和正常的 ping 命令有显著区别。以下是 ICMP 隧道的几个主要流量特征:
1. 非标准的ICMP数据载荷
- 正常流量:标准的
ping命令(ICMP echo request/reply)通常携带的数据载荷较小,通常为32或64字节,并且数据内容是可预测的,比如ABCDEFGHIJKLMNOPQRSTUVWXYZ等 - 隧道流量:ICMP 隧道的数据载荷大小会根据传输的数据量而变化,通常远大于正常的
ping载荷。这些载荷是经过编码和加密的,因此其内容是随机且不可读的
2. ICMP包类型和代码异常
- 正常流量:
ping命令使用的ICMP包类型是Echo Request(类型8)和Echo Reply(类型0) - 隧道流量:ICMP隧道可能会使用其他不常见的ICMP类型,例如
Timestamp Request(类型13)、Address Mask Request(类型17)等,或者使用不常见的ICMP Code来作为数据传输的标记
3. 高频、连续的ping请求
- 正常流量:用户手动
ping一个地址通常是短期的、低频的行为,比如几秒钟一次,持续几十次 - 隧道流量:为了维持稳定的通信,ICMP 隧道工具会高频率、连续地发送和接收 ICMP 包,其频率远超正常
ping行为,表现为一种持续不断的“心跳”模式
4. 异常的 ICMP ID 和 Sequence Number
- 正常流量:
ping命令的ID通常是随机生成的,Sequence Number则按顺序递增。在一次会话结束后,ID会改变 - 隧道流量:ICMP 隧道工具可能会自定义这些字段来传输数据,使其
ID和Sequence Number表现出非线性和不规则的模式,这在自动化分析中很容易被标记为异常
5. 传输方向和目的地址异常
- 正常流量:
ping命令通常是从内网主机到外网服务器,或者在内网中进行测试 - 隧道流量:恶意 ICMP 隧道流量会从内网主机流向外部攻击者控制的服务器,这在网络流向分析中是一个重要的异常点