Detection rules › Sublime MQL

Link: Google Drawings link from new sender

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

Detects messages containing Google Drawings links from previously unseen senders, which may indicate abuse of Google's drawing service for malicious content delivery.

Threat classification

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

CategoryValues
Attack typesCredential Phishing, BEC/Fraud
Tactics and techniquesSocial engineering

Event coverage

Message attribute
body.current_thread
type

Rule body MQL

type.inbound
// google drawings link
and any(body.current_thread.links,
        .href_url.domain.domain == "docs.google.com"
        and strings.istarts_with(.href_url.path, '/drawings')
        and (
          strings.icontains(.href_url.path, '/preview')
          or any(ml.nlu_classifier(body.current_thread.text).intents,
                 .name == "cred_theft" and .confidence != "low"
          )
        )
)
and profile.by_sender_email().prevalence == "new"

Detection logic

Scope: inbound message.

Detects messages containing Google Drawings links from previously unseen senders, which may indicate abuse of Google's drawing service for malicious content delivery.

  1. inbound message
  2. any of body.current_thread.links where all hold:
    • .href_url.domain.domain is 'docs.google.com'
    • .href_url.path starts with '/drawings'
    • any of:
      • .href_url.path contains '/preview'
      • any of ml.nlu_classifier(body.current_thread.text).intents where all hold:
        • .name is 'cred_theft'
        • .confidence is not 'low'
  3. profile.by_sender_email().prevalence is 'new'

Inspects: body.current_thread.links, body.current_thread.links[].href_url.domain.domain, body.current_thread.links[].href_url.path, body.current_thread.text, type.inbound. Sensors: ml.nlu_classifier, profile.by_sender_email, strings.icontains, strings.istarts_with.

Indicators matched (4)

FieldMatchValue
body.current_thread.links[].href_url.domain.domainequalsdocs.google.com
strings.istarts_withprefix/drawings
strings.icontainssubstring/preview
ml.nlu_classifier(body.current_thread.text).intents[].nameequalscred_theft