Threat classification
Sublime's own taxonomy (not MITRE ATT&CK).
| Category | Values |
|---|---|
| Attack types | Credential Phishing |
| Tactics and techniques | Impersonation: Brand, Lookalike domain, Social engineering |
Event coverage
Rule body MQL
type.inbound
and (
sender.display_name =~ 'linkedin'
or strings.ilevenshtein(sender.display_name, 'linkedin') <= 2
or strings.ilevenshtein(sender.email.domain.root_domain, 'linkedin.com') <= 2
or strings.ilike(sender.email.domain.root_domain, "*linkedin.com")
or (
strings.ilike(sender.display_name, "*linkedin*")
and 1 of (
any(ml.nlu_classifier(body.current_thread.text).intents,
.name in ("cred_theft", "steal_pii") and .confidence == "high"
),
network.whois(sender.email.domain).days_old <= 30
and strings.ilike(sender.email.email, "*linkedin*"),
(
length(headers.reply_to) > 0
and all(headers.reply_to,
.email.domain.root_domain != sender.email.domain.root_domain
)
and all(headers.reply_to,
.email.domain.root_domain != headers.return_path.domain.root_domain
)
and sender.email.domain.root_domain != headers.return_path.domain.root_domain
)
)
)
)
and sender.email.domain.root_domain not in (
'linkedin.com',
'smartrecruiters.com',
'teams-events.com',
'linkeen.com'
)
and sender.email.domain.domain not in ('linkedin.coupahost.com')
and sender.email.email not in $recipient_emails
and not regex.icontains(headers.message_id, '[^-]linkedin.com>$')
// LinkedIn corporate uses DocuSign
and not (
sender.email.domain.root_domain in~ ('docusign.net', 'docusign.com')
and all(headers.reply_to, .email.domain.root_domain == 'linkedin.com')
)
Detection logic
Scope: inbound message.
Impersonation of LinkedIn.
- inbound message
any of:
- sender.display_name is 'linkedin'
- sender.display_name is similar to 'linkedin'
- sender.email.domain.root_domain is similar to 'linkedin.com'
- sender.email.domain.root_domain matches '*linkedin.com'
all of:
- sender.display_name matches '*linkedin*'
at least 1 of:
any of
ml.nlu_classifier(body.current_thread.text).intentswhere all hold:- .name in ('cred_theft', 'steal_pii')
- .confidence is 'high'
all of:
- network.whois(sender.email.domain).days_old ≤ 30
- sender.email.email matches '*linkedin*'
all of:
- length(headers.reply_to) > 0
all of
headers.reply_towhere:- .email.domain.root_domain is not sender.email.domain.root_domain
all of
headers.reply_towhere:- .email.domain.root_domain is not headers.return_path.domain.root_domain
- sender.email.domain.root_domain is not headers.return_path.domain.root_domain
- sender.email.domain.root_domain not in ('linkedin.com', 'smartrecruiters.com', 'teams-events.com', 'linkeen.com')
- sender.email.domain.domain not in ('linkedin.coupahost.com')
- sender.email.email not in $recipient_emails
not:
- headers.message_id matches '[^-]linkedin.com>$'
not:
all of:
- sender.email.domain.root_domain in ('docusign.net', 'docusign.com')
all of
headers.reply_towhere:- .email.domain.root_domain is 'linkedin.com'
Inspects: body.current_thread.text, headers.message_id, headers.reply_to, headers.reply_to[].email.domain.root_domain, headers.return_path.domain.root_domain, sender.display_name, sender.email.domain, sender.email.domain.domain, sender.email.domain.root_domain, sender.email.email, type.inbound. Sensors: ml.nlu_classifier, network.whois, regex.icontains, strings.ilevenshtein, strings.ilike. Reference lists: $recipient_emails.
Indicators matched (17)
| Field | Match | Value |
|---|---|---|
sender.display_name | equals | linkedin |
strings.ilevenshtein | fuzzy | linkedin |
strings.ilevenshtein | fuzzy | linkedin.com |
strings.ilike | substring | *linkedin.com |
strings.ilike | substring | *linkedin* |
ml.nlu_classifier(body.current_thread.text).intents[].name | member | cred_theft |
ml.nlu_classifier(body.current_thread.text).intents[].name | member | steal_pii |
ml.nlu_classifier(body.current_thread.text).intents[].confidence | equals | high |
sender.email.domain.root_domain | member | linkedin.com |
sender.email.domain.root_domain | member | smartrecruiters.com |
sender.email.domain.root_domain | member | teams-events.com |
sender.email.domain.root_domain | member | linkeen.com |
5 more
sender.email.domain.domain | member | linkedin.coupahost.com |
regex.icontains | regex | [^-]linkedin.com>$ |
sender.email.domain.root_domain | member | docusign.net |
sender.email.domain.root_domain | member | docusign.com |
headers.reply_to[].email.domain.root_domain | equals | linkedin.com |