Detection rules › Sublime MQL

Deceptive Dropbox mention

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

Detects when a message mentions Dropbox but comes from non-Dropbox infrastructure, contains links to suspicious domains, shows discrepancies in sender identity, and contains language patterns associated with credential theft.

Threat classification

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

CategoryValues
Attack typesCredential Phishing
Tactics and techniquesImpersonation: Brand, Free file host, Free subdomain host, Social engineering

Event coverage

Rule body MQL

type.inbound
and strings.icontains(body.current_thread.text, 'dropbox')
and any(beta.ml_topic(coalesce(body.html.display_text, body.current_thread.text)
        ).topics,
        .name == "File Sharing and Cloud Services" and .confidence != "low"
)
and (
  // Email address discrepancy detection - looking for matches in the domain name from the sender but not the current thread proposed sender name
  any(regex.iextract(body.current_thread.text,
                     '(?P<whole_email>(?P<local_part>[a-zA-Z0-9._%-]+)@(?P<domain_name>[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}))'
      ),
      strings.parse_email(.named_groups["whole_email"]).domain.domain == sender.email.domain.domain
      and strings.parse_email(.named_groups["whole_email"]).local_part != sender.email.local_part
      and not strings.parse_email(.named_groups["whole_email"]).email in~ map(filter(recipients.to,
                                                                                     .email.domain.valid
                                                                              ),
                                                                              .email.email
      )
  )
  // self sender
  or (
    length(recipients.to) == 1
    and sender.email.email == recipients.to[0].email.email
  )
)

// Not from legitimate Dropbox infrastructure
and sender.email.domain.root_domain not in~ (
  'dropbox.com',
  'docsend.com',
  'box.com',
  'wetransfer.com',
  // tuning: exlude hellosign emails that are covered in another rule
  'hellosign.com'
)

// Contains suspicious links to non-Dropbox/file-sharing domains
and any(body.links,
        (
          .href_url.domain.root_domain in~ $free_subdomain_hosts
          or .href_url.domain.root_domain in~ $free_file_hosts
        )
        and .href_url.domain.valid
)

// ML indicates potential credential theft
and any(ml.nlu_classifier(body.current_thread.text).intents,
        .name == "cred_theft" and .confidence != "low"
)

Detection logic

Scope: inbound message.

Detects when a message mentions Dropbox but comes from non-Dropbox infrastructure, contains links to suspicious domains, shows discrepancies in sender identity, and contains language patterns associated with credential theft.

  1. inbound message
  2. body.current_thread.text contains 'dropbox'
  3. any of beta.ml_topic(coalesce(body.html.display_text, body.current_thread.text)).topics where all hold:
    • .name is 'File Sharing and Cloud Services'
    • .confidence is not 'low'
  4. any of:
    • any of regex.iextract(body.current_thread.text) where all hold:
      • strings.parse_email(.named_groups['whole_email']).domain.domain is sender.email.domain.domain
      • strings.parse_email(.named_groups['whole_email']).local_part is not sender.email.local_part
      • not:
        • strings.parse_email(.named_groups['whole_email']).email in map(filter(recipients.to, .email.domain.valid), .email.email)
    • all of:
      • length(recipients.to) is 1
      • sender.email.email is recipients.to[0].email.email
  5. sender.email.domain.root_domain not in ('dropbox.com', 'docsend.com', 'box.com', 'wetransfer.com', 'hellosign.com')
  6. any of body.links where all hold:
    • any of:
      • .href_url.domain.root_domain in $free_subdomain_hosts
      • .href_url.domain.root_domain in $free_file_hosts
    • .href_url.domain.valid
  7. any of ml.nlu_classifier(body.current_thread.text).intents where all hold:
    • .name is 'cred_theft'
    • .confidence is not 'low'

Inspects: body.current_thread.text, body.html.display_text, body.links, body.links[].href_url.domain.root_domain, body.links[].href_url.domain.valid, recipients.to, recipients.to[0].email.email, recipients.to[].email.domain.valid, sender.email.domain.domain, sender.email.domain.root_domain, sender.email.email, sender.email.local_part, type.inbound. Sensors: beta.ml_topic, ml.nlu_classifier, regex.iextract, strings.icontains, strings.parse_email. Reference lists: $free_file_hosts, $free_subdomain_hosts.

Indicators matched (9)

FieldMatchValue
strings.icontainssubstringdropbox
beta.ml_topic(coalesce(body.html.display_text, body.current_thread.text)).topics[].nameequalsFile Sharing and Cloud Services
regex.iextractregex(?P<whole_email>(?P<local_part>[a-zA-Z0-9._%-]+)@(?P<domain_name>[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}))
sender.email.domain.root_domainmemberdropbox.com
sender.email.domain.root_domainmemberdocsend.com
sender.email.domain.root_domainmemberbox.com
sender.email.domain.root_domainmemberwetransfer.com
sender.email.domain.root_domainmemberhellosign.com
ml.nlu_classifier(body.current_thread.text).intents[].nameequalscred_theft