Detection rules › Sublime MQL
Brand impersonation: Morgan Stanley
Detects messages impersonating Morgan Stanley that contain indicators of credential theft or callback scams, including references to secure email systems, client service centers, financial advisors, and registration processes. The rule identifies spoofed communications by checking for Morgan Stanley branding elements while excluding legitimate domains.
Threat classification
Sublime's own taxonomy (not MITRE ATT&CK).
| Category | Values |
|---|---|
| Attack types | Credential Phishing |
| Tactics and techniques | Impersonation: Brand, Social engineering |
Event coverage
Rule body MQL
type.inbound
and (
strings.ilike(strings.replace_confusables(sender.display_name),
'*morgan stanley*',
'*morganstanley*'
)
or strings.ilevenshtein(strings.replace_confusables(sender.display_name),
'morgan stanley'
) <= 2
or any(ml.nlu_classifier(body.current_thread.text).entities,
.name in ("org", "sender")
and strings.icontains(.text, 'Morgan Stanley')
)
or strings.icontains(body.current_thread.text,
'secure.emailhelp@morganstanley.com'
)
)
and strings.icontains(body.current_thread.text, "Morgan Stanley")
and 3 of (
strings.icontains(body.current_thread.text, "Client Service Center"),
regex.icontains(body.current_thread.text,
'Financial Advis?or\s*[|/]\s*(?:Portfolio\s+)?Manager'
),
regex.icontains(body.current_thread.text, 'Secure (?:E-)?Mail'),
strings.icontains(body.current_thread.text, "Click here to view"),
strings.icontains(body.current_thread.text, "encrypted messages"),
strings.icontains(body.current_thread.text, "1-800-780-0256"),
strings.icontains(body.current_thread.text,
"secure.emailhelp@morganstanley.com"
),
regex.icontains(body.current_thread.text,
'Morgan Stanley\s+(?:Smith Barney|Wealth Management|\w+\s+Team)'
),
strings.icontains(body.current_thread.text, "one-time registration"),
strings.icontains(body.current_thread.text, "see payment activity"),
regex.icontains(body.current_thread.text,
'link will expire on \d{4}-\d{2}-\d{2}'
),
any(ml.nlu_classifier(body.current_thread.text).intents,
.name in ("cred_theft", "callback_scam") and .confidence == "high"
)
)
and not (
sender.email.domain.root_domain in ("docusign.net", "morganstanley.com", )
and coalesce(headers.auth_summary.dmarc.pass, false)
)
and not (
any(headers.hops,
any(.fields,
.name == "X-ProofpointSecure"
and strings.icontains(.value, "Encrypted")
)
)
and any(headers.domains, .root_domain == "pphosted.com")
)
Detection logic
Scope: inbound message.
Detects messages impersonating Morgan Stanley that contain indicators of credential theft or callback scams, including references to secure email systems, client service centers, financial advisors, and registration processes. The rule identifies spoofed communications by checking for Morgan Stanley branding elements while excluding legitimate domains.
- inbound message
any of:
strings.replace_confusables(sender.display_name) matches any of 2 patterns
*morgan stanley**morganstanley*
- strings.replace_confusables(sender.display_name) is similar to 'morgan stanley'
any of
ml.nlu_classifier(body.current_thread.text).entitieswhere all hold:- .name in ('org', 'sender')
- .text contains 'Morgan Stanley'
- body.current_thread.text contains 'secure.emailhelp@morganstanley.com'
- body.current_thread.text contains 'Morgan Stanley'
at least 3 of:
- body.current_thread.text contains 'Client Service Center'
- body.current_thread.text matches 'Financial Advis?or\\s*[|/]\\s*(?:Portfolio\\s+)?Manager'
- body.current_thread.text matches 'Secure (?:E-)?Mail'
- body.current_thread.text contains 'Click here to view'
- body.current_thread.text contains 'encrypted messages'
- body.current_thread.text contains '1-800-780-0256'
- body.current_thread.text contains 'secure.emailhelp@morganstanley.com'
- body.current_thread.text matches 'Morgan Stanley\\s+(?:Smith Barney|Wealth Management|\\w+\\s+Team)'
- body.current_thread.text contains 'one-time registration'
- body.current_thread.text contains 'see payment activity'
- body.current_thread.text matches 'link will expire on \\d{4}-\\d{2}-\\d{2}'
any of
ml.nlu_classifier(body.current_thread.text).intentswhere all hold:- .name in ('cred_theft', 'callback_scam')
- .confidence is 'high'
not:
all of:
- sender.email.domain.root_domain in ('docusign.net', 'morganstanley.com')
- coalesce(headers.auth_summary.dmarc.pass)
not:
all of:
any of
headers.hopswhere:any of
.fieldswhere all hold:- .name is 'X-ProofpointSecure'
- .value contains 'Encrypted'
any of
headers.domainswhere:- .root_domain is 'pphosted.com'
Inspects: body.current_thread.text, headers.auth_summary.dmarc.pass, headers.domains, headers.domains[].root_domain, headers.hops, headers.hops[].fields, headers.hops[].fields[].name, headers.hops[].fields[].value, sender.display_name, sender.email.domain.root_domain, type.inbound. Sensors: ml.nlu_classifier, regex.icontains, strings.icontains, strings.ilevenshtein, strings.ilike, strings.replace_confusables.
Indicators matched (25)
| Field | Match | Value |
|---|---|---|
strings.ilike | substring | *morgan stanley* |
strings.ilike | substring | *morganstanley* |
strings.ilevenshtein | fuzzy | morgan stanley |
ml.nlu_classifier(body.current_thread.text).entities[].name | member | org |
ml.nlu_classifier(body.current_thread.text).entities[].name | member | sender |
strings.icontains | substring | Morgan Stanley |
strings.icontains | substring | secure.emailhelp@morganstanley.com |
strings.icontains | substring | Client Service Center |
regex.icontains | regex | Financial Advis?or\s*[|/]\s*(?:Portfolio\s+)?Manager |
regex.icontains | regex | Secure (?:E-)?Mail |
strings.icontains | substring | Click here to view |
strings.icontains | substring | encrypted messages |
13 more
strings.icontains | substring | 1-800-780-0256 |
regex.icontains | regex | Morgan Stanley\s+(?:Smith Barney|Wealth Management|\w+\s+Team) |
strings.icontains | substring | one-time registration |
strings.icontains | substring | see payment activity |
regex.icontains | regex | link will expire on \d{4}-\d{2}-\d{2} |
ml.nlu_classifier(body.current_thread.text).intents[].name | member | cred_theft |
ml.nlu_classifier(body.current_thread.text).intents[].name | member | callback_scam |
ml.nlu_classifier(body.current_thread.text).intents[].confidence | equals | high |
sender.email.domain.root_domain | member | docusign.net |
sender.email.domain.root_domain | member | morganstanley.com |
headers.hops[].fields[].name | equals | X-ProofpointSecure |
strings.icontains | substring | Encrypted |
headers.domains[].root_domain | equals | pphosted.com |