【发布时间】:2019-09-01 14:13:35
【问题描述】:
我正在尝试生成一些可以触发 snort 警报的跟踪,以测试 snort 的性能。但是有些规则中有一些pcre选项包含/R,我看不懂。
例如,一个snort规则pcre中有一个pcre选项:"/^(\x75|\x2d|\x2f|\x73|\xa2|\x2e|\x24|\x74)/sR",我不知道“R”是什么意思。我知道 "s" 是一个可以设置 PCRE_DOTALL 的 pcre 修饰符。但是“R”呢?也是修饰符还是别的什么?
我已经搜索了 pcre 文档,但没有发现“R”修饰符。所以我认为它不是修饰符。
这是一个示例规则,其中包含带有 /R 的 pcre 选项,我从 snort3 的社区规则中得到了这个规则。
alert udp $EXTERNAL_NET any -> $HOME_NET 138 ( msg:"OS-WINDOWS Microsoft Windows SMB unicode andx 无效的服务器名称共享访问”; 内容:“|11|”,深度 1;内容:“|00|”,距离 13; 内容:“|00|”,距离 0;内容:“|FF|SMB”,4以内,距离3; pcre:"/^(\x75|\x2d|\x2f|\x73|\xa2|\x2e|\x24|\x74)/sR"; byte_test:1,&,128,6,relative;内容:“u”,深度1,偏移量39; byte_jump:2,0,little,relative; byte_jump:2,7,little,relative; 内容:“|5C 00 5C 00|”,距离 2,nocase; pcre:!"/^([^\x5C\x00].|[\x5c\x00][^\x00])+\x5C\x00/sR"; 元数据:策略 max-detect-ips 丢弃;参考:cve,2010-0022; 参考:url,technet.microsoft.com/en-us/security/bulletin/MS10-012; 类类型:协议命令解码;西德:16403;版本:12; )
【问题讨论】: