Detection rules › Sublime MQL

Service abuse: Dropbox share with suspicious sender or document name

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

The detection rule is intended to match on messages sent from DropBox indicating a shared file to the recipient which contains suspicious content within the document or sender display name.

Threat classification

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

CategoryValues
Attack typesCallback Phishing, BEC/Fraud
Tactics and techniquesEvasion, Social engineering

Event coverage

Rule body MQL

type.inbound

// Legitimate Dropbox sending infratructure
and sender.email.email == "no-reply@dropbox.com"
and headers.auth_summary.spf.pass
and headers.auth_summary.dmarc.pass
and strings.ends_with(headers.auth_summary.spf.details.designator,
                      '.dropbox.com'
)
and strings.icontains(subject.subject, 'shared')
and strings.icontains(subject.subject, 'with you')
and (
  // contains the word dropbox
  // everything not "shared" and "with you" is actor controlled
  strings.icontains(subject.subject, 'dropbox')
  or strings.icontains(subject.subject, 'sharefile')

  // sender names part of the subject
  or (
    // Billing Accounting
    regex.icontains(subject.subject,
                    'Accounts? (?:Payable|Receivable).*shared',
                    'Billing Support.*shared'
    )

    // HR/Payroll/Legal/etc
    or regex.icontains(subject.subject, 'Compliance HR.*shared')
    or regex.icontains(subject.subject,
                       '(?:Compliance|Executive|Finance|\bHR\b|\bIT\b|Legal|Payroll|Purchasing|Operations|Security|Training|Support).*shared'
    )
    or regex.icontains(subject.subject, '(?:Department|Team).*shared')
    or regex.icontains(subject.subject, 'Corporate Communications.*shared')
    or regex.icontains(subject.subject, 'Employee Relations.*shared')
    or regex.icontains(subject.subject, 'Office Manager.*shared')
    or regex.icontains(subject.subject, 'Risk Management.*shared')
    or regex.icontains(subject.subject, 'Payroll Admin(?:istrator).*shared')
    or regex.icontains(subject.subject, 'Human Resources.*shared')
    or regex.icontains(subject.subject, 'HR.*shared')

    // IT related
    or regex.icontains(subject.subject,
                       'IT Support.*shared',
                       'Information Technology.*shared',
                       '(?:Network|System)? Admin(?:istrator).*shared',
                       'Help Desk.*shared',
                       'Tech(?:nical) Support.*shared'
    )

    // an email address in the subject is also interesting
    or regex.icontains(subject.subject, '\w+@\w+\.\w+.*shared')
  )
  // filename analysis
  // the filename is also contianed in the subject line
  or (
    // untitled.paper
    regex.icontains(subject.subject, 'shared.*\"Untitled.paper')
    // scanner themed
    or regex.icontains(subject.subject, 'shared.*\".*scanne[rd]')
    // image theme
    or regex.icontains(subject.subject, 'shared.*\".*_IMG_')
    or regex.icontains(subject.subject, 'shared.*\".*IMG[_-](?:\d|\W)+\"')
    // ondrive theme
    or regex.icontains(subject.subject, 'shared.*\".*one_docx')
    or regex.icontains(subject.subject, 'shared.*\".*One.?Drive')
    or regex.icontains(subject.subject, 'shared.*\".*click here')
    or regex.icontains(subject.subject, 'shared.*\".*Download PDF')
    or regex.icontains(subject.subject, 'shared.*\".*Validate')

    // Invoice Themes
    or regex.icontains(subject.subject, 'shared.*\".*Invoice')
    or regex.icontains(subject.subject, 'shared.*\".*INV\b')
    or regex.icontains(subject.subject, 'shared.*\".*Payment')
    or regex.icontains(subject.subject, 'shared.*\".*ACH')
    or regex.icontains(subject.subject, 'shared.*\".*Wire Confirmation')
    or regex.icontains(subject.subject, 'shared.*\".*P[O0]\W+?\d+\"')
    or regex.icontains(subject.subject, 'shared.*\"P[O0](?:\W+?|\d+)')
    or regex.icontains(subject.subject, 'shared.*\".*receipt')
    or regex.icontains(subject.subject, 'shared.*\".*Billing')
    or regex.icontains(subject.subject, 'shared.*\".*statement')
    or regex.icontains(subject.subject, 'shared.*\".*Past Due')
    or regex.icontains(subject.subject, 'shared.*\".*Remit(?:tance)?')
    or regex.icontains(subject.subject, 'shared.*\".*Purchase Order')
    or regex.icontains(subject.subject, 'shared.*\".*Settlement')

    // contract language
    or regex.icontains(subject.subject, 'shared.*\".*Contract Agreement')
    or regex.icontains(subject.subject, 'shared.*\".*Pr[0o]p[0o]sal')
    or regex.icontains(subject.subject, 'shared.*\".*Contract Doc')
    or regex.icontains(subject.subject, 'shared.*\".*Claim Doc')

    // Payroll/HR
    // section also used in link_sharepoint_sus_name.yml with modified input
    or regex.icontains(subject.subject, 'shared.*\".*Payroll')
    or regex.icontains(subject.subject, 'shared.*\".*Employee Pay\b')
    or regex.icontains(subject.subject, 'shared.*\".*Salary')
    or regex.icontains(subject.subject, 'shared.*\".*Benefit Enrollment')
    or regex.icontains(subject.subject, 'shared.*\".*Employee Handbook')
    or regex.icontains(subject.subject, 'shared.*\".*Reimbursement Approved')
    or regex.icontains(subject.subject,
                       'shared.*\".*(?:Faculty|Staff)\s*(?:\w+\s+){0,3}\s*Eval(?:uation)?'
    )

    // shared files/extenstion
    or regex.icontains(subject.subject, 'shared.*\".*Shared.?File')
    or regex.icontains(subject.subject, 'shared.*\".*Urgent')
    or regex.icontains(subject.subject, 'shared.*\".*Important')
    or regex.icontains(subject.subject, 'shared.*\".*Secure')
    or regex.icontains(subject.subject, 'shared.*\".*Encrypt')
    or regex.icontains(subject.subject, 'shared.*\".*shared')
    or regex.icontains(subject.subject, 'shared.*\".*protected')
    or regex.icontains(subject.subject, 'shared.*\".*\.docx?\.pdf')
    or regex.icontains(subject.subject, 'shared.*\".*\.docx?\.paper')
    // all caps filename allowing for numbers, punct and spaces, and an optional file extenstion
    or regex.contains(subject.subject,
                      'shared \"[A-Z0-9[:punct:]\s]+(?:\.[a-zA-Z]{3,5})\"'
    )
    or regex.icontains(subject.subject,
                       'shared \".*(?:shared|sent).*\" with you'
    )

    // MFA theme
    or regex.icontains(subject.subject, 'shared.*\".*Verification Code')
    or regex.icontains(subject.subject, 'shared.*\".*\bMFA\b')

    // the reply-to address is within the subject
    or any(headers.reply_to,
           strings.icontains(subject.subject, .email.domain.domain)
    )
  )
)

