Deceptive Dropbox mention
Detects when a message mentions Dropbox but comes from non-Dropbox infrastructure, contains links to suspicious domains, shows discrepancies in sender identity, and contains language patterns associated with credential theft.
Sublime rule (View on GitHub)
1name: "Deceptive Dropbox mention"
2description: "Detects when a message mentions Dropbox but comes from non-Dropbox infrastructure, contains links to suspicious domains, shows discrepancies in sender identity, and contains language patterns associated with credential theft."
3type: "rule"
4severity: "medium"
5source: |
6 type.inbound
7 and strings.icontains(body.current_thread.text, 'dropbox')
8 and any(beta.ml_topic(coalesce(body.html.display_text, body.current_thread.text)).topics, .name == "File Sharing and Cloud Services" and .confidence != "low")
9
10 and (
11 // Email address discrepancy detection - looking for matches in the domain name from the sender but not the current thread proposed sender name
12 any(regex.iextract(body.current_thread.text,
13 '(?P<whole_email>(?P<local_part>[a-zA-Z0-9._%-]+)@(?P<domain_name>[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}))'
14 ),
15 strings.parse_email(.named_groups["whole_email"]).domain.domain == sender.email.domain.domain
16 and strings.parse_email(.named_groups["whole_email"]).local_part != sender.email.local_part
17 and not strings.parse_email(.named_groups["whole_email"]).email in~ map(filter(recipients.to, .email.domain.valid), .email.email)
18 )
19 // self sender
20 or (
21 length(recipients.to) == 1
22 and sender.email.email == recipients.to[0].email.email
23 )
24 )
25
26 // Not from legitimate Dropbox infrastructure
27 and sender.email.domain.root_domain not in~ (
28 'dropbox.com',
29 'docsend.com',
30 'box.com',
31 'wetransfer.com',
32 // tuning: exlude hellosign emails that are covered in another rule
33 'hellosign.com'
34 )
35
36 // Contains suspicious links to non-Dropbox/file-sharing domains
37 and any(body.links,
38 (.href_url.domain.root_domain in~ $free_subdomain_hosts
39 or .href_url.domain.root_domain in~ $free_file_hosts)
40 and .href_url.domain.valid
41 )
42
43 // ML indicates potential credential theft
44 and any(ml.nlu_classifier(body.current_thread.text).intents,
45 .name == "cred_theft" and .confidence != "low"
46 )
47
48attack_types:
49 - "Credential Phishing"
50tactics_and_techniques:
51 - "Impersonation: Brand"
52 - "Free file host"
53 - "Free subdomain host"
54 - "Social engineering"
55detection_methods:
56 - "Header analysis"
57 - "Content analysis"
58 - "Natural Language Understanding"
59 - "Sender analysis"
60 - "URL analysis"
61id: "58a107bc-dd68-5fdd-9813-4a05411aafd9"