Can alternate usernames be used for Credential Detection?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Announcements

Can alternate usernames be used for Credential Detection?

L1 Bithead

We are using Multiple Username Formats under Group Mapping and E-mail address as one of the alternate usernames. Output for CLI command show user user-attributes user all displays e-mail address as Alt Username.
We have also User Credential Detection enabled and using Group Mapping mode.

The problem is when a user enters credentials in some website, Credential detection works only if primary username is used. If an e-mail address (in our case alternate username) is used as a username, Credential Detection does not detect it at all.

So the question is: should Credential Detection be able to use alternate usernames and I am missing something or there is no such feature (yet)?

 

1 accepted solution

Accepted Solutions

@marroz 

Answer is - no. Multiple Username Formats cannot be used with Credential Phishing Prevention because Data Plane is only made aware of the Primary Username. Can be called a limitation of the current design.

Information confirmed by PANW SE.

 

I have written Custom Vulnerability Object to detect transfer of e-mail address in HTTP. Should be used with Packet Capture feature of Vulnerability Protection profile.

<vulnerability-threat version="8.1.0">
  <entry name="43999">
    <signature>
      <standard>
        <entry name="E-Mail_in_HTTP_Headers">
          <and-condition>
            <entry name="And Condition 1">
              <or-condition>
                <entry name="Or Condition 1">
                  <operator>
                    <pattern-match>
                      <qualifier>
                        <entry name="http-method">
                          <value>GET</value>
                        </entry>
                        <entry name="req-hdr-type">
                          <value>AUTHORIZATION</value>
                        </entry>
                      </qualifier>
                      <pattern>(([A-Za-z]+|[A-Za-z]+\.[A-Za-z]+)(@EXAMPLE\.ORG|@example\.org))</pattern>
                      <context>http-req-headers</context>
                      <negate>no</negate>
                    </pattern-match>
                  </operator>
                </entry>
                <entry name="Or Condition 2">
                  <operator>
                    <pattern-match>
                      <qualifier>
                        <entry name="http-method">
                          <value>POST</value>
                        </entry>
                        <entry name="req-hdr-type">
                          <value>AUTHORIZATION</value>
                        </entry>
                      </qualifier>
                      <pattern>(([A-Za-z]+|[A-Za-z]+\.[A-Za-z]+)(@EXAMPLE\.ORG|@example\.org))</pattern>
                      <context>http-req-headers</context>
                      <negate>no</negate>
                    </pattern-match>
                  </operator>
                </entry>
              </or-condition>
            </entry>
          </and-condition>
          <order-free>no</order-free>
          <scope>protocol-data-unit</scope>
        </entry>
        <entry name="E-Mail_in_HTTP_Body">
          <and-condition>
            <entry name="And Condition 1">
              <or-condition>
                <entry name="Or Condition 1">
                  <operator>
                    <pattern-match>
                      <qualifier>
                        <entry name="http-method">
                          <value>GET</value>
                        </entry>
                      </qualifier>
                      <pattern>(([A-Za-z]+|[A-Za-z]+\.[A-Za-z]+)(@EXAMPLE\.ORG|@example\.org))</pattern>
                      <context>http-req-message-body</context>
                      <negate>no</negate>
                    </pattern-match>
                  </operator>
                </entry>
                <entry name="Or Condition 2">
                  <operator>
                    <pattern-match>
                      <qualifier>
                        <entry name="http-method">
                          <value>POST</value>
                        </entry>
                      </qualifier>
                      <pattern>(([A-Za-z]+|[A-Za-z]+\.[A-Za-z]+)(@EXAMPLE\.ORG|@example\.org))</pattern>
                      <context>http-req-message-body</context>
                      <negate>no</negate>
                    </pattern-match>
                  </operator>
                </entry>
              </or-condition>
            </entry>
          </and-condition>
          <order-free>no</order-free>
          <scope>protocol-data-unit</scope>
        </entry>
        <entry name="E-Mail_in_HTTP_MIME">
          <and-condition>
            <entry name="And Condition 1">
              <or-condition>
                <entry name="Or Condition 1">
                  <operator>
                    <pattern-match>
                      <pattern>(([A-Za-z]+|[A-Za-z]+\.[A-Za-z]+)(@EXAMPLE\.ORG|@example\.org))</pattern>
                      <context>http-req-mime-form-data</context>
                      <negate>no</negate>
                    </pattern-match>
                  </operator>
                </entry>
              </or-condition>
            </entry>
          </and-condition>
          <order-free>no</order-free>
          <scope>protocol-data-unit</scope>
        </entry>
        <entry name="E-Mail_in_HTTP_Params">
          <and-condition>
            <entry name="And Condition 1">
              <or-condition>
                <entry name="Or Condition 1">
                  <operator>
                    <pattern-match>
                      <qualifier>
                        <entry name="http-method">
                          <value>GET</value>
                        </entry>
                      </qualifier>
                      <pattern>(([A-Za-z]+|[A-Za-z]+\.[A-Za-z]+)(@EXAMPLE\.ORG|@example\.org))</pattern>
                      <context>http-req-params</context>
                      <negate>no</negate>
                    </pattern-match>
                  </operator>
                </entry>
                <entry name="Or Condition 2">
                  <operator>
                    <pattern-match>
                      <qualifier>
                        <entry name="http-method">
                          <value>POST</value>
                        </entry>
                      </qualifier>
                      <pattern>(([A-Za-z]+|[A-Za-z]+\.[A-Za-z]+)(@EXAMPLE\.ORG|@example\.org))</pattern>
                      <context>http-req-params</context>
                      <negate>no</negate>
                    </pattern-match>
                  </operator>
                </entry>
              </or-condition>
            </entry>
          </and-condition>
          <order-free>no</order-free>
          <scope>protocol-data-unit</scope>
        </entry>
      </standard>
    </signature>
    <default-action>
      <alert/>
    </default-action>
    <threatname>E-Mail_in_HTTP</threatname>
    <severity>high</severity>
    <direction>client2server</direction>
    <vendor>
      <member>Asseco Poland S.A.</member>
    </vendor>
    <comment>Identification of the business email address transfer in HTTP</comment>
    <affected-host>
      <client>yes</client>
    </affected-host>
  </entry>