Detection logic

Scope: inbound message.

The detection rule is intended to match on messages sent from DropBox indicating a shared file to the recipient which contains suspicious content within the document or sender display name.

  1. inbound message
  2. sender.email.email is 'no-reply@dropbox.com'
  3. headers.auth_summary.spf.pass
  4. headers.auth_summary.dmarc.pass
  5. headers.auth_summary.spf.details.designator ends with '.dropbox.com'
  6. subject.subject contains 'shared'
  7. subject.subject contains 'with you'
  8. any of:
    • subject.subject contains 'dropbox'
    • subject.subject contains 'sharefile'
    • subject.subject matches any of 18 patterns
      • Accounts? (?:Payable|Receivable).*shared
      • Billing Support.*shared
      • Compliance HR.*shared
      • (?:Compliance|Executive|Finance|\bHR\b|\bIT\b|Legal|Payroll|Purchasing|Operations|Security|Training|Support).*shared
      • (?:Department|Team).*shared
      • Corporate Communications.*shared
      • Employee Relations.*shared
      • Office Manager.*shared
      • Risk Management.*shared
      • Payroll Admin(?:istrator).*shared
      • Human Resources.*shared
      • HR.*shared
      • IT Support.*shared
      • Information Technology.*shared
      • (?:Network|System)? Admin(?:istrator).*shared
      • Help Desk.*shared
      • Tech(?:nical) Support.*shared
      • \w+@\w+\.\w+.*shared
    • any of:
      • subject.subject matches 'shared.*\\"Untitled.paper'
      • subject.subject matches 'shared.*\\".*scanne[rd]'
      • subject.subject matches 'shared.*\\".*_IMG_'
      • subject.subject matches 'shared.*\\".*IMG[_-](?:\\d|\\W)+\\"'
      • subject.subject matches 'shared.*\\".*one_docx'
      • subject.subject matches 'shared.*\\".*One.?Drive'
      • subject.subject matches 'shared.*\\".*click here'
      • subject.subject matches 'shared.*\\".*Download PDF'
      • subject.subject matches 'shared.*\\".*Validate'
      • subject.subject matches 'shared.*\\".*Invoice'
      • subject.subject matches 'shared.*\\".*INV\\b'
      • subject.subject matches 'shared.*\\".*Payment'
      • subject.subject matches 'shared.*\\".*ACH'
      • subject.subject matches 'shared.*\\".*Wire Confirmation'
      • subject.subject matches 'shared.*\\".*P[O0]\\W+?\\d+\\"'
      • subject.subject matches 'shared.*\\"P[O0](?:\\W+?|\\d+)'
      • subject.subject matches 'shared.*\\".*receipt'
      • subject.subject matches 'shared.*\\".*Billing'
      • subject.subject matches 'shared.*\\".*statement'
      • subject.subject matches 'shared.*\\".*Past Due'
      • subject.subject matches 'shared.*\\".*Remit(?:tance)?'
      • subject.subject matches 'shared.*\\".*Purchase Order'
      • subject.subject matches 'shared.*\\".*Settlement'
      • subject.subject matches 'shared.*\\".*Contract Agreement'
      • subject.subject matches 'shared.*\\".*Pr[0o]p[0o]sal'
      • subject.subject matches 'shared.*\\".*Contract Doc'
      • subject.subject matches 'shared.*\\".*Claim Doc'
      • subject.subject matches 'shared.*\\".*Payroll'
      • subject.subject matches 'shared.*\\".*Employee Pay\\b'
      • subject.subject matches 'shared.*\\".*Salary'
      • subject.subject matches 'shared.*\\".*Benefit Enrollment'
      • subject.subject matches 'shared.*\\".*Employee Handbook'
      • subject.subject matches 'shared.*\\".*Reimbursement Approved'
      • subject.subject matches 'shared.*\\".*(?:Faculty|Staff)\\s*(?:\\w+\\s+){0,3}\\s*Eval(?:uation)?'
      • subject.subject matches 'shared.*\\".*Shared.?File'
      • subject.subject matches 'shared.*\\".*Urgent'
      • subject.subject matches 'shared.*\\".*Important'
      • subject.subject matches 'shared.*\\".*Secure'
      • subject.subject matches 'shared.*\\".*Encrypt'
      • subject.subject matches 'shared.*\\".*shared'
      • subject.subject matches 'shared.*\\".*protected'
      • subject.subject matches 'shared.*\\".*\\.docx?\\.pdf'
      • subject.subject matches 'shared.*\\".*\\.docx?\\.paper'
      • subject.subject matches 'shared \\"[A-Z0-9[:punct:]\\s]+(?:\\.[a-zA-Z]{3,5})\\"'
      • subject.subject matches 'shared \\".*(?:shared|sent).*\\" with you'
      • subject.subject matches 'shared.*\\".*Verification Code'
      • subject.subject matches 'shared.*\\".*\\bMFA\\b'
      • any of headers.reply_to where:
        • strings.icontains(subject.subject)

