Credential phishing content and link (untrusted sender)
Message contains credential theft language and a link to a credential phishing page from an unknown sender. We use Link Analysis in aggressive mode to increase our chances of scanning.
Sublime rule (View on GitHub)
1name: "Credential phishing content and link (untrusted sender)"
2description: |
3 Message contains credential theft language and a link to a credential phishing page from an unknown sender.
4 We use Link Analysis in aggressive mode to increase our chances of scanning.
5type: "rule"
6severity: "high"
7source: |
8 type.inbound
9 and (
10 any(ml.nlu_classifier(body.current_thread.text).intents,
11 .name == "cred_theft" and .confidence in ("medium", "high")
12 )
13 // embedded in an image attachment
14 // note: don't use message_screenshot() for now
15 // because it's not limited to current_thread and may FP
16 or any(attachments,
17 .file_type in $file_types_images
18 and any(file.explode(.),
19 any(ml.nlu_classifier(.scan.ocr.raw).intents,
20 .name == "cred_theft" and .confidence in ("medium", "high")
21 )
22 )
23 )
24 )
25 and any(body.links,
26 ml.link_analysis(., mode="aggressive").credphish.disposition == "phishing"
27 and ml.link_analysis(., mode="aggressive").credphish.confidence in (
28 "medium",
29 "high"
30 )
31 and not .href_url.domain.root_domain == "c3reservations.com"
32 )
33 and (
34 (
35 profile.by_sender().prevalence in ("new", "outlier")
36 and not profile.by_sender().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
44 // negate docusign 'via' messages
45 and not (
46 any(headers.hops,
47 any(.fields,
48 .name == "X-Api-Host" and strings.ends_with(.value, "docusign.net")
49 )
50 )
51 and strings.contains(sender.display_name, "via")
52 )
53
54 // negate docusign originated emails
55 and not any(headers.hops,
56 regex.imatch(.received.server.raw, ".+.docusign.(net|com)")
57 )
58
59 // negate highly trusted sender domains unless they fail DMARC authentication
60 and (
61 (
62 sender.email.domain.root_domain in $high_trust_sender_root_domains
63 and not headers.auth_summary.dmarc.pass
64 )
65 or sender.email.domain.root_domain not in $high_trust_sender_root_domains
66 )
67
68attack_types:
69 - "Credential Phishing"
70tactics_and_techniques:
71 - "Social engineering"
72detection_methods:
73 - "Computer Vision"
74 - "Sender analysis"
75 - "URL analysis"
76 - "URL screenshot"
77id: "f0c95bb7-afeb-5c8d-a654-74b5e026007f"