Detection rules › Sublime MQL

Service abuse: DocuSign share from an unsolicited reply-to address

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

DocuSign shares which contain a reply-to address or domain that has not been previously observed by the recipient organization.

Threat classification

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

CategoryValues
Attack typesCredential Phishing
Tactics and techniquesEvasion, Free file host, Social engineering

Event coverage

Rule body MQL

type.inbound

// message is from docusign actual
and sender.email.domain.root_domain == 'docusign.net'
and not any(headers.reply_to, .email.domain.domain == 'docusign.com')
and (headers.auth_summary.spf.pass or headers.auth_summary.dmarc.pass)

// not a completed DocuSign
// reminders are sent automatically and can be just as malicious as the initial
// users often decline malicious ones
and not strings.istarts_with(subject.subject, "Completed: ")
and not strings.istarts_with(subject.subject, "Here is your signed document: ")
and not strings.istarts_with(subject.subject, "Voided: ")

// 
// 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 address rarely seen in org
and beta.profile.by_reply_to().prevalence in~ ("new", "rare")

// reply-to email address has never been sent an email by the org
and not beta.profile.by_reply_to().solicited

// do not match if the reply_to address has been observed as a reply_to address
// of a message that has been classified as benign
and not beta.profile.by_reply_to().any_messages_benign

Detection logic

Scope: inbound message.

DocuSign shares which contain a reply-to address or domain that has not been previously observed by the recipient organization.

  1. inbound message
  2. sender.email.domain.root_domain is 'docusign.net'
  3. not:
    • any of headers.reply_to where:
      • .email.domain.domain is 'docusign.com'
  4. any of:
    • headers.auth_summary.spf.pass
    • headers.auth_summary.dmarc.pass
  5. not:
    • subject.subject starts with 'Completed: '
  6. not:
    • subject.subject starts with 'Here is your signed document: '
  7. not:
    • subject.subject starts with 'Voided: '
  8. beta.profile.by_reply_to().prevalence in ('new', 'rare')
  9. not:
    • beta.profile.by_reply_to().solicited
  10. not:
    • beta.profile.by_reply_to().any_messages_benign

Inspects: headers.auth_summary.dmarc.pass, headers.auth_summary.spf.pass, headers.reply_to, headers.reply_to[].email.domain.domain, sender.email.domain.root_domain, subject.subject, type.inbound. Sensors: beta.profile.by_reply_to, strings.istarts_with.

Indicators matched (5)

FieldMatchValue
sender.email.domain.root_domainequalsdocusign.net
headers.reply_to[].email.domain.domainequalsdocusign.com
strings.istarts_withprefixCompleted:
strings.istarts_withprefixHere is your signed document:
strings.istarts_withprefixVoided: