Detection rules › Sublime MQL

Link: Microsoft Dynamics 365 form phishing

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

Email body is suspicious, and links to a Microsoft Dynamics form. Known phishing tactic.

Threat classification

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

CategoryValues
Attack typesCredential Phishing
Tactics and techniquesEvasion

Event coverage

Rule body MQL

type.inbound
and any(body.links,
        .href_url.domain.domain in (
          "ncv.microsoft.com",
          "customervoice.microsoft.com",
          "nam.dcv.ms"
        )
        and ml.link_analysis(.).effective_url.domain.domain == "customervoice.microsoft.com"

        // confirm it is a form
        and (
          any(ml.link_analysis(.).final_dom.links,
              .href_url.domain.domain == "cdn.forms.office.net"
          )
          or strings.icontains(ml.link_analysis(.).final_dom.raw,
                               "cdn.forms.office.net"
          )
          or .href_url.path == "/Pages/ResponsePage.aspx"
        )

        // analyze for credential phishing signals
        and (
          //
          // This rule makes use of a beta feature and is subject to change without notice
          // using the beta feature in custom rules is not suggested until it has been formally released
          //
          any(ml.nlu_classifier(beta.ocr(ml.link_analysis(.).screenshot).text).intents,
              .name == "cred_theft" and .confidence != "low"
          )
          or any(ml.nlu_classifier(body.current_thread.text).intents,
                 .name == "cred_theft" and .confidence != "low"
          )
        )
)
and (
  not profile.by_sender().solicited
  or (
    profile.by_sender().any_messages_malicious_or_spam
    and not profile.by_sender().any_messages_benign
  )
)
and not profile.by_sender().any_messages_benign

// negate highly trusted sender domains unless they fail DMARC authentication
and (
  (
    sender.email.domain.root_domain in $high_trust_sender_root_domains
    and not headers.auth_summary.dmarc.pass
  )
  or sender.email.domain.root_domain not in $high_trust_sender_root_domains
)

Detection logic

Scope: inbound message.

Email body is suspicious, and links to a Microsoft Dynamics form. Known phishing tactic.

  1. inbound message
  2. any of body.links where all hold:
    • .href_url.domain.domain in ('ncv.microsoft.com', 'customervoice.microsoft.com', 'nam.dcv.ms')
    • ml.link_analysis(.).effective_url.domain.domain is 'customervoice.microsoft.com'
    • any of:
      • any of ml.link_analysis(.).final_dom.links where:
        • .href_url.domain.domain is 'cdn.forms.office.net'
      • ml.link_analysis(.).final_dom.raw contains 'cdn.forms.office.net'
      • .href_url.path is '/Pages/ResponsePage.aspx'
    • any of:
      • any of ml.nlu_classifier(beta.ocr(ml.link_analysis(.).screenshot).text).intents where all hold:
        • .name is 'cred_theft'
        • .confidence is not 'low'
      • any of ml.nlu_classifier(body.current_thread.text).intents where all hold:
        • .name is 'cred_theft'
        • .confidence is not 'low'
  3. any of:
    • not:
      • profile.by_sender().solicited
    • all of:
      • profile.by_sender().any_messages_malicious_or_spam
      • not:
        • profile.by_sender().any_messages_benign
  4. not:
    • profile.by_sender().any_messages_benign
  5. any of:
    • all of:
      • sender.email.domain.root_domain in $high_trust_sender_root_domains
      • not:
        • headers.auth_summary.dmarc.pass
    • sender.email.domain.root_domain not in $high_trust_sender_root_domains

Inspects: body.current_thread.text, body.links, body.links[].href_url.domain.domain, body.links[].href_url.path, headers.auth_summary.dmarc.pass, sender.email.domain.root_domain, type.inbound. Sensors: beta.ocr, ml.link_analysis, ml.nlu_classifier, profile.by_sender, strings.icontains. Reference lists: $high_trust_sender_root_domains.

Indicators matched (8)

FieldMatchValue
body.links[].href_url.domain.domainmemberncv.microsoft.com
body.links[].href_url.domain.domainmembercustomervoice.microsoft.com
body.links[].href_url.domain.domainmembernam.dcv.ms
ml.link_analysis(body.links[]).final_dom.links[].href_url.domain.domainequalscdn.forms.office.net
strings.icontainssubstringcdn.forms.office.net
body.links[].href_url.pathequals/Pages/ResponsePage.aspx
ml.nlu_classifier(beta.ocr(ml.link_analysis(body.links[]).screenshot).text).intents[].nameequalscred_theft
ml.nlu_classifier(body.current_thread.text).intents[].nameequalscred_theft