Brand impersonation: PayPal
Impersonation of PayPal.
Sublime rule (View on GitHub)
1name: "Brand impersonation: PayPal"
2description: |
3 Impersonation of PayPal.
4references:
5 - "https://www.welivesecurity.com/2019/12/20/scam-wants-more-than-paypal-logins/"
6type: "rule"
7severity: "medium"
8source: |
9 type.inbound
10 and (
11 strings.replace_confusables(sender.display_name) =~ "paypal"
12 or strings.ilevenshtein(strings.replace_confusables(sender.display_name), 'paypal') <= 1
13 or strings.ilike(strings.replace_confusables(sender.display_name), '*paypal*')
14 or any(attachments,
15 (.file_type in $file_types_images or .file_type == "pdf")
16 and any(ml.logo_detect(.).brands, .name == "PayPal")
17 and any(file.explode(.),
18 // exclude images taken with mobile cameras and screenshots from android
19 not any(.scan.exiftool.fields,
20 .key == "Model"
21 or (
22 .key == "Software"
23 and strings.starts_with(.value, "Android")
24 )
25 )
26 // exclude images taken with mobile cameras and screenshots from Apple
27 and not any(.scan.exiftool.fields,
28 .key == "DeviceManufacturer"
29 and .value == "Apple Computer Inc."
30 )
31 and strings.ilike(.scan.ocr.raw, "*PayPal*")
32 and strings.ilike(.scan.ocr.raw,
33 "*invoice*",
34 "*transaction*",
35 "*bitcoin*",
36 "*dear customer*",
37 "*suspicious activity*"
38 )
39 )
40 )
41 or (
42 any(ml.logo_detect(beta.message_screenshot()).brands, .name == "PayPal")
43 and strings.ilike(body.current_thread.text, "*PayPal*")
44 and strings.ilike(body.current_thread.text,
45 "*invoice*",
46 "*transaction*",
47 "*bitcoin*",
48 "*dear customer*",
49 "*suspicious activity*"
50 )
51 )
52 )
53 and sender.email.domain.root_domain not in (
54 'paypal.com',
55 'paypal.at',
56 'paypal.ch',
57 'paypal.nl',
58 'paypal.co.uk',
59 'google.com',
60 'q4inc.com',
61 'paypal.com.au',
62 'paypal.com.mx',
63 'paypal.se',
64 'paypal.be',
65 'paypal.de',
66 'paypal.dk',
67 'paypal.pl',
68 'paypal.es',
69 'paypal.ca',
70 'paypal.fr',
71 'paypal.it',
72 'paypal.com.sg',
73 'synchronyfinancial.com',
74 'synchronybank.com',
75 'zettle.com',
76 'paypal-experience.com',
77 'paypalcorp.com',
78 'paypal-customerfeedback.com',
79 'paypal-creditsurvey.com',
80 'paypal-prepaid.com',
81 'xoom.com',
82 'paypal.co.il',
83 'paypal.co.br'
84 )
85 and (
86 not profile.by_sender().solicited
87 or (
88 profile.by_sender().any_messages_malicious_or_spam
89 and not profile.by_sender().any_false_positives
90 )
91 )
92
93 // negate highly trusted sender domains unless they fail DMARC authentication
94 and (
95 (
96 sender.email.domain.root_domain in $high_trust_sender_root_domains
97 and not headers.auth_summary.dmarc.pass
98 )
99 or sender.email.domain.root_domain not in $high_trust_sender_root_domains
100 )
101
102attack_types:
103 - "Credential Phishing"
104tactics_and_techniques:
105 - "Impersonation: Brand"
106 - "Lookalike domain"
107 - "Social engineering"
108detection_methods:
109 - "Computer Vision"
110 - "Content analysis"
111 - "File analysis"
112 - "Header analysis"
113 - "Sender analysis"
114id: "a6b2ceee-ea57-594d-8437-698fad55c9bf"