1v4mp1r3/icmp-covert-channel-detector

GitHub: 1v4mp1r3/icmp-covert-channel-detector

一款防御性 Go CLI 工具,通过从 PCAP 文件中提取 ICMP 回显流量特征并与良性基线对比,检测潜在的隐蔽通道通信。

Stars: 0 | Forks: 0

# ICMP 流量隐蔽通道检测器 `icmpwatch` 是一款用于在 PCAP 文件中查找可疑 ICMP 模式的防御性 Go CLI 工具。 它从 ICMP 回显流量中提取可解释的特征,将其与静态阈值和可选的良性基线进行比较,并生成 JSON、Markdown 或终端报告。 该项目的范围限定于蓝队实验室流量和自有网络。它不实现针对实时系统的隧道传输、规避、绕过指令或数据包注入。 ## 功能 - 用于 IPv4 ICMP 回显流量的 PCAP 解析器。 - 流级别的特征提取: - payload 大小分布 - Shannon 熵 - 数据包时序规律性 - 独特 payload 比率 - 数据包量 - 基于已知良好 PCAP 的良性基线模型。 - 具有防御性建议的可解释评分。 - 合成的良性和可疑实验室 PCAP 生成器。 - JSON、Markdown 和紧凑表格报告。 ## 快速开始 ``` go build -o icmpwatch ./cmd/icmpwatch ./icmpwatch generate-lab --output-dir lab-fixtures ./icmpwatch baseline \ --input lab-fixtures/icmp-benign.pcap \ --output baseline.json ./icmpwatch analyze \ --input lab-fixtures/icmp-suspicious.pcap \ --baseline baseline.json \ --format markdown \ --output report.md ``` 可疑测试用例包含确定性的合成 ICMP payload,仅用于验证检测逻辑。它不是隐蔽通道的实现。 ## 表格输出示例 ``` input=lab-fixtures/icmp-suspicious.pcap packets=40 flows=1 findings=1 min_score=45 severity score packets avg_payload avg_entropy regularity flow high 100 40 256.0 7.14 1.00 10.10.1.25 -> 198.51.100.25 ``` ## 命令 ``` icmpwatch generate-lab --output-dir lab-fixtures icmpwatch baseline --input lab-fixtures/icmp-benign.pcap --output baseline.json icmpwatch analyze --input capture.pcap --baseline baseline.json --format table icmpwatch version ``` ## 检测模型 默认检测器会在一个流具备以下条件时提高评分: - 足够多的数据包以具备分析意义 - 较大的平均 ICMP payload - 较高的平均 payload 熵 - 高度规律的数据包间隔时间 - 大多为独特的 payload - 数据包量高于高数据包阈值 - 数值超出良性基线一定幅度 每项发现都包含原因和后续步骤,因此输出结果适合用于分诊记录或作品集报告。 ## 安全提示 请仅在有授权检查的流量上使用此工具。内置的生成器会创建用于测试检测逻辑的离线 PCAP 固定样本;它不会传输网络流量,也不提供防火墙绕过指导。 ## 开发说明 ``` go test ./... go vet ./... go build -o icmpwatch ./cmd/icmpwatch ``` ## 项目状态 MVP 已完成: - PCAP 固定样本和生成器。 - 针对熵、大小、时序和 payload 独特性的特征提取。 - 基于基线的异常评分。 - 可解释的 CLI 报告。 - 测试和 GitHub Actions CI。
标签:EVTX分析, Go, ICMP, PCAP分析, Ruby工具, 日志审计, 网络安全, 聊天机器人, 隐私保护, 隐蔽信道检测