0

alert tcp $HOME_NET any -> $EXTERNAL_NET any (msg:"COMMUNITY BOT IRC Traffic Detected By Nick Change"; flow: to_server,established; content:"NICK"; nocase; offset: 0; depth: 5; flowbits:set, community_is_proto_irc; flowbits: noalert; classtype:misc-activity; sid:100000240; rev:3;)

alert tcp $EXTERNAL_NET any -> $HOME_NET any (msg:"COMMUNITY BOT Internal IRC server detected"; flow: to_server,established; flowbits:isset,community_is_proto_irc; classtype: policy-violation; sid:100000241; rev:2;)

alert tcp $HOME_NET any -> $EXTERNAL_NET any (msg:"CHAT IRC message from internal bot"; flow: 已建立; flowbits:isset,community_is_proto_irc; content:"PRIVMSG"; nocase; classtype:policy-violation; sid:1463; )

上述规则由David Bianco编写,用于跟踪任何 IRC 端口上的 IRC bot/server 活动。但是,上述规则工作正常,但我对它们有疑问。当多个 IRC 服务器(其中一些在 7000 上工作,另一些在 6667 上工作)在网络上运行时,我的问题发生了,其中一些将达到规则的条件,Snort 将生成警报,其中一些(甚至一个其中)不会达到这些条件,因此 Snort 不会生成与定义的集合相关的任何警报。我认为有一种不一致。关于这个问题有什么建议吗?我正在研究 Snort 2.8。

4

2 回答 2

3

这些 IRC 规则已经很老了,并且不会(如您所见)捕获所有 IRC 流量。几乎不可能说出为什么它们与网络捕获或跟踪不匹配。

第一条规则根据匹配流量的规则设置一个流位(基于从偏移量 0 到深度 5 的单词 'NICK' 的不敏感匹配),如果第一条规则与流量不匹配,那么它将不会t 将 flowbit 设置为“community_is_proto_irc”。这是关于 flowbits 的旧解释 - http://forums.snort.org/forums/rules/topics/flowbits

第二条规则只是在存在 flowbit 时发出警报(对于从外部到家庭的流量),而第三条规则在内容匹配时更加精细(并且流量反向)。

我建议为不匹配的 IRC 流量获取一个 pcap,并在本地通过 Snort 触发它,以查看遗漏了什么,然后相应地调整您的规则(snort -r test.pcap -c /etc/snort_test.conf) - http: //manual.snort.org/node8.html

于 2012-05-10T08:43:28.503 回答
0

感谢上帝,问题现在已经解决了......问题的原因是许多规则之间的冲突,这些规则试图同时为同一个活动触发(PRIVMSG),所以当我删除这些规则时,每个想法都只是对上述规则很好。

于 2012-06-02T15:55:56.093 回答