Inspects: headers.auth_summary.dmarc.pass, headers.auth_summary.spf.details.designator, headers.auth_summary.spf.pass, headers.reply_to, headers.reply_to[].email.domain.domain, sender.email.email, subject.subject, type.inbound. Sensors: regex.contains, regex.icontains, strings.ends_with, strings.icontains.

Indicators matched (71)

FieldMatchValue
sender.email.emailequalsno-reply@dropbox.com
strings.ends_withsuffix.dropbox.com
strings.icontainssubstringshared
strings.icontainssubstringwith you
strings.icontainssubstringdropbox
strings.icontainssubstringsharefile
regex.icontainsregexAccounts? (?:Payable|Receivable).*shared
regex.icontainsregexBilling Support.*shared
regex.icontainsregexCompliance HR.*shared
regex.icontainsregex(?:Compliance|Executive|Finance|\bHR\b|\bIT\b|Legal|Payroll|Purchasing|Operations|Security|Training|Support).*shared
regex.icontainsregex(?:Department|Team).*shared
regex.icontainsregexCorporate Communications.*shared
59 more
regex.icontainsregexEmployee Relations.*shared
regex.icontainsregexOffice Manager.*shared
regex.icontainsregexRisk Management.*shared
regex.icontainsregexPayroll Admin(?:istrator).*shared
regex.icontainsregexHuman Resources.*shared
regex.icontainsregexHR.*shared
regex.icontainsregexIT Support.*shared
regex.icontainsregexInformation Technology.*shared
regex.icontainsregex(?:Network|System)? Admin(?:istrator).*shared
regex.icontainsregexHelp Desk.*shared
regex.icontainsregexTech(?:nical) Support.*shared
regex.icontainsregex\w+@\w+\.\w+.*shared
regex.icontainsregexshared.*\"Untitled.paper
regex.icontainsregexshared.*\".*scanne[rd]
regex.icontainsregexshared.*\".*_IMG_
regex.icontainsregexshared.*\".*IMG[_-](?:\d|\W)+\"
regex.icontainsregexshared.*\".*one_docx
regex.icontainsregexshared.*\".*One.?Drive
regex.icontainsregexshared.*\".*click here
regex.icontainsregexshared.*\".*Download PDF
regex.icontainsregexshared.*\".*Validate
regex.icontainsregexshared.*\".*Invoice
regex.icontainsregexshared.*\".*INV\b
regex.icontainsregexshared.*\".*Payment
regex.icontainsregexshared.*\".*ACH
regex.icontainsregexshared.*\".*Wire Confirmation
regex.icontainsregexshared.*\".*P[O0]\W+?\d+\"
regex.icontainsregexshared.*\"P[O0](?:\W+?|\d+)
regex.icontainsregexshared.*\".*receipt
regex.icontainsregexshared.*\".*Billing
regex.icontainsregexshared.*\".*statement
regex.icontainsregexshared.*\".*Past Due
regex.icontainsregexshared.*\".*Remit(?:tance)?
regex.icontainsregexshared.*\".*Purchase Order
regex.icontainsregexshared.*\".*Settlement
regex.icontainsregexshared.*\".*Contract Agreement
regex.icontainsregexshared.*\".*Pr[0o]p[0o]sal
regex.icontainsregexshared.*\".*Contract Doc
regex.icontainsregexshared.*\".*Claim Doc
regex.icontainsregexshared.*\".*Payroll
regex.icontainsregexshared.*\".*Employee Pay\b
regex.icontainsregexshared.*\".*Salary
regex.icontainsregexshared.*\".*Benefit Enrollment
regex.icontainsregexshared.*\".*Employee Handbook
regex.icontainsregexshared.*\".*Reimbursement Approved
regex.icontainsregexshared.*\".*(?:Faculty|Staff)\s*(?:\w+\s+){0,3}\s*Eval(?:uation)?
regex.icontainsregexshared.*\".*Shared.?File
regex.icontainsregexshared.*\".*Urgent
regex.icontainsregexshared.*\".*Important
regex.icontainsregexshared.*\".*Secure
regex.icontainsregexshared.*\".*Encrypt
regex.icontainsregexshared.*\".*shared
regex.icontainsregexshared.*\".*protected
regex.icontainsregexshared.*\".*\.docx?\.pdf
regex.icontainsregexshared.*\".*\.docx?\.paper
regex.containsregexshared \"[A-Z0-9[:punct:]\s]+(?:\.[a-zA-Z]{3,5})\"
regex.icontainsregexshared \".*(?:shared|sent).*\" with you
regex.icontainsregexshared.*\".*Verification Code
regex.icontainsregexshared.*\".*\bMFA\b