Detection rules › Sublime MQL

Brand impersonation: Proofpoint secure messaging without legitimate indicators

Severity
high
Type
rule
Source
github.com/sublime-security/sublime-rules

Detects messages impersonating Proofpoint secure messaging services that contain Proofpoint branding text but lack legitimate Proofpoint secure sharing URIs or authentic attachment indicators, suggesting fraudulent use of the brand.

Threat classification

Sublime's own taxonomy (not MITRE ATT&CK).

CategoryValues
Attack typesCredential Phishing
Tactics and techniquesImpersonation: Brand, Social engineering

Event coverage

Rule body MQL

type.inbound
and (
  // matching proofpoint secure messaging
  strings.contains(body.current_thread.text,
                   "Secured by Proofpoint Encryption,"
  )
  or regex.icontains(body.current_thread.text,
                     ('Copyright © 2009-202\d Proofpoint, Inc.')
  )
)
and length(body.current_thread.links) >= 1
// pfpt secure share uri
and not (
  any(body.links,
      // negate the actual dest of the legit "click here" link
      .href_url.path == "/formpostdir/securereader"
      // negate where the link domain is mimecast and check LA for the pfpt URI
      or (
        .href_url.domain.root_domain == "mimecastprotect.com"
        and (
          ml.link_analysis(., mode="aggressive").effective_url.path == "/formpostdir/securereader"
          or any(ml.link_analysis(., mode="aggressive").redirect_history,
                 .path == "/formpostdir/securereader"
          )
        )
      )
      or (
        .href_url.domain.root_domain == "mimecastprotect.com"
        and .display_text =~ "Click here"
        and strings.parse_domain(.href_url.query_params_decoded["domain"][0]).root_domain == sender.email.domain.root_domain
      )
  )
)
// negate actual SecureMessageAtt.html links that ave been quarantined by mimecast
and not any(attachments,
            // pfpt attachment file
            .file_name == "SecureMessageAtt.html"
            // mimecast quarantine details
            or (
              .content_type == "message/rfc822"
              and length(file.parse_eml(.).body.links) == 1
              and any(file.parse_eml(.).body.links,
                      .display_text == "download it"
                      and .href_url.domain.root_domain == "mimecast.com"
              )
              and strings.ends_with(file.parse_eml(.).headers.message_id,
                                    "@localhost>"
              )
            )
)

Detection logic

Scope: inbound message.

Detects messages impersonating Proofpoint secure messaging services that contain Proofpoint branding text but lack legitimate Proofpoint secure sharing URIs or authentic attachment indicators, suggesting fraudulent use of the brand.

  1. inbound message
  2. any of:
    • body.current_thread.text contains 'Secured by Proofpoint Encryption,'
    • body.current_thread.text matches 'Copyright © 2009-202\\d Proofpoint, Inc.'
  3. length(body.current_thread.links) ≥ 1
  4. not:
    • any of body.links where any holds:
      • .href_url.path is '/formpostdir/securereader'
      • all of:
        • .href_url.domain.root_domain is 'mimecastprotect.com'
        • any of:
          • ml.link_analysis(.).effective_url.path is '/formpostdir/securereader'
          • any of ml.link_analysis(., mode='aggressive').redirect_history where:
            • .path is '/formpostdir/securereader'
      • all of:
        • .href_url.domain.root_domain is 'mimecastprotect.com'
        • .display_text is 'Click here'
        • strings.parse_domain(.href_url.query_params_decoded['domain'][0]).root_domain is sender.email.domain.root_domain
  5. not:
    • any of attachments where any holds:
      • .file_name is 'SecureMessageAtt.html'
      • all of:
        • .content_type is 'message/rfc822'
        • length(file.parse_eml(.).body.links) is 1
        • any of file.parse_eml(.).body.links where all hold:
          • .display_text is 'download it'
          • .href_url.domain.root_domain is 'mimecast.com'
        • file.parse_eml(.).headers.message_id ends with '@localhost>'

Inspects: attachments[].content_type, attachments[].file_name, body.current_thread.links, body.current_thread.text, body.links, body.links[].display_text, body.links[].href_url.domain.root_domain, body.links[].href_url.path, body.links[].href_url.query_params_decoded['domain'][0], sender.email.domain.root_domain, type.inbound. Sensors: file.parse_eml, ml.link_analysis, regex.icontains, strings.contains, strings.ends_with, strings.parse_domain.

Indicators matched (11)

FieldMatchValue
strings.containssubstringSecured by Proofpoint Encryption,
regex.icontainsregexCopyright © 2009-202\d Proofpoint, Inc.
body.links[].href_url.pathequals/formpostdir/securereader
body.links[].href_url.domain.root_domainequalsmimecastprotect.com
ml.link_analysis(body.links[], mode='aggressive').redirect_history[].pathequals/formpostdir/securereader
body.links[].display_textequalsClick here
attachments[].file_nameequalsSecureMessageAtt.html
attachments[].content_typeequalsmessage/rfc822
file.parse_eml(attachments[]).body.links[].display_textequalsdownload it
file.parse_eml(attachments[]).body.links[].href_url.domain.root_domainequalsmimecast.com
strings.ends_withsuffix@localhost>