Brand impersonation: UPS

Impersonation of United Parcel Service (UPS).

Sublime rule (View on GitHub)

 1name: "Brand impersonation: UPS"
 2description: |
 3    Impersonation of United Parcel Service (UPS).
 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 =~ "UPS My Choice"
15    or strings.ilike(sender.email.local_part, "*united*parcel*service*")
16    or strings.ilike(sender.email.domain.domain, '*united*parcel*service*')
17    or sender.email.local_part =~ "ups"
18    or regex.icontains(sender.display_name,
19                       "U[^a-zA-Z]P[^a-zA-Z]S(?:[^a-zA-Z]|$)"
20    )
21  )
22  and (
23    // Observed in the "footer" of impersation messages
24    // added this due to the UPS image not loading on some emails
25    strings.icontains(body.current_thread.text, "United Parcel Service of")
26    or any(ml.logo_detect(beta.message_screenshot()).brands, .name is not null)
27  )
28  and sender.email.email not in $recipient_emails
29
30  // negate highly trusted sender domains unless they fail DMARC authentication
31  and (
32    (
33      sender.email.domain.root_domain in $high_trust_sender_root_domains
34      and not headers.auth_summary.dmarc.pass
35    )
36    or sender.email.domain.root_domain not in $high_trust_sender_root_domains
37  )  
38attack_types:
39  - "Credential Phishing"
40tactics_and_techniques:
41  - "Impersonation: Brand"
42  - "Lookalike domain"
43  - "Social engineering"
44detection_methods:
45  - "Computer Vision"
46  - "Sender analysis"
47id: "73b68869-5720-5dc3-b4bc-15730de972d8"
to-top