← Back to Explore
sublimemediumRule
Link: Personalized URL with recipient address on commonly abused web service
Detects messages containing links to file hosting or self-service platforms where the recipient's email address is embedded in the URL path, fragment, or base64-encoded components, indicating targeted personalization tactics.
Detection Query
type.inbound
and length(recipients.to) == 1
and recipients.to[0].email.domain.valid
and 0 < length(body.links) < 10
and any(body.links,
.parser == "hyperlink"
and (
// the recipient email is in the url
(
strings.icontains(.href_url.path, recipients.to[0].email.email)
or strings.icontains(.href_url.fragment,
recipients.to[0].email.email
)
or any(strings.scan_base64(.href_url.path, ignore_padding=true),
strings.icontains(., recipients.to[0].email.email)
)
or any(strings.scan_base64(.href_url.fragment, ignore_padding=true),
strings.icontains(., recipients.to[0].email.email)
)
)
)
and (
(
.href_url.domain.root_domain in $free_file_hosts
or .href_url.domain.domain in $free_file_hosts
or .href_url.domain.root_domain in $free_subdomain_hosts
or .href_url.domain.domain in $free_subdomain_hosts
or .href_url.domain.root_domain in $self_service_creation_platform_domains
or .href_url.domain.domain in $self_service_creation_platform_domains
or .href_url.domain.root_domain in $url_shorteners
or .href_url.domain.domain in $url_shorteners
or .href_url.domain.root_domain == 'sendgrid.net'
or (
.href_url.domain.tld in $suspicious_tlds
and not .href_url.domain.tld in ('me', 'us')
)
or network.whois(.href_url.domain).days_old < 30
or regex.icontains(.href_url.path,
'\/(?:wp-(?:admin|includes)\/|redirect)'
)
)
and not .href_url.domain.root_domain in ('geotab.com')
)
// the url contains #
and strings.contains(.href_url.url, '#')
// the url doesnt contain #? or #/
and not regex.contains(.href_url.url, '#[/?]')
// not sharepoint
and not .href_url.domain.root_domain == 'sharepoint.com'
// the url doesnt contain campaign params
and not regex.icontains(.href_url.url,
'(?:location|utm_(?:term|source|medium|content|campaign))='
)
// too many fp on typeform and no recent tp
and not .href_url.domain.root_domain == 'typeform.com'
// no welcome links on frame.io
and not (
.href_url.domain.domain == 'accounts.frame.io'
and .href_url.path == '/welcome'
)
// we dont want links with common unsubscribe paths
and not strings.icontains(.href_url.path, "unsubscribe")
)
// not mimecast email with malicious blocked url in it
and not (
subject.base == 'A message triggered content policies'
and strings.icontains(body.current_thread.text, 'Mimecast Services Limited')
)
and not any(ml.nlu_classifier(body.current_thread.text).intents,
.name == 'benign' and .confidence == 'high'
)
and (
(
sender.email.domain.root_domain in $high_trust_sender_root_domains
and not coalesce(headers.auth_summary.dmarc.pass, false)
)
or sender.email.domain.root_domain not in $high_trust_sender_root_domains
)
Data Sources
Email MessagesEmail HeadersEmail Attachments
Platforms
email
Raw Content
name: "Link: Personalized URL with recipient address on commonly abused web service"
description: "Detects messages containing links to file hosting or self-service platforms where the recipient's email address is embedded in the URL path, fragment, or base64-encoded components, indicating targeted personalization tactics."
type: "rule"
severity: "medium"
source: |
type.inbound
and length(recipients.to) == 1
and recipients.to[0].email.domain.valid
and 0 < length(body.links) < 10
and any(body.links,
.parser == "hyperlink"
and (
// the recipient email is in the url
(
strings.icontains(.href_url.path, recipients.to[0].email.email)
or strings.icontains(.href_url.fragment,
recipients.to[0].email.email
)
or any(strings.scan_base64(.href_url.path, ignore_padding=true),
strings.icontains(., recipients.to[0].email.email)
)
or any(strings.scan_base64(.href_url.fragment, ignore_padding=true),
strings.icontains(., recipients.to[0].email.email)
)
)
)
and (
(
.href_url.domain.root_domain in $free_file_hosts
or .href_url.domain.domain in $free_file_hosts
or .href_url.domain.root_domain in $free_subdomain_hosts
or .href_url.domain.domain in $free_subdomain_hosts
or .href_url.domain.root_domain in $self_service_creation_platform_domains
or .href_url.domain.domain in $self_service_creation_platform_domains
or .href_url.domain.root_domain in $url_shorteners
or .href_url.domain.domain in $url_shorteners
or .href_url.domain.root_domain == 'sendgrid.net'
or (
.href_url.domain.tld in $suspicious_tlds
and not .href_url.domain.tld in ('me', 'us')
)
or network.whois(.href_url.domain).days_old < 30
or regex.icontains(.href_url.path,
'\/(?:wp-(?:admin|includes)\/|redirect)'
)
)
and not .href_url.domain.root_domain in ('geotab.com')
)
// the url contains #
and strings.contains(.href_url.url, '#')
// the url doesnt contain #? or #/
and not regex.contains(.href_url.url, '#[/?]')
// not sharepoint
and not .href_url.domain.root_domain == 'sharepoint.com'
// the url doesnt contain campaign params
and not regex.icontains(.href_url.url,
'(?:location|utm_(?:term|source|medium|content|campaign))='
)
// too many fp on typeform and no recent tp
and not .href_url.domain.root_domain == 'typeform.com'
// no welcome links on frame.io
and not (
.href_url.domain.domain == 'accounts.frame.io'
and .href_url.path == '/welcome'
)
// we dont want links with common unsubscribe paths
and not strings.icontains(.href_url.path, "unsubscribe")
)
// not mimecast email with malicious blocked url in it
and not (
subject.base == 'A message triggered content policies'
and strings.icontains(body.current_thread.text, 'Mimecast Services Limited')
)
and not any(ml.nlu_classifier(body.current_thread.text).intents,
.name == 'benign' and .confidence == 'high'
)
and (
(
sender.email.domain.root_domain in $high_trust_sender_root_domains
and not coalesce(headers.auth_summary.dmarc.pass, false)
)
or sender.email.domain.root_domain not in $high_trust_sender_root_domains
)
attack_types:
- "Credential Phishing"
- "Malware/Ransomware"
tactics_and_techniques:
- "Free file host"
- "Social engineering"
detection_methods:
- "URL analysis"
- "Header analysis"
id: "e3b5fa90-2149-54b7-ae9a-87cda01b24a5"