Brand impersonation: Microsoft quarantine release notification in image attachment
Message with an image attachment containing credential theft language and references to the Microsoft Exchange quarantine, but did not come from Microsoft.
Sublime rule (View on GitHub)
1name: "Brand impersonation: Microsoft quarantine release notification in image attachment"
2description: |
3 Message with an image attachment containing credential theft language and references to the Microsoft Exchange quarantine, but did not come from Microsoft.
4type: "rule"
5severity: "high"
6source: |
7 type.inbound
8 and length(filter(attachments, .file_type not in $file_types_images)) == 0
9 and any(attachments,
10 any(file.explode(.),
11 (
12 any(ml.nlu_classifier(.scan.ocr.raw).intents,
13 .name == "cred_theft" and .confidence != "low"
14 )
15 or (
16 length(ml.nlu_classifier(.scan.ocr.raw).intents) == 0
17 and length(ml.nlu_classifier(.scan.ocr.raw).entities) > 2
18 )
19 )
20 and (
21 (
22 any(ml.nlu_classifier(.scan.ocr.raw).entities,
23 .name == "urgency"
24 )
25 )
26 or any(ml.nlu_classifier(.scan.ocr.raw).entities,
27 .name == "sender" and strings.icontains(.text, "Microsoft")
28 )
29 )
30 )
31 and any(file.explode(.),
32 3 of (
33 strings.icontains(.scan.ocr.raw, "review"),
34 strings.icontains(.scan.ocr.raw, "release"),
35 strings.icontains(.scan.ocr.raw, "quarantine"),
36 strings.icontains(.scan.ocr.raw, "messages"),
37 strings.icontains(.scan.ocr.raw, "blocked"),
38 strings.icontains(.scan.ocr.raw, "notification"),
39 any(ml.logo_detect(..).brands,
40 strings.starts_with(.name, "Microsoft")
41 )
42 )
43 )
44 )
45 and sender.email.domain.root_domain not in (
46 "bing.com",
47 "microsoft.com",
48 "microsoftonline.com",
49 "microsoftsupport.com",
50 "microsoft365.com",
51 "office.com",
52 "onedrive.com",
53 "sharepointonline.com",
54 "yammer.com",
55 )
56
57 // negate highly trusted sender domains unless they fail DMARC authentication
58 and not (
59 sender.email.domain.root_domain in $high_trust_sender_root_domains
60 and coalesce(headers.auth_summary.dmarc.pass, false)
61 )
62 and not profile.by_sender().solicited
63 and not profile.by_sender().any_messages_benign
64
65attack_types:
66 - "Credential Phishing"
67tactics_and_techniques:
68 - "Free file host"
69 - "Impersonation: Brand"
70 - "Social engineering"
71detection_methods:
72 - "Computer Vision"
73 - "Content analysis"
74 - "File analysis"
75 - "Header analysis"
76 - "Natural Language Understanding"
77 - "Optical Character Recognition"
78 - "Sender analysis"
79id: "185db6b3-b35c-578d-bd9f-dab0703288fe"