Detection rules โ€บ Sublime MQL

Brand impersonation: Amazon

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

Impersonation of Amazon. These are most commonly fake shipping notifications. Amazon is the #2 most-impersonated brand (as of Q2 2020)

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 not any(headers.hops,
            any(.fields,
                .name == 'X-Amazon-Mail-Relay-Type' and .value == "notification"
            )
)
and (
  regex.icontains(sender.display_name,
                  '\b[aaa๐ฐa๏ฝ๐‘Ž๐—ฎ๐•’๐–†๐“ช๐šŠ๐žชะฐษ‘ฮฑ๐”ž๐’‚๐˜ข๐›‚โบ๐’ถ๐™–๐œถ๐›ผ๐š๐–บ]maz[o0]n\s?(pay|marketplace|\.com)|แตƒโคปแถป'
  )
  or strings.ilevenshtein(sender.display_name, 'amazon.com') <= 1
  or strings.ilevenshtein(sender.display_name, 'amazon pay') <= 1
  or strings.ilevenshtein(sender.display_name, 'amazon marketplace') <= 1
  or strings.ilevenshtein(sender.display_name, 'amazon customer support') <= 1
  or regex.icontains(sender.display_name,
                     "prime (subscription|notification|support)"
  )
  or strings.ilike(subject.subject, "*prime membership*")
  or (
    strings.ilevenshtein(sender.display_name, 'amazon') <= 1
    and sender.email.domain.root_domain in $free_email_providers
  )
  or (
    any(ml.nlu_classifier(body.current_thread.text).intents,
        .name == "cred_theft" and .confidence == "high"
    )
    and any(beta.ml_topic(body.current_thread.text).topics,
            .name in (
              "Security and Authentication",
              "Secure Message",
              "Reminders and Notifications",
              "Order Confirmations",
              "Customer Service and Support"
            )
    )
    and strings.icontains(body.current_thread.text, "amazon")
  )
)
// negate listservs
and not (
  any(headers.hops, any(.fields, .name == "List-Unsubscribe"))
  and strings.contains(sender.display_name, "via")
)
and sender.email.domain.root_domain not in~ (
  'amazon.com',
  'amazon.com.au',
  'amazon.de',
  'amazon.es',
  'amazon.fr',
  'amazon.it',
  'amazon.in',
  'amazon.lu',
  'amazon.nl',
  'amazonsellerservices.com',
  'amazon.ae',
  'amazon.sa',
  'amazon.com.sg',
  'amazon.co.uk',
  'amazon.co.jp',
  'amazon.com.mx',
  'amazon.com.br',
  'amazon.com.tr',
  'amazon.cn',
  'amazon.ca',
  'amazon.sg',
  'amazonaws.cn',
  'amazonpay.in',
  'amazonpay.com',
  'q4inc.com',
  'synchronybank.com',
  'opodo.com',
  'flynas.com',
  'amazonmusic.com',
  'blink.com',
  'affirm.com',
  'amazon.work',
  'amazon.jobs',
  'rocketmoney.com',
  'registrar.amazon',
  'amazonworkspaces.com',
  'awsapps.com',
  'aws.com',
  'awsevents.com',
  'amazon.se',
  'amazon.ie',
  'amazonconnect.com',
  'aws-experience.com',
  'proofpointessentials.com',
  'area1security.com'
)

// negate amazon.com.be explicitly, this cannot be part of the root_domain set above as it uses the PSL (Public suffix list) for parsing and com.be is owned by amazon directly.
and sender.email.domain.domain not in~ ('amazon.com.be')
and sender.email.email not in $recipient_emails
and sender.email.domain.domain not in $org_domains

// 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.

