Detection rules › Sublime MQL
Link: Referrer anonymization service from untrusted sender
Detects messages containing links that utilize a referrer anonymization service. The rule examines senders who are either not in a trusted domain list or have failed DMARC authentication despite being from a trusted domain.
Threat classification
Sublime's own taxonomy (not MITRE ATT&CK).
| Category | Values |
|---|---|
| Attack types | Credential Phishing |
| Tactics and techniques | Open redirect, Evasion |
Event coverage
Rule body MQL
type.inbound
and any(body.links,
// href.li
(
.href_url.domain.root_domain == "href.li"
and .href_url.query_params is not null
)
or "href_li" in .href_url.rewrite.encoders
// deref-mail
or (
(
(
strings.istarts_with(.href_url.path, '/mail/client/')
and strings.icontains(.href_url.query_params, 'redirectUrl=')
)
or "deref_mail" in .href_url.rewrite.encoders
)
// this seems to be a common behavior for gmx users
and not sender.email.domain.domain in ("gmx.de", "gmx.net")
and not (
sender.email.domain.domain == "mail.com"
and any(headers.domains, .root_domain == "mail.com")
)
// remove any links that include org domains
and not any($org_domains,
strings.icontains(..href_url.query_params, .)
)
// remove any links that are to common "signature" sites
// this does open up some FNs due to abuse of redirects of these sites
// if FNs are obsevered, we should tighten the logic of these to account
// for the redirect behavior
and not any(['facebook.com', 'x.com', 'twitter.com', 'instagram.com'],
strings.icontains(..href_url.query_params, .)
)
// remove links which contain the sender domain if the sender doesn't have any malicious messages
and not (
strings.icontains(.href_url.query_params,
sender.email.domain.root_domain
)
and not profile.by_sender_domain().any_messages_malicious_or_spam
)
)
)
// apply sender profile elements specific to the sender_email
and (
profile.by_sender_email().prevalence == "new"
// if they aren't new, there are some condition that still result in a match
or (
// and have been flagged previous
profile.by_sender_email().any_messages_malicious_or_spam
// without any false positives
and not profile.by_sender_email().any_messages_benign
)
)
// negate solicited senders
and not profile.by_sender_email().solicited
// 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.
Detects messages containing links that utilize a referrer anonymization service. The rule examines senders who are either not in a trusted domain list or have failed DMARC authentication despite being from a trusted domain.
- inbound message
any of
body.linkswhere any holds:all of:
- .href_url.domain.root_domain is 'href.li'
- .href_url.query_params is set
- .href_url.rewrite.encoders contains 'href_li'
all of:
any of:
all of:
- .href_url.path starts with '/mail/client/'
- .href_url.query_params contains 'redirectUrl='
- .href_url.rewrite.encoders contains 'deref_mail'
not:
- sender.email.domain.domain in ('gmx.de', 'gmx.net')
not:
all of:
- sender.email.domain.domain is 'mail.com'
any of
headers.domainswhere:- .root_domain is 'mail.com'
not:
any of
$org_domainswhere:- strings.icontains(.href_url.query_params)
not:
any of
['facebook.com', 'x.com', 'twitter.com', 'instagram.com']where:- strings.icontains(.href_url.query_params)
not:
all of:
- strings.icontains(.href_url.query_params)
not:
- profile.by_sender_domain().any_messages_malicious_or_spam
any of:
- profile.by_sender_email().prevalence is 'new'
all of:
- profile.by_sender_email().any_messages_malicious_or_spam
not:
- profile.by_sender_email().any_messages_benign
not:
- profile.by_sender_email().solicited
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.links, body.links[].href_url.domain.root_domain, body.links[].href_url.path, body.links[].href_url.query_params, body.links[].href_url.rewrite.encoders, headers.auth_summary.dmarc.pass, headers.domains, headers.domains[].root_domain, sender.email.domain.domain, sender.email.domain.root_domain, type.inbound. Sensors: profile.by_sender_domain, profile.by_sender_email, strings.icontains, strings.istarts_with. Reference lists: $high_trust_sender_root_domains, $org_domains.
Indicators matched (9)
| Field | Match | Value |
|---|---|---|
body.links[].href_url.domain.root_domain | equals | href.li |
body.links[].href_url.rewrite.encoders | contains | href_li |
strings.istarts_with | prefix | /mail/client/ |
strings.icontains | substring | redirectUrl= |
body.links[].href_url.rewrite.encoders | contains | deref_mail |
sender.email.domain.domain | member | gmx.de |
sender.email.domain.domain | member | gmx.net |
sender.email.domain.domain | equals | mail.com |
headers.domains[].root_domain | equals | mail.com |