Skip to content
Wireshark Wiki 中文翻译整理专题首页原始页面

Snort

Snort post-dissector 可以显示 pcap 文件中的哪些数据包匹配 snort alerts,以及 content 或 pcre 字段在载荷中的匹配位置。

它通过解析 snort config 中的规则来完成这一点,然后将 pcap 文件(如果 snort 使用较新版本的 libpcap 构建,也可以是 pcapng)中的每个数据包交给 Snort 运行,并记录发出的 alerts。它还支持读取以 TraceWrangler 使用的格式写入 packet comments 的 alerts(参见这篇博客文章)。

历史

该 post-dissector 最初是 2011 年 Google Summer of Code 项目——参见 https://honeynet.org/node/790

这份来自 Sharkfest EU 2016 的演示文稿讨论了该 post-dissector 以及它可能的用途。其中部分内容现在已经过时。

协议依赖

Snort 规则通常会指定它们只应在 TCP、UDP 或 ICMP 上匹配。

Wireshark

Snort dissector 可正常使用,并已使用多个版本的 Snort 2.9.x.y 进行测试。它已在 linux 下测试(可以工作,但可能需要以 root 身份运行)。它目前不能在 Windows 下工作(参见下方 Discussion section 中的说明)。作者尚未尝试在 Mac 上运行它。

首选项设置

  • Source of Snort alerts。默认值为 "From Nowhere"。还可选择 "From running Snort" 和 "From User Comments"(由 TraceWrangler 写入)。

  • 要运行的 Snort binary file 名称。它包含路径,并默认为常见的 Unix 或 Windows 默认值。

  • Configuration filename。Snort 使用 -c 选项加载的路径和配置文件。默认为常见平台默认值。文件名通常为 snort.conf

  • Show rule stats in protocol tree。启用后,将在任何 Snort 子树中以生成字段形式显示所找到的规则和 alerts 的统计信息。默认 FALSE。

  • Show alerts in expert info。默认 FALSE。

  • Try to show alerts in reassembled frames。如果它是之后被重组为上层 PDU 的 TCP segment,则不是在检测到 alert 的帧中显示 alert,而是改在该重组后的帧中显示 alert。默认 FALSE。

示例捕获文件

只有当配置和规则会导致 alert signatures 匹配数据包时,捕获文件才会产生 Snort alerts。

不过,如果使用免费提供的 Emerging-threats 或 Talos 规则,有些捕获文件会检测到 alerts。

TODO:从 Laura 的 lab kit 和 wiki captures 中寻找会产生有趣 alerts 的示例。

也可以从配置和规则创建人工 alerts——这是使用 rule2alert.py 完成的。TODO:给出从免费规则集创建的示例捕获文件链接。

显示过滤器

完整的 Snort 显示过滤器字段列表可以在显示过滤器参考中找到

仅显示基于 Snort 的流量:

 snort

捕获过滤器

捕获时不能直接过滤 Snort 协议。不过,如果使用简单的配置和规则集,可能可以按 IP 范围(例如匹配 $HOME_NET)、传输协议或端口号进行限制。

外部链接

  • snort 项目在这里

  • 对于从规则生成捕获文件,rule2alert 可能有用。在使用最近的标准规则快照进行测试时,需要几个简单补丁。

  • 这个视频演示了如何使用 Snort post-dissector,并讨论了它如何作为调查的一部分使用。

讨论

该 post-dissector 本身已经有用,但存在一些限制:

  • 目前不能在 Windows 下运行。观察到的问题是使用 g_spawn_async_with_pipes() 启动 Snort 失败。欢迎提供任何关于如何修复此问题的建议。
  • 尚未尝试在 live capturing 时使用,但这可能不是一个好主意,并且应假定它不起作用
  • 未使用 Snort 3 测试,也未尝试支持 Suricata。请注意,即使使用其他工具检测到 alerts,如果例如使用了 Emerging Threats 规则,也应该可以使用 Snort 运行同一组规则。

导入自 https://wiki.wireshark.org/Snort,时间为 2020-08-11 23:25:47 UTC

相关 Wireshark Wiki 页面

网络分析技术档案