Detection rules › Sublime MQL
Google Notification alert link from non-Google sender
This rule detects messages that leverage a link to notifications.google.com not from google and from an untrusted sender. Commonly abused in salesforce phishing campaigns.
Threat classification
Sublime's own taxonomy (not MITRE ATT&CK).
| Category | Values |
|---|---|
| Attack types | Credential Phishing |
| Tactics and techniques | Social engineering |
Event coverage
Rule body MQL
type.inbound
// ignore messages from google[.]com unlesss they fail DMARC authentication
and (
(
sender.email.domain.root_domain in ("google.com", "youtube.com", "nest.com")
and not headers.auth_summary.dmarc.pass
)
or sender.email.domain.root_domain not in (
"google.com",
"youtube.com",
"nest.com"
)
)
and any(body.links,
.href_url.domain.domain == "notifications.google.com"
and strings.starts_with(.href_url.path, "/g/p/")
)
and (
any($suspicious_subjects, strings.icontains(subject.subject, .))
or strings.ilike(subject.subject, '*verification*')
)
and (
(
profile.by_sender().prevalence in ("new", "outlier")
and not profile.by_sender().solicited
)
or (
profile.by_sender().any_messages_malicious_or_spam
and not profile.by_sender().any_messages_benign
)
// we've observed salesforce abuse
or sender.email.domain.root_domain == "salesforce.com"
or headers.return_path.domain.root_domain == "salesforce.com"
)
and not profile.by_sender().any_messages_benign
Detection logic
Scope: inbound message.
This rule detects messages that leverage a link to notifications.google.com not from google and from an untrusted sender. Commonly abused in salesforce phishing campaigns.
- inbound message
any of:
all of:
- sender.email.domain.root_domain in ('google.com', 'youtube.com', 'nest.com')
not:
- headers.auth_summary.dmarc.pass
- sender.email.domain.root_domain not in ('google.com', 'youtube.com', 'nest.com')
any of
body.linkswhere all hold:- .href_url.domain.domain is 'notifications.google.com'
- .href_url.path starts with '/g/p/'
any of:
any of
$suspicious_subjectswhere:- strings.icontains(subject.subject)
- subject.subject matches '*verification*'
any of:
all of:
- profile.by_sender().prevalence in ('new', 'outlier')
not:
- profile.by_sender().solicited
all of:
- profile.by_sender().any_messages_malicious_or_spam
not:
- profile.by_sender().any_messages_benign
- sender.email.domain.root_domain is 'salesforce.com'
- headers.return_path.domain.root_domain is 'salesforce.com'
not:
- profile.by_sender().any_messages_benign
Inspects: body.links, body.links[].href_url.domain.domain, body.links[].href_url.path, headers.auth_summary.dmarc.pass, headers.return_path.domain.root_domain, sender.email.domain.root_domain, subject.subject, type.inbound. Sensors: profile.by_sender, strings.icontains, strings.ilike, strings.starts_with. Reference lists: $suspicious_subjects.
Indicators matched (8)
| Field | Match | Value |
|---|---|---|
sender.email.domain.root_domain | member | google.com |
sender.email.domain.root_domain | member | youtube.com |
sender.email.domain.root_domain | member | nest.com |
body.links[].href_url.domain.domain | equals | notifications.google.com |
strings.starts_with | prefix | /g/p/ |
strings.ilike | substring | *verification* |
sender.email.domain.root_domain | equals | salesforce.com |
headers.return_path.domain.root_domain | equals | salesforce.com |