</vulnerability-threat>

View solution in original post

4 REPLIES 4

Cyber Elite
Cyber Elite

What method are you actually using to check for submissions? 

I'm not sure I fully understand Your question.

User Credential Detection is enabled under URL Filtering Profile and Group Mapping mode is used to check for valid corporate usernames - if that is what You are asking.

@marroz 

Answer is - no. Multiple Username Formats cannot be used with Credential Phishing Prevention because Data Plane is only made aware of the Primary Username. Can be called a limitation of the current design.

Information confirmed by PANW SE.

 

I have written Custom Vulnerability Object to detect transfer of e-mail address in HTTP. Should be used with Packet Capture feature of Vulnerability Protection profile.

<vulnerability-threat version="8.1.0">
  <entry name="43999">
    <signature>
      <standard>
        <entry name="E-Mail_in_HTTP_Headers">
          <and-condition>
            <entry name="And Condition 1">
              <or-condition>
                <entry name="Or Condition 1">
                  <operator>
                    <pattern-match>
                      <qualifier>
                        <entry name="http-method">
                          <value>GET</value>
                        </entry>
                        <entry name="req-hdr-type">
                          <value>AUTHORIZATION</value>
                        </entry>
                      </qualifier>
                      <pattern>(([A-Za-z]+|[A-Za-z]+\.[A-Za-z]+)(@EXAMPLE\.ORG|@example\.org))</pattern>
                      <context>http-req-headers</context>
                      <negate>no</negate>
                    </pattern-match>
                  </operator>
                </entry>
                <entry name="Or Condition 2">
                  <operator>
                    <pattern-match>
                      <qualifier>
                        <entry name="http-method">
                          <value>POST</value>
                        </entry>
                        <entry name="req-hdr-type">
                          <value>AUTHORIZATION</value>
                        </entry>
                      </qualifier>
                      <pattern>(([A-Za-z]+|[A-Za-z]+\.[A-Za-z]+)(@EXAMPLE\.ORG|@example\.org))</pattern>
                      <context>http-req-headers</context>
                      <negate>no</negate>
                    </pattern-match>
                  </operator>
                </entry>
              </or-condition>
            </entry>
          </and-condition>
          <order-free>no</order-free>
          <scope>protocol-data-unit</scope>
        </entry>
        <entry name="E-Mail_in_HTTP_Body">
          <and-condition>
            <entry name="And Condition 1">
              <or-condition>
                <entry name="Or Condition 1">
                  <operator>
                    <pattern-match>
                      <qualifier>
                        <entry name="http-method">
                          <value>GET</value>
                        </entry>
                      </qualifier>
                      <pattern>(([A-Za-z]+|[A-Za-z]+\.[A-Za-z]+)(@EXAMPLE\.ORG|@example\.org))</pattern>
                      <context>http-req-message-body</context>
                      <negate>no</negate>
                    </pattern-match>
                  </operator>
                </entry>
                <entry name="Or Condition 2">
                  <operator>
                    <pattern-match>
                      <qualifier>
                        <entry name="http-method">
                          <value>POST</value>
                        </entry>
                      </qualifier>
                      <pattern>(([A-Za-z]+|[A-Za-z]+\.[A-Za-z]+)(@EXAMPLE\.ORG|@example\.org))</pattern>
                      <context>http-req-message-body</context>
                      <negate>no</negate>
                    </pattern-match>
                  </operator>
                </entry>
              </or-condition>
            </entry>
          </and-condition>
          <order-free>no</order-free>
          <scope>protocol-data-unit</scope>
        </entry>
        <entry name="E-Mail_in_HTTP_MIME">
          <and-condition>
            <entry name="And Condition 1">
              <or-condition>
                <entry name="Or Condition 1">
                  <operator>
                    <pattern-match>
                      <pattern>(([A-Za-z]+|[A-Za-z]+\.[A-Za-z]+)(@EXAMPLE\.ORG|@example\.org))</pattern>
                      <context>http-req-mime-form-data</context>
                      <negate>no</negate>
                    </pattern-match>
                  </operator>
                </entry>
              </or-condition>
            </entry>
          </and-condition>
          <order-free>no</order-free>
          <scope>protocol-data-unit</scope>
        </entry>
        <entry name="E-Mail_in_HTTP_Params">
          <and-condition>
            <entry name="And Condition 1">
              <or-condition>
                <entry name="Or Condition 1">
                  <operator>
                    <pattern-match>
                      <qualifier>
                        <entry name="http-method">
                          <value>GET</value>
                        </entry>
                      </qualifier>
                      <pattern>(([A-Za-z]+|[A-Za-z]+\.[A-Za-z]+)(@EXAMPLE\.ORG|@example\.org))</pattern>
                      <context>http-req-params</context>
                      <negate>no</negate>
                    </pattern-match>
                  </operator>
                </entry>
                <entry name="Or Condition 2">
                  <operator>
                    <pattern-match>
                      <qualifier>
                        <entry name="http-method">
                          <value>POST</value>
                        </entry>
                      </qualifier>
                      <pattern>(([A-Za-z]+|[A-Za-z]+\.[A-Za-z]+)(@EXAMPLE\.ORG|@example\.org))</pattern>
                      <context>http-req-params</context>
                      <negate>no</negate>
                    </pattern-match>
                  </operator>
                </entry>
              </or-condition>
            </entry>
          </and-condition>
          <order-free>no</order-free>
          <scope>protocol-data-unit</scope>
        </entry>
      </standard>
    </signature>
    <default-action>
      <alert/>
    </default-action>
    <threatname>E-Mail_in_HTTP</threatname>
    <severity>high</severity>
    <direction>client2server</direction>
    <vendor>
      <member>Asseco Poland S.A.</member>
    </vendor>
    <comment>Identification of the business email address transfer in HTTP</comment>
    <affected-host>
      <client>yes</client>
    </affected-host>
  </entry>
</vulnerability-threat>

Thank you @ACieszkowski!

I will check the workaround with your Custom Vulnerability.

  • 1 accepted solution
  • 4562 Views
  • 4 replies
  • 0 Likes
Like what you see?

Show your appreciation!

Click Like if a post is helpful to you or if you just want to show your support.

Click Accept as Solution to acknowledge that the answer to your question has been provided.

The button appears next to the replies on topics you’ve started. The member who gave the solution and all future visitors to this topic will appreciate it!

These simple actions take just seconds of your time, but go a long way in showing appreciation for community members and the LIVEcommunity as a whole!

The LIVEcommunity thanks you for your participation!