Detection rules › Sublime MQL

Attachment: Soda PDF producer with encryption themes

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

Detects an observed TTP of using Soda PDF (which offers a free trial) to produce PDFs which OCR output contains references to encryption and mentions a PDF. The PDF contains a single link which has been observed linking to a credential phishing page.

Threat classification

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

CategoryValues
Attack typesCredential Phishing
Tactics and techniquesPDF, Social engineering

Event coverage

Rule body MQL

type.inbound
and any(attachments,
        .file_extension == "pdf"
        // observed producer
        and any(file.explode(.), .scan.exiftool.producer == "Soda PDF")
        and any(file.explode(.),
                // OCR contains "encryption" themes
                (
                  strings.icontains(.scan.ocr.raw, "has been encrypted")
                  or strings.icontains(.scan.ocr.raw, "encrypted pdf file")
                  or strings.icontains(.scan.ocr.raw, "is secured by")
                )
                // mentions a PDF 
                and strings.contains(.scan.ocr.raw, "PDF")
        )
)

Detection logic

Scope: inbound message.

Detects an observed TTP of using Soda PDF (which offers a free trial) to produce PDFs which OCR output contains references to encryption and mentions a PDF. The PDF contains a single link which has been observed linking to a credential phishing page.

  1. inbound message
  2. any of attachments where all hold:
    • .file_extension is 'pdf'
    • any of file.explode(.) where:
      • .scan.exiftool.producer is 'Soda PDF'
    • any of file.explode(.) where all hold:
      • any of:
        • .scan.ocr.raw contains 'has been encrypted'
        • .scan.ocr.raw contains 'encrypted pdf file'
        • .scan.ocr.raw contains 'is secured by'
      • .scan.ocr.raw contains 'PDF'

Inspects: attachments[].file_extension, type.inbound. Sensors: file.explode, strings.contains, strings.icontains.

Indicators matched (6)

FieldMatchValue
attachments[].file_extensionequalspdf
file.explode(attachments[])[].scan.exiftool.producerequalsSoda PDF
strings.icontainssubstringhas been encrypted
strings.icontainssubstringencrypted pdf file
strings.icontainssubstringis secured by
strings.containssubstringPDF