Detection rules › Sublime MQL

Attachment: PDF with multistage landing - ClickUp abuse

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

Detects PDF attachments containing ClickUp document links that either redirect to unavailable pages or contain embedded links leading to newly registered domains, free file hosts, URL shorteners, or verified credential theft pages.

Threat classification

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

CategoryValues
Attack typesCredential Phishing
Tactics and techniquesEvasion, Free file host, Free subdomain host, PDF, Social engineering

Event coverage

Rule body MQL

type.inbound
and length(attachments) == 1
and any(attachments,
        .file_type == "pdf"
        and any(file.explode(.),
                .depth == 0
                and length(.scan.url.urls) == 1
                and any(.scan.url.urls,
                        .domain.domain == "doc.clickup.com"
                        and (
                          // landing page has been removed
                          strings.istarts_with(ml.link_analysis(.).final_dom.display_text,
                                               'This page is currently unavailable'
                          )
                          // inspection of links within the doc.clickup.com
                          or any(filter(ml.link_analysis(.).final_dom.links,
                                        .href_url.domain.root_domain != 'clickup.com'
                                        and .href_url.domain.root_domain not in $org_domains
                                 ),
                                 (
                                   // any of those links domains are new
                                   network.whois(.href_url.domain).days_old < 30
                                   // go to free file hosts
                                   or .href_url.domain.root_domain in $free_file_hosts
                                   or .href_url.domain.domain in $free_file_hosts

                                   // go to free subdomains hosts
                                   or (
                                     .href_url.domain.root_domain in $free_subdomain_hosts
                                     // where there is a subdomain
                                     and .href_url.domain.subdomain is not null
                                     and .href_url.domain.subdomain != "www"
                                   )
                                   // go to url shortners
                                   or .href_url.domain.root_domain in $url_shorteners
                                   or .href_url.domain.root_domain in $social_landing_hosts
                                   or .href_url.domain.domain in $url_shorteners
                                   or .href_url.domain.domain in $social_landing_hosts
                                   // or the page has been taken down
                                   or (
                                     // find any links that mention common "action" words
                                     regex.icontains(.display_text,
                                                     '(?:view|click|show|access|download|goto|Validate|Va[il]idar|login|verify|account)'
                                     )
                                     and (
                                       // and when visiting those links, are phishing
                                       ml.link_analysis(., mode="aggressive").credphish.disposition == "phishing"

                                       // hit a captcha page
                                       or ml.link_analysis(., mode="aggressive").credphish.contains_captcha

                                       // or the page redirects to common website, observed when evasion happens
                                       or (
                                         length(ml.link_analysis(.,
                                                                 mode="aggressive"
                                                ).redirect_history
                                         ) > 0
                                         and ml.link_analysis(.,
                                                              mode="aggressive"
                                         ).effective_url.domain.root_domain in $tranco_10k
                                       )
                                     )
                                   )
                                 )
                          )
                        )
                )
        )
)

Detection logic

Scope: inbound message.

Detects PDF attachments containing ClickUp document links that either redirect to unavailable pages or contain embedded links leading to newly registered domains, free file hosts, URL shorteners, or verified credential theft pages.

  1. inbound message
  2. length(attachments) is 1
  3. any of attachments where all hold:
    • .file_type is 'pdf'
    • any of file.explode(.) where all hold:
      • .depth is 0
      • length(.scan.url.urls) is 1
      • any of .scan.url.urls where all hold:
        • .domain.domain is 'doc.clickup.com'
        • any of:
          • ml.link_analysis(.).final_dom.display_text starts with 'This page is currently unavailable'
          • any of filter(...) where any holds:
            • network.whois(.href_url.domain).days_old < 30
            • .href_url.domain.root_domain in $free_file_hosts
            • .href_url.domain.domain in $free_file_hosts
            • all of:
              • .href_url.domain.root_domain in $free_subdomain_hosts
              • .href_url.domain.subdomain is set
              • .href_url.domain.subdomain is not 'www'
            • .href_url.domain.root_domain in $url_shorteners
            • .href_url.domain.root_domain in $social_landing_hosts
            • .href_url.domain.domain in $url_shorteners
            • .href_url.domain.domain in $social_landing_hosts
            • all of:
              • .display_text matches '(?:view|click|show|access|download|goto|Validate|Va[il]idar|login|verify|account)'
              • any of:
                • ml.link_analysis(.).credphish.disposition is 'phishing'
                • ml.link_analysis(.).credphish.contains_captcha
                • all of:
                  • length(ml.link_analysis(., mode='aggressive').redirect_history) > 0
                  • ml.link_analysis(.).effective_url.domain.root_domain in $tranco_10k

Inspects: attachments[].file_type, type.inbound. Sensors: file.explode, ml.link_analysis, network.whois, regex.icontains, strings.istarts_with. Reference lists: $free_file_hosts, $free_subdomain_hosts, $org_domains, $social_landing_hosts, $tranco_10k, $url_shorteners.

Indicators matched (4)

FieldMatchValue
attachments[].file_typeequalspdf
file.explode(attachments[])[].scan.url.urls[].domain.domainequalsdoc.clickup.com
strings.istarts_withprefixThis page is currently unavailable
regex.icontainsregex(?:view|click|show|access|download|goto|Validate|Va[il]idar|login|verify|account)