Skip to content

Commit d9f16bf

Browse files
[PR #3740] added rule: Cloud storage impersonation with credential theft indicators
1 parent b362198 commit d9f16bf

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: "Cloud storage impersonation with credential theft indicators"
2+
description: "Detects messages impersonating cloud storage services that contain hyperlinked images leading to free file hosts, where message screenshots reveal high-confidence credential theft language and storage-related urgency tactics."
3+
type: "rule"
4+
severity: "medium"
5+
source: |
6+
type.inbound
7+
and 0 < length(body.current_thread.links) < 8
8+
and any([subject.subject, sender.display_name],
9+
regex.icontains(., "(?:cloud|storage|mailbox)")
10+
)
11+
and any(ml.nlu_classifier(beta.ocr(file.message_screenshot()).text).intents,
12+
.name == "cred_theft" and .confidence == "high"
13+
)
14+
and regex.icontains(beta.ocr(file.message_screenshot()).text,
15+
"storage.{0,50}full",
16+
"free.{0,50}upgrade",
17+
"storage.{0,50}details",
18+
"storage.{0,50}quot",
19+
"(?:mailbox|cloud|account).{0,50}disabled",
20+
"(?:email|cloud|total).{0,50}storage",
21+
"(?:account|cloud).{0,50}(?:suspended?|at risk)"
22+
)
23+
and not strings.ilike(beta.ocr(file.message_screenshot()).text, "*free plan*")
24+
and (
25+
any(body.current_thread.links,
26+
// fingerprints of a hyperlinked image
27+
.display_text is null
28+
and .display_url.url is null
29+
and .href_url.domain.domain not in $tenant_domains
30+
and (
31+
.href_url.domain.root_domain in $free_file_hosts
32+
or .href_url.domain.root_domain == "beehiiv.com"
33+
)
34+
)
35+
or (
36+
(
37+
not headers.auth_summary.spf.pass
38+
or (
39+
headers.return_path.domain.root_domain is not null
40+
and headers.return_path.domain.root_domain != sender.email.domain.root_domain
41+
)
42+
)
43+
// negate security training platforms
44+
and headers.return_path.domain.root_domain not in~ (
45+
"knowbe4.com",
46+
"proofpoint.com",
47+
"cofense.com",
48+
"infosec.com"
49+
)
50+
)
51+
)
52+
53+
// and the sender is not from high trust sender root domains
54+
and (
55+
(
56+
sender.email.domain.root_domain in $high_trust_sender_root_domains
57+
and not headers.auth_summary.dmarc.pass
58+
)
59+
or sender.email.domain.root_domain not in $high_trust_sender_root_domains
60+
)
61+
attack_types:
62+
- "Credential Phishing"
63+
tactics_and_techniques:
64+
- "Free file host"
65+
- "Image as content"
66+
- "Impersonation: Brand"
67+
- "Social engineering"
68+
detection_methods:
69+
- "Computer Vision"
70+
- "Content analysis"
71+
- "Header analysis"
72+
- "Natural Language Understanding"
73+
- "Optical Character Recognition"
74+
- "Sender analysis"
75+
- "URL analysis"
76+
id: "6e9cade3-a304-5f94-83af-3cd1cbadea90"
77+
og_id: "4c20f72c-0045-518c-8157-7dad5f196ecc"
78+
testing_pr: 3740
79+
testing_sha: a91481c8a3f4ad2a12178718757ba8b66dabbbd9

0 commit comments

Comments
 (0)