Detection rules › Sublime MQL

Brand impersonation: Ledger

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

Attack impersonating hardware cryptocurrency wallet ledger.com's brand.

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 (
  (
    sender.email.domain.root_domain == 'ledger.com'
    and headers.return_path.domain.root_domain not in (
      'ledger.com',
      'amazonses.com',
      'ledger.fr',
      'hubspotemail.net'
    )
  )
  or (
    (
      // only match ledger actual domains if dmarc fails
      not (
        sender.email.domain.root_domain in~ ('ledger.com', 'ledger.fr')
        and headers.auth_summary.dmarc.pass
      )
      or not sender.email.domain.root_domain in~ ('ledger.com', 'ledger.fr')
    )
    and (
      strings.ilike(sender.email.email, '*-ledger.com*')
      or sender.display_name =~ "ledger"
      or strings.istarts_with(sender.display_name, "ledger")
      or strings.ilevenshtein(sender.email.domain.sld, "ledger") <= 1
    )
    and (
      // if this comes from a free email provider,
      // flag if org has never sent an email to sender's email before
      (
        sender.email.domain.root_domain in $free_email_providers
        and sender.email.email not in $recipient_emails
      )
      // if this comes from a custom domain,
      // flag if org has never sent an email to sender's domain before
      or (
        sender.email.domain.root_domain not in $free_email_providers
        and sender.email.domain.domain not in $recipient_domains
      )
    )
  )
)
and sender.email.domain.root_domain not in (
  // Fortune has a newsletter called "The Ledger"
  'fortune.com',
  'velocityledger.com',
  'lever.co',
  'queensledger.com',
  'libertyledger.com',
  'uledger.io',
  'ledgers.org.uk',
  'leger.co.uk',
  'xledger.net'
)

Detection logic

Scope: inbound message.

Attack impersonating hardware cryptocurrency wallet ledger.com's brand.

  1. inbound message
  2. any of:
    • all of:
      • sender.email.domain.root_domain is 'ledger.com'
      • headers.return_path.domain.root_domain not in ('ledger.com', 'amazonses.com', 'ledger.fr', 'hubspotemail.net')
    • all of:
      • any of:
        • not:
          • all of:
            • sender.email.domain.root_domain in ('ledger.com', 'ledger.fr')
            • headers.auth_summary.dmarc.pass
        • not:
          • sender.email.domain.root_domain in ('ledger.com', 'ledger.fr')
      • any of:
        • sender.email.email matches '*-ledger.com*'
        • sender.display_name is 'ledger'
        • sender.display_name starts with 'ledger'
        • sender.email.domain.sld is similar to 'ledger'
      • any of:
        • all of:
          • sender.email.domain.root_domain in $free_email_providers
          • sender.email.email not in $recipient_emails
        • all of:
          • sender.email.domain.root_domain not in $free_email_providers
          • sender.email.domain.domain not in $recipient_domains
  3. sender.email.domain.root_domain not in ('fortune.com', 'velocityledger.com', 'lever.co', 'queensledger.com', 'libertyledger.com', 'uledger.io', 'ledgers.org.uk', 'leger.co.uk', 'xledger.net')

Inspects: headers.auth_summary.dmarc.pass, headers.return_path.domain.root_domain, sender.display_name, sender.email.domain.domain, sender.email.domain.root_domain, sender.email.domain.sld, sender.email.email, type.inbound. Sensors: strings.ilevenshtein, strings.ilike, strings.istarts_with. Reference lists: $free_email_providers, $recipient_domains, $recipient_emails.

Indicators matched (20)

FieldMatchValue
sender.email.domain.root_domainequalsledger.com
headers.return_path.domain.root_domainmemberledger.com
headers.return_path.domain.root_domainmemberamazonses.com
headers.return_path.domain.root_domainmemberledger.fr
headers.return_path.domain.root_domainmemberhubspotemail.net
sender.email.domain.root_domainmemberledger.com
sender.email.domain.root_domainmemberledger.fr
strings.ilikesubstring*-ledger.com*
sender.display_nameequalsledger
strings.istarts_withprefixledger
strings.ilevenshteinfuzzyledger
sender.email.domain.root_domainmemberfortune.com
8 more
sender.email.domain.root_domainmembervelocityledger.com
sender.email.domain.root_domainmemberlever.co
sender.email.domain.root_domainmemberqueensledger.com
sender.email.domain.root_domainmemberlibertyledger.com
sender.email.domain.root_domainmemberuledger.io
sender.email.domain.root_domainmemberledgers.org.uk
sender.email.domain.root_domainmemberleger.co.uk
sender.email.domain.root_domainmemberxledger.net