我正在尝试将以下正则表达式合并到 snort 规则中,以检测出站 ICMP 流量中的 base64:
^-A-Za-z0-9+/=]|=[^=]|={3,}$
我自己没有写这个表达式,但是我测试了它,它似乎在 http://regexe.com/ 中工作得很好。
snort规则:
alert icmp $HOME_NET any -> $EXTERNAL_NET any (msg:“Base64 detected in outbound ICMP traffic (possible ICMP tunnelling!)";pcre"^-A-Za-z0-9+/=]|=[^=]|={3,}$";)
我知道 snort 使用 Perl 兼容的正则表达式,这可能会解释这种差异,但是我不够熟练,无法找出需要更改哪些内容来解决此问题。当我将此规则添加到
/etc/snort/rules/local.rules file
时,出现以下错误: ERROR: /etc/snort/rules/local.rules Line 8 => unable to parse pcre regex "^-A-Za-z0-9+/=]|=[^=]|={3,}$"
有谁可以帮忙吗?
问候,
我相信你错过了开头和结尾 \ 在 snort 签名中声明 pcre 所以它应该看起来像 pcre:"^[-A-Za-z0-9+/=]|=[^=]|={3, }$";