Brand impersonation: Survey request with credential theft indicators
Detects messages containing credential theft language disguised as survey requests from promotional content, targeting organizations from untrusted or spoofed high-trust domains.
Sublime rule (View on GitHub)
1name: "Brand impersonation: Survey request with credential theft indicators"
2description: "Detects messages containing credential theft language disguised as survey requests from promotional content, targeting organizations from untrusted or spoofed high-trust domains."
3type: "rule"
4severity: "medium"
5source: |
6 type.inbound
7 and (
8 any(ml.nlu_classifier(body.current_thread.text).intents,
9 .name == "cred_theft" and .confidence == "high"
10 )
11 or any(ml.nlu_classifier(body.current_thread.text).entities,
12 .name == "org"
13 and (
14 .text in ("AAA")
15 or strings.icontains(.text,
16 'colgate',
17 'medicare kit',
18 'blackstone griddle',
19 'oral-b',
20 'united healthcare',
21 'dewalt tower tool box'
22 )
23 )
24 )
25 or any(ml.nlu_classifier(body.current_thread.text).entities,
26 .name == "sender"
27 and (
28 strings.icontains(.text, "sam's club", "kobalt", "ace hardware")
29 or regex.icontains(.text, "lowe\'s.{0,10}reward")
30 )
31 )
32 or any(ml.nlu_classifier(body.current_thread.text).entities,
33 .name == "request"
34 and regex.icontains(.text, 'claim\s+your\s+(?:free|medical)?\s+kit')
35 )
36 or length(filter(ml.nlu_classifier(body.current_thread.text).entities,
37 .name == "financial"
38 and regex.icontains(.text, '\d{2}%\s*discount$')
39 )
40 ) >= 2
41 )
42 and any(ml.nlu_classifier(body.current_thread.text).topics,
43 .name == "Advertising and Promotions" and .confidence != "low"
44 )
45 and any(ml.nlu_classifier(body.current_thread.text).entities,
46 .name in ("request", "org")
47 and strings.icontains(.text, "survey", "share\nyour feedback")
48 )
49 and not (
50 sender.email.domain.root_domain in ("barracudanetworks.com")
51 and coalesce(headers.auth_summary.dmarc.pass, false)
52 )
53 // and the sender is not from high trust sender root domains
54 and not (
55 sender.email.domain.root_domain in $high_trust_sender_root_domains
56 and coalesce(headers.auth_summary.dmarc.pass, false)
57 )
58attack_types:
59 - "Credential Phishing"
60tactics_and_techniques:
61 - "Social engineering"
62 - "Impersonation: Brand"
63 - "Spoofing"
64detection_methods:
65 - "Content analysis"
66 - "Header analysis"
67 - "Natural Language Understanding"
68 - "Sender analysis"
69id: "ea1c0e09-ef3d-5c30-b5c1-ffa1b71a7b88"