Fake voicemail notification (untrusted sender)
This rule detects a common credential phishing vector enticing the user to engage with links under the premise that they have a voicemail to retrieve. The rule looks for voicemail verbiage in the display name, body, subject or a combination of those elements with emojis or a medium to high credential theft NLU Intent from first-time + unsolicited sender.
Sublime rule (View on GitHub)
1name: "Fake voicemail notification (untrusted sender)"
2description: |
3 This rule detects a common credential phishing vector enticing the user to engage with links under the premise that they have a voicemail to retrieve.
4 The rule looks for voicemail verbiage in the display name, body, subject or a combination of those elements with emojis or a medium to high credential theft NLU Intent from first-time + unsolicited sender.
5type: "rule"
6severity: "medium"
7source: |
8 type.inbound
9 and length(body.links) < 5
10 // voicemail related
11 and (
12 any([subject.subject, sender.display_name, ],
13 regex.icontains(.,
14 '(voice|audio|call|missed|caii)(\s?|-)(mail|message|recording|call|caii)|transcription|open mp3|\([0-9]{3}\).(\*\*\*|[0-9]{3}).\*\*\*'
15 )
16 or regex.icontains(body.current_thread.text,
17 '(voice|audio|call|missed|caii)(\s?|-)(mail|message|recording|call|caii)|transcription|open mp3|\([0-9]{3}\).(\*\*\*|[0-9]{3}).\*\*\*'
18 )
19 )
20 )
21 and 2 of (
22 (
23 any(ml.nlu_classifier(body.current_thread.text).intents,
24 .name in ("cred_theft") and .confidence in ("medium", "high")
25 )
26 ),
27 (
28 regex.icontains(sender.display_name,
29 '(voice|audio|call|missed|caii)(\s?|-)(mail|message|recording|call|caii)|transcription'
30 )
31 ),
32 (
33 length(body.current_thread.text) < 700
34 and any([body.current_thread.text],
35 regex.icontains(., 'Méssãge|Méssage|Recéived|Addréss')
36 )
37 ),
38 (
39 // sender domain matches no body domains
40 all(body.links,
41 .href_url.domain.root_domain != sender.email.domain.root_domain
42 and .href_url.domain.root_domain not in $org_domains
43 and .href_url.domain.root_domain not in (
44 "unitelvoice.com",
45 "googleapis.com",
46 "dialmycalls.com",
47 "ringcentral.biz"
48 )
49 )
50 ),
51 (
52 any(body.links,
53 regex.contains(.display_text, '[^a-z]*[A-Z][^a-z]*')
54 and regex.icontains(.display_text,
55 '(voice|audio|call|missed|caii)(\s?|-)(mail|message|recording|call|caii)|transcription|open mp3'
56 )
57 )
58 ),
59 (
60 any(body.links,
61 beta.whois(.href_url.domain).days_old < 10
62 and not strings.icontains(.href_url.path, "unsubscribe")
63 )
64 ),
65 (
66 // recipient's SLD is in the sender's display name
67 any(recipients.to,
68 strings.icontains(sender.display_name, .email.domain.sld)
69 )
70 ),
71 (
72 any([sender.display_name, subject.subject],
73 regex.contains(.,
74 '[\x{1F300}-\x{1F5FF}\x{1F600}-\x{1F64F}\x{1F680}-\x{1F6FF}\x{1F700}-\x{1F77F}\x{1F780}-\x{1F7FF}\x{1F900}-\x{1F9FF}\x{2600}-\x{26FF}\x{2700}-\x{27BF}\x{2300}-\x{23FF}]'
75 )
76 )
77 ),
78 )
79
80 // negating legit replies and legitimate audio file attachments and known voicemail senders
81 and sender.email.domain.root_domain not in (
82 "magicjack.com",
83 "unitelvoice.com",
84 "voipinterface.net",
85 "ringcentral.biz"
86 )
87 and not any(attachments, strings.starts_with(.content_type, "audio"))
88 and not (
89 (
90 strings.istarts_with(subject.subject, "RE:")
91 // out of office auto-reply
92 // the NLU model will handle these better natively soon
93 or strings.istarts_with(subject.subject, "Automatic reply:")
94 )
95 and (
96 length(headers.references) > 0
97 or any(headers.hops, any(.fields, strings.ilike(.name, "In-Reply-To")))
98 )
99 )
100 and (
101 (
102 profile.by_sender().prevalence in ("new", "outlier")
103 and not profile.by_sender().solicited
104 )
105 or (
106 profile.by_sender().any_messages_malicious_or_spam
107 and not profile.by_sender().any_false_positives
108 )
109 )
110
111attack_types:
112 - "Credential Phishing"
113tactics_and_techniques:
114 - "Social engineering"
115detection_methods:
116 - "Content analysis"
117 - "Natural Language Understanding"
118 - "Sender analysis"
119 - "URL analysis"
120id: "74ba7787-e543-5ce8-b6eb-e1ecdb8f1d67"