Brand impersonation: Quickbooks
Impersonation of the Quickbooks service from Intuit.
Sublime rule (View on GitHub)
1name: "Brand impersonation: Quickbooks"
2description: "Impersonation of the Quickbooks service from Intuit."
3type: "rule"
4severity: "medium"
5source: |
6 type.inbound
7 and (
8 (
9 strings.ilike(sender.display_name, '*quickbooks*')
10 or strings.ilevenshtein(sender.display_name, 'quickbooks') <= 1
11 or strings.ilike(sender.email.domain.domain, '*quickbooks*')
12 )
13 or strings.ilike(body.current_thread.text, "*invoice*")
14 )
15 and (
16 any(ml.logo_detect(beta.message_screenshot()).brands,
17 .name == "Quickbooks" and .confidence in ("medium", "high")
18 )
19 // contains the address and copyright
20 or
21 (
22 strings.icontains(body.current_thread.text,
23 '2800 E. Commerce Center Place, Tucson, AZ 85706'
24 )
25 and regex.icontains(body.current_thread.text, '©\s*(?:\d+)\s*Intuit')
26 )
27 or strings.icontains(body.current_thread.text, 'Powered by QuickBooks')
28 )
29 and sender.email.domain.root_domain not in~ (
30 'intuit.com',
31 'turbotax.com',
32 'intuit.ca',
33 'meliopayments.com',
34 'qemailserver.com',
35 'intuit.co.uk',
36 'quickbooksonline.com',
37 'tsheets.com'
38 )
39 and (
40 not profile.by_sender().any_false_positives
41 and not profile.by_sender().solicited
42 )
43 // links in body are not known QB domains or the senders root website (both indicative of a legitimate QuickBooks invoice message)
44 and (
45 length(filter(body.links,
46 .href_url.domain.root_domain in~ (
47 'intuit.com',
48 'turbotax.com',
49 'intuit.ca',
50 'meliopayments.com',
51 'qemailserver.com',
52 'intuit.co.uk',
53 'quickbooksonline.com'
54 )
55 or (
56 .href_url.domain.domain == sender.email.domain.domain
57 and (.href_url.path is null or .href_url.path == "/")
58 )
59 )
60 ) != length(body.links)
61 // or no valid links
62 or length(filter(body.links, .href_url.domain.domain is not null)) == 0
63 )
64 // negate common sender of quickbooks reseller
65 and not strings.icontains(body.current_thread.text, 'Purchasing Reviews, Inc')
66 // negate highly trusted sender domains unless they fail DMARC authentication
67 and (
68 (
69 sender.email.domain.root_domain in $high_trust_sender_root_domains
70 and not headers.auth_summary.dmarc.pass
71 )
72 or sender.email.domain.root_domain not in $high_trust_sender_root_domains
73 )
74attack_types:
75 - "Callback Phishing"
76 - "Credential Phishing"
77tactics_and_techniques:
78 - "Impersonation: Brand"
79 - "Social engineering"
80detection_methods:
81 - "Computer Vision"
82 - "Content analysis"
83 - "Header analysis"
84 - "Sender analysis"
85id: "4fd791d1-a053-5c2d-80dd-c6dcdc112a62"