← Back to Explore
sublimehighRule
Vendor compromise: GovDelivery message with suspicious link
Detects messages from GovDelivery that contain links to non-government domains, URL shorteners, newly registered domains, or domains with suspicious redirects. GovDelivery is a digital communications system that lets government agencies send updates via email, text, and social media. We have observed compromised American municipal and county GovDelivery delivering phishing emails.
MITRE ATT&CK
initial-accessdefense-evasion
Detection Query
type.inbound
and (
sender.email.domain.domain == "public.govdelivery.com"
or any(headers.domains, .root_domain == "govdelivery.com")
)
and (headers.auth_summary.spf.pass or headers.auth_summary.dmarc.pass)
and length(body.links) < 10
and any(body.links,
any(filter(regex.extract(.href_url.path, '/CL0/(?P<url>.*?)/1/'),
strings.parse_url(.named_groups["url"]).domain.root_domain not in (
"google.com",
"govdelivery.com",
"granicus.com",
"legistar1.com" // domain owned by granicus
)
and strings.parse_url(.named_groups["url"]).domain.tld not in (
"gov"
)
),
// this is inside the filtered results to avoid flagging this condition on known link domains, as listed above
strings.parse_url(.named_groups["url"]).domain.domain in $url_shorteners
or strings.parse_url(.named_groups["url"]).domain.domain in $social_landing_hosts
or strings.parse_url(.named_groups["url"]).domain.root_domain in $url_shorteners
or strings.parse_url(.named_groups["url"]).domain.root_domain in $social_landing_hosts
or strings.parse_url(.named_groups["url"]).domain.domain in $free_subdomain_hosts
or strings.parse_url(.named_groups["url"]).domain.root_domain in $free_subdomain_hosts
or network.whois(strings.parse_url(.named_groups["url"]).domain).days_old < 30
or any(ml.link_analysis(strings.parse_url(.named_groups["url"])).redirect_history,
network.whois(.domain).days_old < 30
or strings.icontains(.domain.domain, "ipfs")
or regex.icontains(.query_params, '[\.-/]ipfs[\.-/]')
)
// page redirects to common website, observed when evasion happens
or (
length(ml.link_analysis(strings.parse_url(.named_groups["url"])).redirect_history
) > 1
and ml.link_analysis(strings.parse_url(.named_groups["url"])).effective_url.domain.root_domain in $tranco_10k
)
)
)
Data Sources
Email MessagesEmail HeadersEmail Attachments
Platforms
email
Raw Content
name: "Vendor compromise: GovDelivery message with suspicious link"
description: "Detects messages from GovDelivery that contain links to non-government domains, URL shorteners, newly registered domains, or domains with suspicious redirects. GovDelivery is a digital communications system that lets government agencies send updates via email, text, and social media. We have observed compromised American municipal and county GovDelivery delivering phishing emails."
type: "rule"
severity: "high"
source: |
type.inbound
and (
sender.email.domain.domain == "public.govdelivery.com"
or any(headers.domains, .root_domain == "govdelivery.com")
)
and (headers.auth_summary.spf.pass or headers.auth_summary.dmarc.pass)
and length(body.links) < 10
and any(body.links,
any(filter(regex.extract(.href_url.path, '/CL0/(?P<url>.*?)/1/'),
strings.parse_url(.named_groups["url"]).domain.root_domain not in (
"google.com",
"govdelivery.com",
"granicus.com",
"legistar1.com" // domain owned by granicus
)
and strings.parse_url(.named_groups["url"]).domain.tld not in (
"gov"
)
),
// this is inside the filtered results to avoid flagging this condition on known link domains, as listed above
strings.parse_url(.named_groups["url"]).domain.domain in $url_shorteners
or strings.parse_url(.named_groups["url"]).domain.domain in $social_landing_hosts
or strings.parse_url(.named_groups["url"]).domain.root_domain in $url_shorteners
or strings.parse_url(.named_groups["url"]).domain.root_domain in $social_landing_hosts
or strings.parse_url(.named_groups["url"]).domain.domain in $free_subdomain_hosts
or strings.parse_url(.named_groups["url"]).domain.root_domain in $free_subdomain_hosts
or network.whois(strings.parse_url(.named_groups["url"]).domain).days_old < 30
or any(ml.link_analysis(strings.parse_url(.named_groups["url"])).redirect_history,
network.whois(.domain).days_old < 30
or strings.icontains(.domain.domain, "ipfs")
or regex.icontains(.query_params, '[\.-/]ipfs[\.-/]')
)
// page redirects to common website, observed when evasion happens
or (
length(ml.link_analysis(strings.parse_url(.named_groups["url"])).redirect_history
) > 1
and ml.link_analysis(strings.parse_url(.named_groups["url"])).effective_url.domain.root_domain in $tranco_10k
)
)
)
attack_types:
- "Credential Phishing"
- "Malware/Ransomware"
tactics_and_techniques:
- "Free subdomain host"
- "IPFS"
- "Social engineering"
- "Evasion"
- "Impersonation: Brand"
detection_methods:
- "Natural Language Understanding"
- "URL analysis"
- "Whois"
id: "0d2d5172-de93-5452-872e-68db64b089ce"