Detection rules › Sublime MQL

Attachment: Self-sender PDF with minimal content and view prompt

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

Detects messages where the sender and recipient are the same address with a PDF attachment containing only 'VIEW PDF' text and a standardized body message requesting to view the attachment.

Threat classification

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

CategoryValues
Attack typesCredential Phishing, Malware/Ransomware
Tactics and techniquesPDF, Social engineering, Evasion

Event coverage

Rule body MQL

type.inbound
// self sender
and length(recipients.to) == 1
and (
  sender.email.email == recipients.to[0].email.email
  or recipients.to[0].email.domain.valid == false
)
and strings.starts_with(body.current_thread.text, 'Please see attached')
and any(filter(attachments, .file_type == 'pdf'),
        any(file.explode(.),
            .scan.strings.strings[0] == 'VIEW PDF'
            and length(.scan.strings.strings) == 1
        )
)

Detection logic

Scope: inbound message.

Detects messages where the sender and recipient are the same address with a PDF attachment containing only 'VIEW PDF' text and a standardized body message requesting to view the attachment.

  1. inbound message
  2. length(recipients.to) is 1
  3. any of:
    • sender.email.email is recipients.to[0].email.email
    • recipients.to[0].email.domain.valid is False
  4. body.current_thread.text starts with 'Please see attached'
  5. any of filter(attachments) where:
    • any of file.explode(.) where all hold:
      • .scan.strings.strings[0] is 'VIEW PDF'
      • length(.scan.strings.strings) is 1

Inspects: attachments[].file_type, body.current_thread.text, recipients.to, recipients.to[0].email.domain.valid, recipients.to[0].email.email, sender.email.email, type.inbound. Sensors: file.explode, strings.starts_with.

Indicators matched (3)

FieldMatchValue
strings.starts_withprefixPlease see attached
attachments[].file_typeequalspdf
file.explode(filter(attachments)[])[].scan.strings.strings[0]equalsVIEW PDF