Brand impersonation: Aramco
Impersonation of the petroleum and natural gas company Saudi Aramco.
Sublime rule (View on GitHub)
1name: "Brand impersonation: Aramco"
2description: |
3 Impersonation of the petroleum and natural gas company Saudi Aramco.
4type: "rule"
5severity: "medium"
6source: |
7 type.inbound
8 and length(filter(body.links, .href_url.domain.valid)) < 25
9 and (
10 strings.ilike(sender.display_name, '*aramco*')
11 or strings.ilevenshtein(sender.display_name, 'aramco') <= 1
12 or strings.ilike(sender.email.domain.domain, '*aramco*')
13 or strings.ilike(subject.subject, '*aramco*')
14 )
15 and any(ml.nlu_classifier(body.current_thread.text).entities,
16 .name == "financial" or .name == "request"
17 )
18 and (
19 (
20 any(ml.nlu_classifier(body.current_thread.text).entities,
21 strings.ilike(.text, "*aramco*")
22 )
23 and any(ml.nlu_classifier(body.current_thread.text).entities,
24 .name == "urgency"
25 )
26 )
27 or any(ml.nlu_classifier(body.current_thread.text).intents,
28 .name == "advance_fee" and .confidence != "low"
29 )
30 or regex.icount(body.current_thread.text, "vendor|supplier") > 3
31 or any(headers.reply_to, .email.domain.root_domain in $free_email_providers)
32 or network.whois(sender.email.domain).days_old <= 90
33 or any(headers.reply_to, network.whois(.email.domain).days_old < 90)
34 )
35 // Aramco domain negations
36 and not (
37 sender.email.domain.root_domain in~ (
38 'aramco.com',
39 'aramcoamericas.com',
40 'aramcoventures.com',
41 'aramcoworld.com',
42 'aramcodigital.com',
43 'aramcoeurope.com'
44 )
45 and coalesce(headers.auth_summary.dmarc.pass, false)
46 )
47 // negate emails sent by the Aston Martin Aramco F1 Team
48 and sender.email.domain.root_domain != "astonmartinf1.com"
49 and not strings.icontains(subject.subject, 'Aston Martin')
50 and not regex.icontains(subject.subject, 'Formula (?:One|1)', '\bF1\b')
51
52 // negate highly trusted sender domains unless they fail DMARC authentication
53 and not (
54 sender.email.domain.root_domain in $high_trust_sender_root_domains
55 and coalesce(headers.auth_summary.dmarc.pass, false)
56 )
57attack_types:
58 - "BEC/Fraud"
59tactics_and_techniques:
60 - "Impersonation: Brand"
61 - "Lookalike domain"
62 - "Social engineering"
63detection_methods:
64 - "Content analysis"
65 - "Header analysis"
66 - "HTML analysis"
67 - "Natural Language Understanding"
68 - "Sender analysis"
69id: "96e87699-4007-53c1-a605-ee1cd398839c"