Skip to content

Commit 4357aac

Browse files
[Shared Samples] [PR #4364] added rule: PR# 4364 - Suspicious newly registered reply-to domain with engaging financial or urgent language
1 parent 5b68dc2 commit 4357aac

1 file changed

Lines changed: 73 additions & 0 deletions

File tree

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
name: "PR# 4364 - Suspicious newly registered reply-to domain with engaging financial or urgent language"
2+
description: |
3+
Detects messages from a mismatched newly registered Reply-to domain that contain a financial or urgent request, or a request and
4+
an NLU tag with medium to high confidence, from an untrusted sender. This technique is typically observed in Vendor impersonation.
5+
type: "rule"
6+
severity: "medium"
7+
source: |
8+
type.inbound
9+
and length(body.current_thread.text) < 5000
10+
and (
11+
any(headers.reply_to,
12+
// mismatched reply-to and sender domain
13+
.email.domain.root_domain != sender.email.domain.root_domain
14+
// newly registered reply-to domain
15+
and network.whois(.email.domain).days_old <= 30
16+
)
17+
or (
18+
network.whois(sender.email.domain).days_old < 30
19+
and sender.email.domain.tld in $suspicious_tlds
20+
)
21+
)
22+
// request is being made
23+
and any(ml.nlu_classifier(body.current_thread.text).entities,
24+
.name == "request"
25+
)
26+
// there's financial/urgency OR a tag of medium/high confidence
27+
and (
28+
any(ml.nlu_classifier(body.current_thread.text).entities,
29+
.name in ("financial", "urgency")
30+
)
31+
or any(ml.nlu_classifier(body.current_thread.text).tags,
32+
.name is not null and .confidence in ("medium", "high")
33+
)
34+
)
35+
and (
36+
not profile.by_sender().solicited
37+
38+
//
39+
// This rule makes use of a beta feature and is subject to change without notice
40+
// using the beta feature in custom rules is not suggested until it has been formally released
41+
//
42+
or not beta.profile.by_reply_to().solicited
43+
or (
44+
profile.by_sender().any_messages_malicious_or_spam
45+
and not profile.by_sender().any_messages_benign
46+
)
47+
)
48+
// negate highly trusted sender domains unless they fail DMARC authentication
49+
and (
50+
(
51+
sender.email.domain.root_domain in $high_trust_sender_root_domains
52+
and not headers.auth_summary.dmarc.pass
53+
)
54+
or sender.email.domain.root_domain not in $high_trust_sender_root_domains
55+
)
56+
attack_types:
57+
- "BEC/Fraud"
58+
tactics_and_techniques:
59+
- "Social engineering"
60+
detection_methods:
61+
- "Content analysis"
62+
- "Header analysis"
63+
- "Natural Language Understanding"
64+
- "Sender analysis"
65+
- "URL analysis"
66+
- "Whois"
67+
id: "4e995310-f7be-5023-b58c-8d3ef959ba41"
68+
tags:
69+
- created_from_open_prs
70+
- rule_status_modified
71+
- pr_author_IndiaAce
72+
references:
73+
- https://github.com/sublime-security/sublime-rules/pull/4364

0 commit comments

Comments
 (0)