Detection rules › Sublime MQL

Attachment: Office file with suspicious function calls or downloaded file path

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

Attached Office file contains suspicious function calls or known malicious file path pattern.

Threat classification

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

CategoryValues
Attack typesMalware/Ransomware
Tactics and techniquesEvasion, Scripting

Event coverage

Rule body MQL

type.inbound
and any(attachments,
        (
          // office files
          .file_extension in~ $file_extensions_macros
          or .file_extension in~ $file_extensions_common_archives
          or (
            .file_extension is null
            and .file_type == "unknown"
            and .content_type == "application/octet-stream"
            and .size < 100000
          )
        )
        and (
          any(file.explode(.),
              (
                any(.scan.strings.strings,
                    strings.ilike(., '*URLDownloadToFile*')
                )
                and any(.scan.strings.strings, strings.ilike(., '*Auto_Open*'))
              )
              or any(.scan.strings.strings,
                     regex.icontains(.,
                                     'C:\\[A-Za-z]{7}\\[A-Za-z]{7}\\[A-Za-z]{7}'
                     )
              )
          )
        )
)
and (
  (
    profile.by_sender().prevalence in ("new", "outlier")
    and not profile.by_sender().solicited
  )
  or (
    profile.by_sender().any_messages_malicious_or_spam
    and not profile.by_sender().any_messages_benign
  )
)
and not profile.by_sender().any_messages_benign

Detection logic

Scope: inbound message.

Attached Office file contains suspicious function calls or known malicious file path pattern.

  1. inbound message
  2. any of attachments where all hold:
    • any of:
      • .file_extension in $file_extensions_macros
      • .file_extension in $file_extensions_common_archives
      • all of:
        • .file_extension is missing
        • .file_type is 'unknown'
        • .content_type is 'application/octet-stream'
        • .size < 100000
    • any of file.explode(.) where any holds:
      • all of:
        • any of .scan.strings.strings where:
          • . matches '*URLDownloadToFile*'
        • any of .scan.strings.strings where:
          • . matches '*Auto_Open*'
      • any of .scan.strings.strings where:
        • . matches 'C:\\\\[A-Za-z]{7}\\\\[A-Za-z]{7}\\\\[A-Za-z]{7}'
  3. any of:
    • all of:
      • profile.by_sender().prevalence in ('new', 'outlier')
      • not:
        • profile.by_sender().solicited
    • all of:
      • profile.by_sender().any_messages_malicious_or_spam
      • not:
        • profile.by_sender().any_messages_benign
  4. not:
    • profile.by_sender().any_messages_benign

Inspects: attachments[].content_type, attachments[].file_extension, attachments[].file_type, attachments[].size, type.inbound. Sensors: file.explode, profile.by_sender, regex.icontains, strings.ilike. Reference lists: $file_extensions_common_archives, $file_extensions_macros.

Indicators matched (5)

FieldMatchValue
attachments[].file_typeequalsunknown
attachments[].content_typeequalsapplication/octet-stream
strings.ilikesubstring*URLDownloadToFile*
strings.ilikesubstring*Auto_Open*
regex.icontainsregexC:\\[A-Za-z]{7}\\[A-Za-z]{7}\\[A-Za-z]{7}