Impersonation of Amazon. These are most commonly fake shipping notifications. Amazon is the #2 most-impersonated brand (as of Q2 2020)

  1. inbound message
  2. not:
    • any of headers.hops where:
      • any of .fields where all hold:
        • .name is 'X-Amazon-Mail-Relay-Type'
        • .value is 'notification'
  3. any of:
    • sender.display_name matches '\\b[aaa๐ฐa๏ฝ๐‘Ž๐—ฎ๐•’๐–†๐“ช๐šŠ๐žชะฐษ‘ฮฑ๐”ž๐’‚๐˜ข๐›‚โบ๐’ถ๐™–๐œถ๐›ผ๐š๐–บ]maz[o0]n\\s?(pay|marketplace|\\.com)|แตƒโคปแถป'
    • sender.display_name is similar to 'amazon.com'
    • sender.display_name is similar to 'amazon pay'
    • sender.display_name is similar to 'amazon marketplace'
    • sender.display_name is similar to 'amazon customer support'
    • sender.display_name matches 'prime (subscription|notification|support)'
    • subject.subject matches '*prime membership*'
    • all of:
      • sender.display_name is similar to 'amazon'
      • sender.email.domain.root_domain in $free_email_providers
    • all of:
      • any of ml.nlu_classifier(body.current_thread.text).intents where all hold:
        • .name is 'cred_theft'
        • .confidence is 'high'
      • any of beta.ml_topic(body.current_thread.text).topics where:
        • .name in ('Security and Authentication', 'Secure Message', 'Reminders and Notifications', 'Order Confirmations', 'Customer Service and Support')
      • body.current_thread.text contains 'amazon'
  4. not:
    • all of:
      • any of headers.hops where:
        • any of .fields where:
          • .name is 'List-Unsubscribe'
      • sender.display_name contains 'via'
  5. sender.email.domain.root_domain not in ('amazon.com', 'amazon.com.au', 'amazon.de', 'amazon.es', 'amazon.fr', 'amazon.it', 'amazon.in', 'amazon.lu', 'amazon.nl', 'amazonsellerservices.com', 'amazon.ae', 'amazon.sa', 'amazon.com.sg', 'amazon.co.uk', 'amazon.co.jp', 'amazon.com.mx', 'amazon.com.br', 'amazon.com.tr', 'amazon.cn', 'amazon.ca', 'amazon.sg', 'amazonaws.cn', 'amazonpay.in', 'amazonpay.com', 'q4inc.com', 'synchronybank.com', 'opodo.com', 'flynas.com', 'amazonmusic.com', 'blink.com', 'affirm.com', 'amazon.work', 'amazon.jobs', 'rocketmoney.com', 'registrar.amazon', 'amazonworkspaces.com', 'awsapps.com', 'aws.com', 'awsevents.com', 'amazon.se', 'amazon.ie', 'amazonconnect.com', 'aws-experience.com', 'proofpointessentials.com', 'area1security.com')
  6. sender.email.domain.domain not in ('amazon.com.be')
  7. sender.email.email not in $recipient_emails
  8. sender.email.domain.domain not in $org_domains
  9. 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, headers.auth_summary.dmarc.pass, headers.hops, headers.hops[].fields, headers.hops[].fields[].name, headers.hops[].fields[].value, sender.display_name, sender.email.domain.domain, sender.email.domain.root_domain, sender.email.email, subject.subject, type.inbound. Sensors: beta.ml_topic, ml.nlu_classifier, regex.icontains, strings.contains, strings.icontains, strings.ilevenshtein, strings.ilike. Reference lists: $free_email_providers, $high_trust_sender_root_domains, $org_domains, $recipient_emails.

Indicators matched (66)

