Brand impersonation: UPS

Detects messages impersonating UPS (United Parcel Service) through display name, email address patterns, subject content, or HTML styling that mimics UPS branding, while excluding legitimate UPS domains.

Sublime rule (View on GitHub)

 1name: "Brand impersonation: UPS"
 2description: |
 3    Detects messages impersonating UPS (United Parcel Service) through display name, email address patterns, subject content, or HTML styling that mimics UPS branding, while excluding legitimate UPS domains.
 4references:
 5  - "https://www.bleepingcomputer.com/news/security/phishing-campaign-uses-upscom-xss-vuln-to-distribute-malware/"
 6  - "https://twitter.com/DanielGallagher/status/1429794038463479813"
 7  - "https://www.ups.com/us/en/help-center/legal-terms-conditions/fight-fraud/recognize.page"
 8type: "rule"
 9severity: "low"
10source: |
11  type.inbound
12  and sender.email.domain.root_domain not in ("ups.com", "upsemail.com")
13  and (
14    sender.display_name in~ ("UPS My Choice", "UPS Services", "Ups.com")
15    or regex.icontains(sender.display_name, 'ups-\w+')
16    // sender display name with weird delivery id
17    or regex.icontains(sender.display_name, '\bups\b.{0,40}id[\s-]?[a-z0-9]{6,}')
18    or strings.ilike(sender.email.local_part, "*united*parcel*service*")
19    or strings.ilike(sender.email.domain.domain, '*united*parcel*service*')
20    or strings.icontains(subject.subject, 'UPS delivery')
21    or sender.email.local_part =~ "ups"
22    or regex.icontains(sender.display_name,
23                       "U[^a-zA-Z]P[^a-zA-Z]S(?:[^a-zA-Z]|$)"
24    )
25    or strings.icontains(body.html.raw, 'background-color:#351d20')
26    or strings.icontains(body.html.raw, 'background-color: #351d20')
27    or (
28      regex.imatch(sender.display_name, 'ups')
29      and not sender.email.domain.root_domain == "appleid.com"
30    )
31  )
32  and (
33    // Observed in the "footer" of impersation messages
34    // added this due to the UPS image not loading on some emails
35    strings.icontains(body.current_thread.text, "United Parcel Service of")
36    or regex.icontains(body.current_thread.text,
37                       "(©|®).{0,15}(?:U.?P.?S.?|United Parcel Service)"
38    )
39    or any(ml.logo_detect(file.message_screenshot()).brands, .name is not null)
40  )
41  and sender.email.email not in $recipient_emails
42  
43  // negate highly trusted sender domains unless they fail DMARC authentication
44  and (
45    (
46      sender.email.domain.root_domain in $high_trust_sender_root_domains
47      and not headers.auth_summary.dmarc.pass
48    )
49    or sender.email.domain.root_domain not in $high_trust_sender_root_domains
50  )  
51attack_types:
52  - "Credential Phishing"
53tactics_and_techniques:
54  - "Impersonation: Brand"
55  - "Lookalike domain"
56  - "Social engineering"
57detection_methods:
58  - "Computer Vision"
59  - "Sender analysis"
60id: "73b68869-5720-5dc3-b4bc-15730de972d8"
to-top