Detection rules › Sublime MQL

Brand impersonation: Charles Schwab

Severity
medium
Type
rule
Source
github.com/sublime-security/sublime-rules

Impersonation of Charles Schwab & Co

Threat classification

Sublime's own taxonomy (not MITRE ATT&CK).

CategoryValues
Attack typesCredential Phishing
Tactics and techniquesImpersonation: Brand, Lookalike domain, Social engineering

Event coverage

Rule body MQL

type.inbound
and (
  // display name contains charles schwab
  (
    strings.ilike(strings.replace_confusables(sender.display_name),
                  '*charles schwab*'
    )
    // no spaces
    or strings.ilike(strings.replace_confusables(sender.display_name),
                     '*charlesschwab*'
    )
    // levenshtein distince similar to schwab
    or strings.ilevenshtein(strings.replace_confusables(sender.display_name),
                            'charles schwab'
    ) <= 1
    // sender domain contains schwab
    or strings.ilike(strings.replace_confusables(sender.email.domain.domain),
                     '*schwab*'
    )
  )
)

// and the sender is not in org_domains or from charles shwab domains and passes auth
and not (
  sender.email.domain.root_domain in $org_domains
  or (
    (
      sender.email.domain.root_domain in (
        "schwab.com",
        "aboutschwab.com.",
        "schwabcorrentesettlement.com", // Schawb v. Corrente, et al. Settlement domain
        "schwabmoneywise.com",
        "schwabe.com", // law firm with name
        "proxyvote.com", // sends shareholder voting information with subject of company name
        "boheme-schwabing.de", // steakhouse
        "lesschwab.com", // tire sales
        "schwab-marketing.com", // German Marketing Agency
        "schwaben.ca" // unrelated but similar domain
      )
      or sender.email.domain.domain in ("schwabebooks.ccsend.com")
    )
    and headers.auth_summary.dmarc.pass
  )
)
// and the sender is not from high trust sender root domains
and (
  (
    sender.email.domain.root_domain in $high_trust_sender_root_domains
    and not headers.auth_summary.dmarc.pass
  )
  or sender.email.domain.root_domain not in $high_trust_sender_root_domains
)
and not profile.by_sender().solicited

Detection logic

Scope: inbound message.

Impersonation of Charles Schwab & Co

  1. inbound message
  2. any of:
    • strings.replace_confusables(sender.display_name) matches '*charles schwab*'
    • strings.replace_confusables(sender.display_name) matches '*charlesschwab*'
    • strings.replace_confusables(sender.display_name) is similar to 'charles schwab'
    • strings.replace_confusables(sender.email.domain.domain) matches '*schwab*'
  3. none of:
    • sender.email.domain.root_domain in $org_domains
    • all of:
      • any of:
        • sender.email.domain.root_domain in ('schwab.com', 'aboutschwab.com.', 'schwabcorrentesettlement.com', 'schwabmoneywise.com', 'schwabe.com', 'proxyvote.com', 'boheme-schwabing.de', 'lesschwab.com', 'schwab-marketing.com', 'schwaben.ca')
        • sender.email.domain.domain in ('schwabebooks.ccsend.com')
      • headers.auth_summary.dmarc.pass
  4. any of:
    • all of:
      • sender.email.domain.root_domain in $high_trust_sender_root_domains
      • not:
        • headers.auth_summary.dmarc.pass
    • sender.email.domain.root_domain not in $high_trust_sender_root_domains
  5. not:
    • profile.by_sender().solicited

Inspects: headers.auth_summary.dmarc.pass, sender.display_name, sender.email.domain.domain, sender.email.domain.root_domain, type.inbound. Sensors: profile.by_sender, strings.ilevenshtein, strings.ilike, strings.replace_confusables. Reference lists: $high_trust_sender_root_domains, $org_domains.

Indicators matched (15)

FieldMatchValue
strings.ilikesubstring*charles schwab*
strings.ilikesubstring*charlesschwab*
strings.ilevenshteinfuzzycharles schwab
strings.ilikesubstring*schwab*
sender.email.domain.root_domainmemberschwab.com
sender.email.domain.root_domainmemberaboutschwab.com.
sender.email.domain.root_domainmemberschwabcorrentesettlement.com
sender.email.domain.root_domainmemberschwabmoneywise.com
sender.email.domain.root_domainmemberschwabe.com
sender.email.domain.root_domainmemberproxyvote.com
sender.email.domain.root_domainmemberboheme-schwabing.de
sender.email.domain.root_domainmemberlesschwab.com
3 more
sender.email.domain.root_domainmemberschwab-marketing.com
sender.email.domain.root_domainmemberschwaben.ca
sender.email.domain.domainmemberschwabebooks.ccsend.com