Skip to content

Commit 2c3c5b1

Browse files
[PR #3023] changed rule: Brand impersonation: Twitter
1 parent e938998 commit 2c3c5b1

File tree

1 file changed

+79
-0
lines changed

1 file changed

+79
-0
lines changed
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
name: "Brand impersonation: Twitter"
2+
description: |
3+
Impersonation of Twitter.
4+
references:
5+
- "https://www.techrepublic.com/article/phishing-attack-spoofs-twitter-to-steal-account-credentials/"
6+
type: "rule"
7+
severity: "medium"
8+
source: |
9+
type.inbound
10+
and (
11+
// Twitter logic
12+
(
13+
sender.display_name =~ "twitter"
14+
or strings.ilevenshtein(sender.display_name, 'twitter') <= 1
15+
or strings.ilike(sender.email.domain.domain, '*twitter*')
16+
)
17+
// "X" logic
18+
or (
19+
(
20+
2 of (
21+
regex.icontains(sender.display_name, '\bX\b'),
22+
strings.iends_with(sender.email.domain.root_domain, "-x.com"),
23+
strings.ilike(body.current_thread.text,
24+
"*content dispute*",
25+
"*copyright*",
26+
"*appeal*"
27+
),
28+
strings.contains(body.current_thread.text, '1355 Market Street')
29+
)
30+
or (
31+
any(ml.logo_detect(beta.message_screenshot()).brands,
32+
.name == "X" and .confidence == "high"
33+
)
34+
and (
35+
any(ml.nlu_classifier(body.current_thread.text).intents,
36+
.name == "cred_theft" and .confidence == "high"
37+
)
38+
or any(ml.nlu_classifier(beta.ocr(beta.message_screenshot()).text).intents,
39+
.name == "cred_theft" and .confidence == "high"
40+
)
41+
)
42+
)
43+
)
44+
and any(beta.ml_topic(body.current_thread.text).topics,
45+
.name in (
46+
"Reminders and Notifications",
47+
"Security and Authentication",
48+
"Legal and Compliance",
49+
"Customer Service and Support"
50+
)
51+
)
52+
)
53+
)
54+
and sender.email.domain.domain not in~ (
55+
'twitter.com',
56+
'privaterelay.appleid.com',
57+
'stripe.com',
58+
'x.com',
59+
'twitter.discoursemail.com',
60+
'slack.com'
61+
)
62+
// negate Hearsay Systems which sends notifications from sender domain ending in twitter.com
63+
and not (
64+
strings.ends_with(sender.email.domain.domain, '.hearsay.twitter.com')
65+
and strings.ends_with(headers.message_id, '@hearsaysystems.com>')
66+
)
67+
and sender.email.email not in $recipient_emails
68+
attack_types:
69+
- "Credential Phishing"
70+
tactics_and_techniques:
71+
- "Impersonation: Brand"
72+
- "Lookalike domain"
73+
- "Social engineering"
74+
detection_methods:
75+
- "Sender analysis"
76+
id: "2d4a1e87-3f31-5f5f-8700-7c2bbed30a40"
77+
og_id: "013c32c2-fa05-5456-9c45-284e008ff6a4"
78+
testing_pr: 3023
79+
testing_sha: 958a80aa7b4adaf4dff5d38a2ca9a49bbd6d891a

0 commit comments

Comments
 (0)