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    
38    or (
39      profile.by_sender().any_messages_malicious_or_spam
40      and not profile.by_sender().any_false_positives
41    )
42  )
43  // negate highly trusted sender domains unless they fail DMARC authentication
44  and (
45    (
46      sender.email.domain.root_domain in $high_trust_sender_root_domains
47      and not headers.auth_summary.dmarc.pass
48    )
49    or sender.email.domain.root_domain not in $high_trust_sender_root_domains
50  )  
51
52attack_types:
53  - "BEC/Fraud"
54tactics_and_techniques:
55  - "Social engineering"
56detection_methods:
57  - "Content analysis"
58  - "Header analysis"
59  - "Natural Language Understanding"
60  - "Sender analysis"
61  - "URL analysis"
62  - "Whois"
63id: "db4d9bb3-0eca-5525-9a99-7c1c773b580f"
to-top