Detection rules › Sublime MQL

Attachment: DocuSign impersonation via PDF linking to new domain

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

This rule detects PDF files containing a DocuSign logo linking to a newly created domain (Less than or equal to 3 days)

Threat classification

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

CategoryValues
Attack typesCredential Phishing
Tactics and techniquesImpersonation: Brand, PDF, Social engineering

Event coverage

Rule body MQL

type.inbound
and any(attachments,
        .file_type == "pdf"
        and any(ml.logo_detect(.).brands, .name == "DocuSign")
        and any(file.explode(.),
                any(.scan.pdf.urls, network.whois(.domain).days_old <= 3)
        )
)

// negate highly trusted sender domains unless they fail DMARC authentication
and (
  (
    sender.email.domain.root_domain in $high_trust_sender_root_domains
    and not headers.auth_summary.dmarc.pass
  )
  or sender.email.domain.root_domain not in $high_trust_sender_root_domains
)

// excludes senders that contain "via" in the display name a resilient way
and not (
  any(headers.hops,
      any(.fields,
          .name == "X-Api-Host" and strings.ends_with(.value, "docusign.net")
      )
  )
)

Detection logic

Scope: inbound message.

This rule detects PDF files containing a DocuSign logo linking to a newly created domain (Less than or equal to 3 days)

  1. inbound message
  2. any of attachments where all hold:
    • .file_type is 'pdf'
    • any of ml.logo_detect(.).brands where:
      • .name is 'DocuSign'
    • any of file.explode(.) where:
      • any of .scan.pdf.urls where:
        • network.whois(.domain).days_old ≤ 3
  3. any of:
    • all of:
      • sender.email.domain.root_domain in $high_trust_sender_root_domains
      • not:
        • headers.auth_summary.dmarc.pass
    • sender.email.domain.root_domain not in $high_trust_sender_root_domains
  4. not:
    • any of headers.hops where:
      • any of .fields where all hold:
        • .name is 'X-Api-Host'
        • .value ends with 'docusign.net'

Inspects: attachments[].file_type, headers.auth_summary.dmarc.pass, headers.hops, headers.hops[].fields, headers.hops[].fields[].name, headers.hops[].fields[].value, sender.email.domain.root_domain, type.inbound. Sensors: file.explode, ml.logo_detect, network.whois, strings.ends_with. Reference lists: $high_trust_sender_root_domains.

Indicators matched (4)

FieldMatchValue
attachments[].file_typeequalspdf
ml.logo_detect(attachments[]).brands[].nameequalsDocuSign
headers.hops[].fields[].nameequalsX-Api-Host
strings.ends_withsuffixdocusign.net