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"
to-top