基于bro的安全场景研究测试-ICMP隧道

前言

本次我们来研究以下ICMP隧道建立后可以从哪些特征中进行检测

准备工作

环境搭建参考:基于Ptunnel建立ICMP隧道

工作原理

通过关闭ICMP隧道服务端的ICMP响应功能,让ICMP隧道agent接管ICMP报文,两端把通讯数据包封装到ICMP报文的DATA字段中进行传输。
默认的windows ping包,DATA内容固定包含:abcdefghijklmnopqrstuvwabcdefghi,payload长度默认32字节
image
默认的linux ping包,DATA内容固定包含: !”#$%&’()*+,-./01234567,payload长度默认48字节
image
通过ICMP隧道传输SSH数据时如下图
image

问题1:一次隧道通讯是否会记录在一条flow中

建立一个超长隧道连接后发现,一次隧道通讯记录再一条flow中
image

检测方法

  1. 收集各系统的默认ping包大小,出现异常ping包(需要数据包层bro的日志层无法解决)
  2. 同一个主机窗口时间内出现多个不同大小的ping包(需要数据包层bro的日志层无法解决)
  3. 同一个主机窗口时间内出现大量ping包(需要数据包层bro的日志层无法解决)
  4. 一条ICMP flow持续时间超长且通讯数据较大