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 .href_url.domain.domain != "play.google.com"
27 and ml.link_analysis(., mode="aggressive").credphish.disposition == "phishing"
28 and ml.link_analysis(., mode="aggressive").credphish.confidence in (
29 "medium",
30 "high"
31 )
32 and not .href_url.domain.root_domain == "c3reservations.com"
33 )
34 and (
35 (
36 profile.by_sender().prevalence in ("new", "outlier")
37 and not profile.by_sender().solicited
38 )
39 or (
40 profile.by_sender().any_messages_malicious_or_spam
41 and not profile.by_sender().any_false_positives
42 )
43 )
44
45 // negate docusign 'via' messages
46 and not (
47 any(headers.hops,
48 any(.fields,
49 .name == "X-Api-Host" and strings.ends_with(.value, "docusign.net")
50 )
51 )
52 and strings.contains(sender.display_name, "via")
53 )
54
55 // negate docusign originated emails
56 and not any(headers.hops,
57 regex.imatch(.received.server.raw, ".+.docusign.(net|com)")
58 )
59
60 // negate highly trusted sender domains unless they fail DMARC authentication
61 and (
62 (
63 sender.email.domain.root_domain in $high_trust_sender_root_domains
64 and not headers.auth_summary.dmarc.pass
65 )
66 or sender.email.domain.root_domain not in $high_trust_sender_root_domains
67 )
68
69attack_types:
70 - "Credential Phishing"
71tactics_and_techniques:
72 - "Social engineering"
73detection_methods:
74 - "Computer Vision"
75 - "Sender analysis"
76 - "URL analysis"
77 - "URL screenshot"
78id: "f0c95bb7-afeb-5c8d-a654-74b5e026007f"