FieldMatchValue
headers.hops[].fields[].nameequalsX-Amazon-Mail-Relay-Type
headers.hops[].fields[].valueequalsnotification
regex.icontainsregex\b[aaa๐ฐa๏ฝ๐‘Ž๐—ฎ๐•’๐–†๐“ช๐šŠ๐žชะฐษ‘ฮฑ๐”ž๐’‚๐˜ข๐›‚โบ๐’ถ๐™–๐œถ๐›ผ๐š๐–บ]maz[o0]n\s?(pay|marketplace|\.com)|แตƒโคปแถป
strings.ilevenshteinfuzzyamazon.com
strings.ilevenshteinfuzzyamazon pay
strings.ilevenshteinfuzzyamazon marketplace
strings.ilevenshteinfuzzyamazon customer support
regex.icontainsregexprime (subscription|notification|support)
strings.ilikesubstring*prime membership*
strings.ilevenshteinfuzzyamazon
ml.nlu_classifier(body.current_thread.text).intents[].nameequalscred_theft
ml.nlu_classifier(body.current_thread.text).intents[].confidenceequalshigh
54 more
beta.ml_topic(body.current_thread.text).topics[].namememberSecurity and Authentication
beta.ml_topic(body.current_thread.text).topics[].namememberSecure Message
beta.ml_topic(body.current_thread.text).topics[].namememberReminders and Notifications
beta.ml_topic(body.current_thread.text).topics[].namememberOrder Confirmations
beta.ml_topic(body.current_thread.text).topics[].namememberCustomer Service and Support
strings.icontainssubstringamazon
headers.hops[].fields[].nameequalsList-Unsubscribe
strings.containssubstringvia
sender.email.domain.root_domainmemberamazon.com
sender.email.domain.root_domainmemberamazon.com.au
sender.email.domain.root_domainmemberamazon.de
sender.email.domain.root_domainmemberamazon.es
sender.email.domain.root_domainmemberamazon.fr
sender.email.domain.root_domainmemberamazon.it
sender.email.domain.root_domainmemberamazon.in
sender.email.domain.root_domainmemberamazon.lu
sender.email.domain.root_domainmemberamazon.nl
sender.email.domain.root_domainmemberamazonsellerservices.com
sender.email.domain.root_domainmemberamazon.ae
sender.email.domain.root_domainmemberamazon.sa
sender.email.domain.root_domainmemberamazon.com.sg
sender.email.domain.root_domainmemberamazon.co.uk
sender.email.domain.root_domainmemberamazon.co.jp
sender.email.domain.root_domainmemberamazon.com.mx
sender.email.domain.root_domainmemberamazon.com.br
sender.email.domain.root_domainmemberamazon.com.tr
sender.email.domain.root_domainmemberamazon.cn
sender.email.domain.root_domainmemberamazon.ca
sender.email.domain.root_domainmemberamazon.sg
sender.email.domain.root_domainmemberamazonaws.cn
sender.email.domain.root_domainmemberamazonpay.in
sender.email.domain.root_domainmemberamazonpay.com
sender.email.domain.root_domainmemberq4inc.com
sender.email.domain.root_domainmembersynchronybank.com
sender.email.domain.root_domainmemberopodo.com
sender.email.domain.root_domainmemberflynas.com
sender.email.domain.root_domainmemberamazonmusic.com
sender.email.domain.root_domainmemberblink.com
sender.email.domain.root_domainmemberaffirm.com
sender.email.domain.root_domainmemberamazon.work
sender.email.domain.root_domainmemberamazon.jobs
sender.email.domain.root_domainmemberrocketmoney.com
sender.email.domain.root_domainmemberregistrar.amazon
sender.email.domain.root_domainmemberamazonworkspaces.com
sender.email.domain.root_domainmemberawsapps.com
sender.email.domain.root_domainmemberaws.com
sender.email.domain.root_domainmemberawsevents.com
sender.email.domain.root_domainmemberamazon.se
sender.email.domain.root_domainmemberamazon.ie
sender.email.domain.root_domainmemberamazonconnect.com
sender.email.domain.root_domainmemberaws-experience.com
sender.email.domain.root_domainmemberproofpointessentials.com
sender.email.domain.root_domainmemberarea1security.com
sender.email.domain.domainmemberamazon.com.be