<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Custom Vulnerability Object to detect Failed WordPress Logins in General Topics</title>
    <link>https://live.paloaltonetworks.com/t5/general-topics/custom-vulnerability-object-to-detect-failed-wordpress-logins/m-p/42898#M31491</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear Hari,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Making the scope Session is not appropriate - and doesn't work anyway :-)... In a session it would be expected that at some point a POST request for wp-login.php will be made, and at some point later in the session a 200 status will be issued (not necessarily as the direct result of a login, but precipitated by a later page request in the same session).&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 04 Aug 2014 10:19:25 GMT</pubDate>
    <dc:creator>SimonBlackler</dc:creator>
    <dc:date>2014-08-04T10:19:25Z</dc:date>
    <item>
      <title>Custom Vulnerability Object to detect Failed WordPress Logins</title>
      <link>https://live.paloaltonetworks.com/t5/general-topics/custom-vulnerability-object-to-detect-failed-wordpress-logins/m-p/42889#M31482</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm trying to stem the flood of wordpress brute force attacks coming into our network (we host a lot of WP sites). &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Detecting WP logins is relatively easy, by setting up a signature that looks for the regex wp\-login\.php in the http-req-uri-path context with the http-method = POST qualifier. I can now see all of the wp-login requests coming into our network.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;However, detecting a failed WP means also detecting the 200 response code from the web server (WordPress issues a 302 redirect upon sucessful login, a 200 upon failure).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have tried adding an extra AND condition to my signature which checks for http-rsp-code = 200 but it doesn't trigger. So...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Custom Vuln Signature:&lt;/P&gt;&lt;P&gt;Severity : Informational&lt;/P&gt;&lt;P&gt;Default Action : Alert&lt;/P&gt;&lt;P&gt;Direction : client2server&lt;/P&gt;&lt;P&gt;Affected System : server&lt;/P&gt;&lt;P&gt;Signature (Standard)&lt;/P&gt;&lt;P&gt;Scope : Transaction&lt;/P&gt;&lt;P&gt;Ordered Condition Match&lt;/P&gt;&lt;P&gt;Condition 1 : pattern-match http-req-uri-path ~= wp\-login\.php&lt;/P&gt;&lt;P&gt;Condition 2 : equal-to http-rsp-code == 200&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Why is this failing to work? Without Condition 2 it shows up all wp logins, but with Condition 2 it sees nothing. Help &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 31 Jul 2014 12:19:30 GMT</pubDate>
      <guid>https://live.paloaltonetworks.com/t5/general-topics/custom-vulnerability-object-to-detect-failed-wordpress-logins/m-p/42889#M31482</guid>
      <dc:creator>SimonBlackler</dc:creator>
      <dc:date>2014-07-31T12:19:30Z</dc:date>
    </item>
    <item>
      <title>Re: Custom Vulnerability Object to detect Failed WordPress Logins</title>
      <link>https://live.paloaltonetworks.com/t5/general-topics/custom-vulnerability-object-to-detect-failed-wordpress-logins/m-p/42890#M31483</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Simonblackler,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Could you please post your query to DEVCENTER, they might help you for your custom signature. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 01 Aug 2014 01:51:38 GMT</pubDate>
      <guid>https://live.paloaltonetworks.com/t5/general-topics/custom-vulnerability-object-to-detect-failed-wordpress-logins/m-p/42890#M31483</guid>
      <dc:creator>HULK</dc:creator>
      <dc:date>2014-08-01T01:51:38Z</dc:date>
    </item>
    <item>
      <title>Re: Custom Vulnerability Object to detect Failed WordPress Logins</title>
      <link>https://live.paloaltonetworks.com/t5/general-topics/custom-vulnerability-object-to-detect-failed-wordpress-logins/m-p/42891#M31484</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Simon,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We control wordpress logins in the following manner:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;force your web content management staff us only access the Wordpress login page from on the network (internal zone) and if they require it from of the network then require them to use a vpn solution.&amp;nbsp;&amp;nbsp; This then means that any wordpress login request from the internet is not desirable and can be blocked with the signature that just identifies the incoming request from the internet.&amp;nbsp; We have been doing this for over a year now with a lot of success.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Phil&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 01 Aug 2014 02:14:09 GMT</pubDate>
      <guid>https://live.paloaltonetworks.com/t5/general-topics/custom-vulnerability-object-to-detect-failed-wordpress-logins/m-p/42891#M31484</guid>
      <dc:creator>HITSSEC</dc:creator>
      <dc:date>2014-08-01T02:14:09Z</dc:date>
    </item>
    <item>
      <title>Re: Custom Vulnerability Object to detect Failed WordPress Logins</title>
      <link>https://live.paloaltonetworks.com/t5/general-topics/custom-vulnerability-object-to-detect-failed-wordpress-logins/m-p/42892#M31485</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks Phil, unfortunately this won't work - we are a web host and host thousands of wp sites - we need to block/reset incoming connections from external/public IP addresses that repeatedly fail to log into WP correctly.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 01 Aug 2014 14:00:45 GMT</pubDate>
      <guid>https://live.paloaltonetworks.com/t5/general-topics/custom-vulnerability-object-to-detect-failed-wordpress-logins/m-p/42892#M31485</guid>
      <dc:creator>SimonBlackler</dc:creator>
      <dc:date>2014-08-01T14:00:45Z</dc:date>
    </item>
    <item>
      <title>Re: Custom Vulnerability Object to detect Failed WordPress Logins</title>
      <link>https://live.paloaltonetworks.com/t5/general-topics/custom-vulnerability-object-to-detect-failed-wordpress-logins/m-p/42893#M31486</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The signature does look correct for the response code 200.&amp;nbsp; Can you do a packet capture on a failed login and confirm what the data looks like in the response?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 01 Aug 2014 23:14:19 GMT</pubDate>
      <guid>https://live.paloaltonetworks.com/t5/general-topics/custom-vulnerability-object-to-detect-failed-wordpress-logins/m-p/42893#M31486</guid>
      <dc:creator>pulukas</dc:creator>
      <dc:date>2014-08-01T23:14:19Z</dc:date>
    </item>
    <item>
      <title>Re: Custom Vulnerability Object to detect Failed WordPress Logins</title>
      <link>https://live.paloaltonetworks.com/t5/general-topics/custom-vulnerability-object-to-detect-failed-wordpress-logins/m-p/42894#M31487</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Simon,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Try making the scope as session instead of transaction.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Hari Yadavalli&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 01 Aug 2014 23:59:47 GMT</pubDate>
      <guid>https://live.paloaltonetworks.com/t5/general-topics/custom-vulnerability-object-to-detect-failed-wordpress-logins/m-p/42894#M31487</guid>
      <dc:creator>hyadavalli</dc:creator>
      <dc:date>2014-08-01T23:59:47Z</dc:date>
    </item>
    <item>
      <title>Re: Custom Vulnerability Object to detect Failed WordPress Logins</title>
      <link>https://live.paloaltonetworks.com/t5/general-topics/custom-vulnerability-object-to-detect-failed-wordpress-logins/m-p/42895#M31488</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Simon,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you look at the document located here: &lt;A href="https://live.paloaltonetworks.com/docs/DOC-5534"&gt;Creating Custom Threat Signatures&lt;/A&gt; in particular look at Example 4 located on page 45.&amp;nbsp; You can create a combination signature to detect brute force attempts with variables you can set (# of connection attempts in a time period) that will separate the valid users from those who are up to no good.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Phil&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 02 Aug 2014 01:34:27 GMT</pubDate>
      <guid>https://live.paloaltonetworks.com/t5/general-topics/custom-vulnerability-object-to-detect-failed-wordpress-logins/m-p/42895#M31488</guid>
      <dc:creator>HITSSEC</dc:creator>
      <dc:date>2014-08-02T01:34:27Z</dc:date>
    </item>
    <item>
      <title>Re: Custom Vulnerability Object to detect Failed WordPress Logins</title>
      <link>https://live.paloaltonetworks.com/t5/general-topics/custom-vulnerability-object-to-detect-failed-wordpress-logins/m-p/42896#M31489</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hey Steven, thanks for your reply. I captured the transaction - and here is the "Follow TCP Stream" output from Wireshark of the relevant packets...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;POST /wp-login.php HTTP/1.1&lt;/P&gt;&lt;P&gt;Host: www.sant-media.co.uk&lt;/P&gt;&lt;P&gt;Connection: keep-alive&lt;/P&gt;&lt;P&gt;Content-Length: 110&lt;/P&gt;&lt;P&gt;Cache-Control: max-age=0&lt;/P&gt;&lt;P&gt;Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Origin: &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://www.redacted.co.uk" rel="nofollow"&gt;http://www.redacted.co.uk&lt;/A&gt;&lt;/P&gt;&lt;P&gt;User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36&lt;/P&gt;&lt;P&gt;Content-Type: application/x-www-form-urlencoded&lt;/P&gt;&lt;P&gt;DNT: 1&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Referer: &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://www.redacted.co.uk/wp-login.php" rel="nofollow"&gt;http://www.redacted.co.uk/wp-login.php&lt;/A&gt;&lt;/P&gt;&lt;P&gt;Accept-Encoding: gzip,deflate,sdch&lt;/P&gt;&lt;P&gt;Accept-Language: en-GB,en-US;q=0.8,en;q=0.6&lt;/P&gt;&lt;P&gt;Cookie: wordpress_test_cookie=WP+Cookie+check&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;log=admin&amp;amp;pwd=xxxxxx&amp;amp;wp-submit=Log+In&amp;amp;redirect_to=http%3A%2F%2Fwww.redacted.co.uk%2Fwp-admin%2F&amp;amp;testcookie=1&lt;/P&gt;&lt;P&gt;HTTP/1.1 200 OK&lt;/P&gt;&lt;P&gt;Server: nginx&lt;/P&gt;&lt;P&gt;Date: Mon, 04 Aug 2014 09:36:41 GMT&lt;/P&gt;&lt;P&gt;Content-Type: text/html; charset=UTF-8&lt;/P&gt;&lt;P&gt;Transfer-Encoding: chunked&lt;/P&gt;&lt;P&gt;Connection: keep-alive&lt;/P&gt;&lt;P&gt;X-Powered-By: PHP/5.3.28&lt;/P&gt;&lt;P&gt;Expires: Wed, 11 Jan 1984 05:00:00 GMT&lt;/P&gt;&lt;P&gt;Cache-Control: no-cache, must-revalidate, max-age=0&lt;/P&gt;&lt;P&gt;Pragma: no-cache&lt;/P&gt;&lt;P&gt;X-Frame-Options: SAMEORIGIN&lt;/P&gt;&lt;P&gt;Set-Cookie: wordpress_test_cookie=WP+Cookie+check; path=/&lt;/P&gt;&lt;P&gt;Content-Encoding: gzip&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The actual Hex dump of the POST and the response (respectively) are:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Wireshark has no difficulty seeing this transaction and correctly decodes the Status Code as 200 in the analysis frame at the bottom of the window.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I can only assume that there is a bug in PAN OS or this is by design (i.e. unable to mix req and rsp contexts in a single signature)?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A class="jive-link-external-small" href="https://dl.dropboxusercontent.com/u/247153/FileChute/Screenshot-20140804-1111.png" rel="nofollow"&gt;https://dl.dropboxusercontent.com/u/247153/FileChute/Screenshot-20140804-1111.png&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 04 Aug 2014 10:12:32 GMT</pubDate>
      <guid>https://live.paloaltonetworks.com/t5/general-topics/custom-vulnerability-object-to-detect-failed-wordpress-logins/m-p/42896#M31489</guid>
      <dc:creator>SimonBlackler</dc:creator>
      <dc:date>2014-08-04T10:12:32Z</dc:date>
    </item>
    <item>
      <title>Re: Custom Vulnerability Object to detect Failed WordPress Logins</title>
      <link>https://live.paloaltonetworks.com/t5/general-topics/custom-vulnerability-object-to-detect-failed-wordpress-logins/m-p/42897#M31490</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks for your reply - I have read that document backwards and forwards several times, trying to see if I'm missing something obvious &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Unfortunately, the approach highlighted in the example is too simplistic. It is quite possible that an IP address might log into numerous WP sites legitimately. Web designers in particular are a customer group we don't want to annoy by being overly zealous. As we are a web host, we have a LOT of legitimate WP login requests. We already block clear cases of abuse using a similar combination signature, but a lot of attacks are characterised by a handful of failed logins from an IP every hour - not enough to trigger the combination signature, but still a problem, especially when we have several hundred IPs exhibiting similar behaviour.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 04 Aug 2014 10:17:14 GMT</pubDate>
      <guid>https://live.paloaltonetworks.com/t5/general-topics/custom-vulnerability-object-to-detect-failed-wordpress-logins/m-p/42897#M31490</guid>
      <dc:creator>SimonBlackler</dc:creator>
      <dc:date>2014-08-04T10:17:14Z</dc:date>
    </item>
    <item>
      <title>Re: Custom Vulnerability Object to detect Failed WordPress Logins</title>
      <link>https://live.paloaltonetworks.com/t5/general-topics/custom-vulnerability-object-to-detect-failed-wordpress-logins/m-p/42898#M31491</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear Hari,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Making the scope Session is not appropriate - and doesn't work anyway :-)... In a session it would be expected that at some point a POST request for wp-login.php will be made, and at some point later in the session a 200 status will be issued (not necessarily as the direct result of a login, but precipitated by a later page request in the same session).&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 04 Aug 2014 10:19:25 GMT</pubDate>
      <guid>https://live.paloaltonetworks.com/t5/general-topics/custom-vulnerability-object-to-detect-failed-wordpress-logins/m-p/42898#M31491</guid>
      <dc:creator>SimonBlackler</dc:creator>
      <dc:date>2014-08-04T10:19:25Z</dc:date>
    </item>
  </channel>
</rss>

