Detection rules › Sublime MQL

Brand impersonation: Marriott with gift language

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

Detects messages impersonating Marriott brand that contain gift-related language such as 'appreciation gift', 'thank you gift', or 'something special' from senders not associated with legitimate Marriott domains.

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 (
  strings.icontains(subject.base, "marriott")
  or strings.icontains(sender.display_name, "marriott")
  or strings.ilevenshtein(sender.display_name, 'marriott') <= 2
)
and any([body.current_thread.text, subject.base],
        regex.icontains(.,
                        '(?:appreciation|thank)(?:\s|-)?(you)?\s+gift',
                        'something special',
                        'special.{0,10}thank(?:\s|-)you'
        )
)
and not (
  sender.email.domain.root_domain in~ (
    "marriott.com",
    "res-marriott.com",
    "email-marriott.com",
    "feedback-marriott.com",
    "marriotthotels.se",
    "bookonline.com"
  )
  and coalesce(headers.auth_summary.dmarc.pass, false)
)

Detection logic

Scope: inbound message.

Detects messages impersonating Marriott brand that contain gift-related language such as 'appreciation gift', 'thank you gift', or 'something special' from senders not associated with legitimate Marriott domains.

  1. inbound message
  2. any of:
    • subject.base contains 'marriott'
    • sender.display_name contains 'marriott'
    • sender.display_name is similar to 'marriott'
  3. any of [body.current_thread.text, subject.base] where:
    • . matches any of 3 patterns
      • (?:appreciation|thank)(?:\s|-)?(you)?\s+gift
      • something special
      • special.{0,10}thank(?:\s|-)you
  4. not:
    • all of:
      • sender.email.domain.root_domain in ('marriott.com', 'res-marriott.com', 'email-marriott.com', 'feedback-marriott.com', 'marriotthotels.se', 'bookonline.com')
      • coalesce(headers.auth_summary.dmarc.pass)

Inspects: body.current_thread.text, headers.auth_summary.dmarc.pass, sender.display_name, sender.email.domain.root_domain, subject.base, type.inbound. Sensors: regex.icontains, strings.icontains, strings.ilevenshtein.

Indicators matched (11)

FieldMatchValue
strings.icontainssubstringmarriott
strings.ilevenshteinfuzzymarriott
regex.icontainsregex(?:appreciation|thank)(?:\s|-)?(you)?\s+gift
regex.icontainsregexsomething special
regex.icontainsregexspecial.{0,10}thank(?:\s|-)you
sender.email.domain.root_domainmembermarriott.com
sender.email.domain.root_domainmemberres-marriott.com
sender.email.domain.root_domainmemberemail-marriott.com
sender.email.domain.root_domainmemberfeedback-marriott.com
sender.email.domain.root_domainmembermarriotthotels.se
sender.email.domain.root_domainmemberbookonline.com