Suspicious newly registered reply-to domain with engaging financial or urgent language

Detects messages from a mismatched newly registered Reply-to domain that contain a financial or urgent request, or a request and an NLU tag with medium to high confidence, from an untrusted sender. This technique is typically observed in Vendor impersonation.

Sublime rule (View on GitHub)

 1name: "Suspicious newly registered reply-to domain with engaging financial or urgent language"
 2description: |
 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.  
 5type: "rule"
 6severity: "medium"
 7source: |
 8  type.inbound
 9  and length(body.current_thread.text) < 5000
10  and any(headers.reply_to,
11          // mismatched reply-to and sender domain
12          .email.domain.root_domain != sender.email.domain.root_domain
13          // newly registered reply-to domain
14          and network.whois(.email.domain).days_old <= 30
15  )
16  // request is being made
17  and any(ml.nlu_classifier(body.current_thread.text).entities,
18          .name == "request"
19  )
20  // there's financial/urgency OR a tag of medium/high confidence
21  and (
22    any(ml.nlu_classifier(body.current_thread.text).entities,
23        .name in ("financial", "urgency")
24    )
25    or any(ml.nlu_classifier(body.current_thread.text).tags,
26           .name is not null and .confidence in ("medium", "high")
27    )
28  )
29  and (
30    not profile.by_sender().solicited
31  
32    // 
33    // This rule makes use of a beta feature and is subject to change without notice
34    // using the beta feature in custom rules is not suggested until it has been formally released
35    // 
36    or not beta.profile.by_reply_to().solicited
37    or (
38      profile.by_sender().any_messages_malicious_or_spam
39      and not profile.by_sender().any_messages_benign
40    )
41  )
42  // negate highly trusted sender domains unless they fail DMARC authentication
43  and (
44    (
45      sender.email.domain.root_domain in $high_trust_sender_root_domains
46      and not headers.auth_summary.dmarc.pass
47    )
48    or sender.email.domain.root_domain not in $high_trust_sender_root_domains
49  )  
50attack_types:
51  - "BEC/Fraud"
52tactics_and_techniques:
53  - "Social engineering"
54detection_methods:
55  - "Content analysis"
56  - "Header analysis"
57  - "Natural Language Understanding"
58  - "Sender analysis"
59  - "URL analysis"
60  - "Whois"
61id: "db4d9bb3-0eca-5525-9a99-7c1c773b580f"
to-top