Detection rules › Sublime MQL

Brand impersonation: AARP

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

Detects messages impersonating AARP by analyzing sender display name and body content for AARP references, address information, or survey-related language from unauthorized senders.

Threat classification

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

CategoryValues
Attack typesBEC/Fraud, Credential Phishing
Tactics and techniquesImpersonation: Brand, Social engineering

Event coverage

Rule body MQL

type.inbound
and (
  (
    strings.icontains(sender.display_name, "AARP")
    and any(ml.nlu_classifier(body.current_thread.text).entities,
            .name in ("request", "financial")
            and regex.icontains(.text, "(?:gift|win|free)")
    )
  )
  or 2 of (
    strings.icontains(body.current_thread.text, 'AARP'),
    strings.icontains(body.current_thread.text, '601 E Street NW'),
    strings.icontains(body.current_thread.text, 'Washington, DC 20049')
  )
  or (
    strings.icontains(body.current_thread.text, 'AARP')
    and (
      regex.icontains(body.current_thread.text, 'quick .{0,10}survey')
      or strings.icontains(body.current_thread.text, "last attempt")
    )
  )
)
// negate job postings related to AARP and newsletters containing AARP
and not any(ml.nlu_classifier(body.current_thread.text).topics,
            .name in (
              "Professional and Career Development",
              "Newsletters and Digests"
            )
            and .confidence == "high"
)
// and the sender is not in org_domains or from AARP domains and passes auth
and not (
  sender.email.domain.root_domain in $org_domains
  or (
    sender.email.domain.root_domain in (
      "aarp.org",
      "proofpointessentials.com",
      "expedia.com",
      "eventbrite.com",
      "zixcorp.com"
    )
    and headers.auth_summary.dmarc.pass
  )
)

Detection logic

Scope: inbound message.

Detects messages impersonating AARP by analyzing sender display name and body content for AARP references, address information, or survey-related language from unauthorized senders.

  1. inbound message
  2. any of:
    • all of:
      • sender.display_name contains 'AARP'
      • any of ml.nlu_classifier(body.current_thread.text).entities where all hold:
        • .name in ('request', 'financial')
        • .text matches '(?:gift|win|free)'
    • at least 2 of:
      • body.current_thread.text contains 'AARP'
      • body.current_thread.text contains '601 E Street NW'
      • body.current_thread.text contains 'Washington, DC 20049'
    • all of:
      • body.current_thread.text contains 'AARP'
      • any of:
        • body.current_thread.text matches 'quick .{0,10}survey'
        • body.current_thread.text contains 'last attempt'
  3. not:
    • any of ml.nlu_classifier(body.current_thread.text).topics where all hold:
      • .name in ('Professional and Career Development', 'Newsletters and Digests')
      • .confidence is 'high'
  4. none of:
    • sender.email.domain.root_domain in $org_domains
    • all of:
      • sender.email.domain.root_domain in ('aarp.org', 'proofpointessentials.com', 'expedia.com', 'eventbrite.com', 'zixcorp.com')
      • headers.auth_summary.dmarc.pass

Inspects: body.current_thread.text, headers.auth_summary.dmarc.pass, sender.display_name, sender.email.domain.root_domain, type.inbound. Sensors: ml.nlu_classifier, regex.icontains, strings.icontains. Reference lists: $org_domains.

Indicators matched (16)

FieldMatchValue
strings.icontainssubstringAARP
ml.nlu_classifier(body.current_thread.text).entities[].namememberrequest
ml.nlu_classifier(body.current_thread.text).entities[].namememberfinancial
regex.icontainsregex(?:gift|win|free)
strings.icontainssubstring601 E Street NW
strings.icontainssubstringWashington, DC 20049
regex.icontainsregexquick .{0,10}survey
strings.icontainssubstringlast attempt
ml.nlu_classifier(body.current_thread.text).topics[].namememberProfessional and Career Development
ml.nlu_classifier(body.current_thread.text).topics[].namememberNewsletters and Digests
ml.nlu_classifier(body.current_thread.text).topics[].confidenceequalshigh
sender.email.domain.root_domainmemberaarp.org
4 more
sender.email.domain.root_domainmemberproofpointessentials.com
sender.email.domain.root_domainmemberexpedia.com
sender.email.domain.root_domainmembereventbrite.com
sender.email.domain.root_domainmemberzixcorp.com