28 lines
2.2 KiB
Markdown
28 lines
2.2 KiB
Markdown
### 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 隧道流量会从**内网主机**流向**外部攻击者控制的服务器**,这在网络流向分析中是一个重要的异常点 |