Detection rules › Sublime MQL

Attachment: ICS calendar file with suspicious product identifier

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

Detects inbound messages containing ICS calendar attachments that have product identifiers matching patterns commonly associated with malicious calendar invitations. The rule identifies ICS files through multiple detection methods and analyzes the product_id field for suspicious formatting that may indicate automated generation or spoofing attempts.

Threat classification

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

CategoryValues
Attack typesCredential Phishing
Tactics and techniquesEvasion, Social engineering, ICS Phishing

Event coverage

Rule body MQL

type.inbound
and any(attachments,
        (
          .file_type == "ics"
          or .file_extension == "ics"
          or .content_type in ("application/ics", "text/calendar")
        )
        //
        // 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
        //
        and regex.icontains(beta.file.parse_ics(.).product_id,
                            '-//[a-z0-9]*[0-9][a-z0-9]*//EN'
        )
)

Detection logic

Scope: inbound message.

Detects inbound messages containing ICS calendar attachments that have product identifiers matching patterns commonly associated with malicious calendar invitations. The rule identifies ICS files through multiple detection methods and analyzes the product_id field for suspicious formatting that may indicate automated generation or spoofing attempts.

  1. inbound message
  2. any of attachments where all hold:
    • any of:
      • .file_type is 'ics'
      • .file_extension is 'ics'
      • .content_type in ('application/ics', 'text/calendar')
    • beta.file.parse_ics(.).product_id matches '-//[a-z0-9]*[0-9][a-z0-9]*//EN'

Inspects: attachments[].content_type, attachments[].file_extension, attachments[].file_type, type.inbound. Sensors: beta.file.parse_ics, regex.icontains.

Indicators matched (5)

FieldMatchValue
attachments[].file_typeequalsics
attachments[].file_extensionequalsics
attachments[].content_typememberapplication/ics
attachments[].content_typemembertext/calendar
regex.icontainsregex-//[a-z0-9]*[0-9][a-z0-9]*//EN