Detection rules › Sublime MQL

Impersonation: Fake product discount promotion

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

Detects messages containing fake product discount offers that leads to a googleapis.com domain.

Threat classification

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

CategoryValues
Attack typesBEC/Fraud
Tactics and techniquesSocial engineering, Free file host

Event coverage

Rule body MQL

type.inbound
and strings.icontains(body.current_thread.text,
                      "hi {email}",
                      "participation is voluntary",
                      "limit one discount",
                      "limited time offer",
                      "code",
                      "survey"
)
and (
  regex.icontains(body.current_thread.text, 'claim \d+% off')
  or regex.icontains(body.current_thread.text, '\d+ question')
)
and any(body.current_thread.links,
        .href_url.domain.root_domain == "googleapis.com"
)
and any(ml.nlu_classifier(body.current_thread.text).topics,
        .name in ("Advertising and Promotions")
)
// negate highly trusted sender domains unless they fail DMARC authentication
and not (
  sender.email.domain.root_domain in $high_trust_sender_root_domains
  and coalesce(headers.auth_summary.dmarc.pass, false)
)

Detection logic

Scope: inbound message.

Detects messages containing fake product discount offers that leads to a googleapis.com domain.

  1. inbound message
  2. body.current_thread.text contains any of 6 patterns
    • hi {email}
    • participation is voluntary
    • limit one discount
    • limited time offer
    • code
    • survey
  3. any of:
    • body.current_thread.text matches 'claim \\d+% off'
    • body.current_thread.text matches '\\d+ question'
  4. any of body.current_thread.links where:
    • .href_url.domain.root_domain is 'googleapis.com'
  5. any of ml.nlu_classifier(body.current_thread.text).topics where:
    • .name in ('Advertising and Promotions')
  6. not:
    • all of:
      • sender.email.domain.root_domain in $high_trust_sender_root_domains
      • coalesce(headers.auth_summary.dmarc.pass)

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

Indicators matched (10)

FieldMatchValue
strings.icontainssubstringhi {email}
strings.icontainssubstringparticipation is voluntary
strings.icontainssubstringlimit one discount
strings.icontainssubstringlimited time offer
strings.icontainssubstringcode
strings.icontainssubstringsurvey
regex.icontainsregexclaim \d+% off
regex.icontainsregex\d+ question
body.current_thread.links[].href_url.domain.root_domainequalsgoogleapis.com
ml.nlu_classifier(body.current_thread.text).topics[].namememberAdvertising and Promotions