我从https://rules.emergingthreats.net/open/snort-2.9.0/rules/emerging-web_server.rules
获得了这个wordpress登录强制规则提醒tcp $ EXTERNAL_NET any - > $ HTTP_SERVERS $ HTTP_PORTS(msg:“ET 检测到WEB_SERVER Wordpress Login Bruteforcing“; 流量:to_server,建立;内容: “/可湿性粉剂的login.php”; NOCASE; fast_pattern; http_uri;内容: “POST”; http_method; 内容: “日志| 3D |”; http_client_body;内容: “PWD | 3D |”; http_client_body;阈值:键入both,跟踪by_src,计数5,秒 60; CLASSTYPE:尝试,侦察; SID:2014020;启:3)
当我将其从“提醒”更改为“拒绝”时,我无法登录。 (它表示连接已重置)我不太明白规则的含义。 (据我所知,在记录时,它会在post / get方法中查找log或3d。查找client_body pwd 3d.reven-recon意味着,有人“探测”服务器)
当使用'reject'时,只有一个用户能够登录wordpress。其他三个用户在Chrome中"ERR_CONNECTION_RESET"
。
答案 0 :(得分:0)
该规则很可能写得不好,因此您在合法登录时会出现误报。该规则可能需要进行修改,以便它不会阻止合法的登录尝试,或者您应该将其保留为警报,并且只需调查每个警报以确定是否为重新尝试。
澄清此规则的目标:
内容:" /wp-login.php" ;; NOCASE; fast_pattern; http_uri;
这是在uri中寻找登录页面,即" http://example.com/wp-login.php"
内容:" POST&#34 ;; http_method;
这是在寻找POST方法,因此它将是对上述URL的发布请求。
内容:"登录| 3D |&#34 ;; http_client_body;
根据您的建议,这不是寻找内容" log"或者,当你在snort内容规则中垂直管道时,它意味着它正在寻找垂直管道内部的十六进制值。这实际上是在寻找内容" log ="因为3d是" ="当从十六进制转换为ascii时。您可以使用site like this one将十六进制转换为ascii。所以这基本上是在http客户端主体中寻找一个名为" log"。
的变量内容:" PWD | 3D |&#34 ;; http_client_body;
这是在寻找内容" pwd ="在客户机构内。
阈值是折旧的,不应该使用(应该使用detection_filter),但它只是确定何时生成警报。
该规则可能试图寻找那些试图获取有关服务器存储日志的信息的人,并且#34; pwd"通常是指"打印工作目录"并且日志将是日志文件,因此我猜测wordpress中存在某种漏洞,允许某人发送精心设计的请求,服务器将返回其当前目录及其登录的文件或类似的东西。
此内容或请求对于某些wordpress服务器可能很常见,因此您可能希望修改此规则,以便它不会查找也将出现在合法请求中的内容。
当您将此更改为拒绝时,snort会在此规则发出警报时发送重置数据包,这就是客户端在Chrome中收到重置消息的原因。