Detection rules › Sublime MQL
Sublime MQL rules: docusign
| Rule | Severity |
|---|---|
| Suspicious DocuSign share from new domain | high |
Suspicious DocuSign share from new domain
#DocuSign shares with new reply-to addresses have been seen in recent attacks.
Threat classification
Sublime's own taxonomy (not MITRE ATT&CK).
| Category | Values |
|---|---|
| Attack types | BEC/Fraud, Credential Phishing |
| Tactics and techniques | Evasion, Free file host, Impersonation: Brand, Social engineering |
Telemetry coverage
| Platform | Record / event type |
|---|---|
| Sublime | Inbound email message |
Message attributes
Rule body
type.inbound
// message is from docusign actual
and sender.email.domain.root_domain == 'docusign.net'
and (headers.auth_summary.spf.pass or headers.auth_summary.dmarc.pass)
//
// This rule makes use of a beta feature and is subject to change without notice
// using the beta feature in custom rules is not suggested until it has been formally released
//
// reply-to email address has never been sent an email by the org
and not beta.profile.by_reply_to().solicited
// new reply-to
and any(headers.reply_to, network.whois(.email.domain).days_old < 30)
// not a completed DocuSign
and not strings.istarts_with(subject.subject, "Completed:")
Detection logic
Scope: inbound message.
DocuSign shares with new reply-to addresses have been seen in recent attacks.
- inbound message
- sender.email.domain.root_domain is 'docusign.net'
any of:
- headers.auth_summary.spf.pass
- headers.auth_summary.dmarc.pass
not:
- beta.profile.by_reply_to().solicited
any of
headers.reply_towhere:- network.whois(.email.domain).days_old < 30
not:
- subject.subject starts with 'Completed:'
Inspects: headers.auth_summary.dmarc.pass, headers.auth_summary.spf.pass, headers.reply_to, headers.reply_to[].email.domain, sender.email.domain.root_domain, subject.subject, type.inbound. Sensors: beta.profile.by_reply_to, network.whois, strings.istarts_with.
Indicators matched (1)
| Field | Match | Value |
|---|---|---|
sender.email.domain.root_domain | equals | docusign.net |
Stages and Predicates
Stage 1: mql_rule
and
not
beta.profile.by_reply_to func_call "beta.profile.by_reply_to().solicited"
or
headers.auth_summary.dmarc.pass eq "true"
headers.auth_summary.spf.pass eq "true"
any(headers.reply_to)
network.whois func_call "network.whois(headers.reply_to[].email.domain).days_old < 30"
not
subject.subject starts_with "Completed:"
sender.email.domain.root_domain eq "docusign.net"
type.inbound eq "true"Exclusions
The rule actively suppresses these predicates.
| Field | Kind | Excluded values | Search |
|---|---|---|---|
subject.subject | starts_with | Completed: | excludes:subject.subject field:"subject.subject" value:"Completed:" |
Indicators
These rows show field, operator, and value matches.