Detection rules › Sublime MQL
Brand impersonation: Microsoft fake sign-in alert
Detects messages impersonating Microsoft that mimic sign-in security alerts and attempt to solicit a response.
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
// no links found in body
and length(body.links) == 0
// Microsoft strings
and (
strings.contains(subject.subject, "Microsoft")
or strings.contains(sender.display_name, "Microsoft")
or strings.contains(body.current_thread.text, "Microsoft")
or (
// or Microsoft Brand logo
any(attachments,
.file_type in $file_types_images
and any(ml.logo_detect(.).brands,
strings.starts_with(.name, "Microsoft")
)
)
)
)
// Body contains Indicators of fake sign in notification
and (
regex.contains(body.current_thread.text,
'(Country.region:.{0,20}IP address:|Platform:.{0,20}Browser:)'
)
or regex.contains(body.current_thread.text, "Unusual.{0,10}activity")
)
and (
// If the sender is freemail
sender.email.domain.domain in $free_email_providers
or (
// sender is not freemail, but the return path email or reply to email is
sender.email.domain.domain not in $free_email_providers
and (
headers.return_path.domain.root_domain in $free_email_providers
or (
length(headers.reply_to) > 0
and (
all(headers.reply_to,
.email.domain.root_domain in $free_email_providers
)
)
)
or (
// if all replyto domain, return_path domain, sender domain mismatch
length(headers.reply_to) > 0
and all(headers.reply_to,
.email.domain.domain != headers.return_path.domain.domain
and headers.return_path.domain.domain != sender.email.domain.domain
)
)
// or the domain is less than 90 days old
or network.whois(sender.email.domain).days_old <= 90
or (
// or Compauth verdict is not pass/softpass
any(headers.hops,
.authentication_results.compauth.verdict is not null
and .authentication_results.compauth.verdict not in (
"pass",
"softpass"
)
)
)
)
)
)
and sender.email.domain.root_domain not in (
"bing.com",
"microsoft.com",
"microsoftonline.com",
"microsoftsupport.com",
"microsoft365.com",
"office.com",
"onedrive.com",
"sharepointonline.com",
"yammer.com",
)
Detection logic
Scope: inbound message.
Detects messages impersonating Microsoft that mimic sign-in security alerts and attempt to solicit a response.
- inbound message
- length(body.links) is 0
any of:
- subject.subject contains 'Microsoft'
- sender.display_name contains 'Microsoft'
- body.current_thread.text contains 'Microsoft'
any of
attachmentswhere all hold:- .file_type in $file_types_images
any of
ml.logo_detect(.).brandswhere:- .name starts with 'Microsoft'
any of:
- body.current_thread.text matches '(Country.region:.{0,20}IP address:|Platform:.{0,20}Browser:)'
- body.current_thread.text matches 'Unusual.{0,10}activity'
any of:
- sender.email.domain.domain in $free_email_providers
all of:
- sender.email.domain.domain not in $free_email_providers
any of:
- headers.return_path.domain.root_domain in $free_email_providers
all of:
- length(headers.reply_to) > 0
all of
headers.reply_towhere:- .email.domain.root_domain in $free_email_providers
all of:
- length(headers.reply_to) > 0
all of
headers.reply_towhere all hold:- .email.domain.domain is not headers.return_path.domain.domain
- headers.return_path.domain.domain is not sender.email.domain.domain
- network.whois(sender.email.domain).days_old ≤ 90
any of
headers.hopswhere all hold:- .authentication_results.compauth.verdict is set
- .authentication_results.compauth.verdict not in ('pass', 'softpass')
- sender.email.domain.root_domain not in ('bing.com', 'microsoft.com', 'microsoftonline.com', 'microsoftsupport.com', 'microsoft365.com', 'office.com', 'onedrive.com', 'sharepointonline.com', 'yammer.com')
Inspects: attachments[].file_type, body.current_thread.text, body.links, headers.hops, headers.hops[].authentication_results.compauth.verdict, headers.reply_to, headers.reply_to[].email.domain.domain, headers.reply_to[].email.domain.root_domain, headers.return_path.domain.domain, headers.return_path.domain.root_domain, sender.display_name, sender.email.domain, sender.email.domain.domain, sender.email.domain.root_domain, subject.subject, type.inbound. Sensors: ml.logo_detect, network.whois, regex.contains, strings.contains, strings.starts_with. Reference lists: $file_types_images, $free_email_providers.
Indicators matched (15)
| Field | Match | Value |
|---|---|---|
strings.contains | substring | Microsoft |
strings.starts_with | prefix | Microsoft |
regex.contains | regex | (Country.region:.{0,20}IP address:|Platform:.{0,20}Browser:) |
regex.contains | regex | Unusual.{0,10}activity |
headers.hops[].authentication_results.compauth.verdict | member | pass |
headers.hops[].authentication_results.compauth.verdict | member | softpass |
sender.email.domain.root_domain | member | bing.com |
sender.email.domain.root_domain | member | microsoft.com |
sender.email.domain.root_domain | member | microsoftonline.com |
sender.email.domain.root_domain | member | microsoftsupport.com |
sender.email.domain.root_domain | member | microsoft365.com |
sender.email.domain.root_domain | member | office.com |
3 more
sender.email.domain.root_domain | member | onedrive.com |
sender.email.domain.root_domain | member | sharepointonline.com |
sender.email.domain.root_domain | member | yammer.com |