Attachment: Adobe image lure in body or attachment with suspicious link

Detects Adobe phishing messages with an Adobe logo in the body or attachment, with suspicious link language.

Sublime rule (View on GitHub)

  1name: "Attachment: Adobe image lure in body or attachment with suspicious link"
  2description: "Detects Adobe phishing messages with an Adobe logo in the body or attachment, with suspicious link language."
  3type: "rule"
  4severity: "medium"
  5source: |
  6  type.inbound
  7  and (
  8    length(filter(attachments, .file_type not in $file_types_images)) == 0
  9    or length(filter(attachments, .file_type != "pdf")) == 0
 10  )
 11  and (
 12    any(ml.logo_detect(beta.message_screenshot()).brands, .name == "Adobe")
 13    and 0 < length(body.links) < 10
 14    and any(body.links, .display_text is null)
 15    and (
 16      length(filter(body.links,
 17                    (
 18                      .display_text is null
 19                      and .display_url.url == sender.email.domain.root_domain
 20                    )
 21                    or .href_url.domain.root_domain in (
 22                      "aka.ms",
 23                      "mimecast.com",
 24                      "mimecastprotect.com",
 25                      "cisco.com"
 26                    )
 27             )
 28      ) != length(body.links)
 29    )
 30    // )
 31    or any(attachments,
 32           any(ml.logo_detect(.).brands,
 33               .name == "Adobe"
 34               and .confidence in ("medium", "high")
 35               and any(file.explode(..),
 36                       (
 37                         length(.scan.url.urls) > 0
 38                         or length(.scan.pdf.urls) > 0
 39                         or length(body.links) > 0
 40                       )
 41               )
 42           )
 43    )
 44  )
 45  and (
 46    (
 47      (
 48        length(headers.references) > 0
 49        or not any(headers.hops,
 50                   any(.fields, strings.ilike(.name, "In-Reply-To"))
 51        )
 52      )
 53      and not (
 54        (
 55          strings.istarts_with(subject.subject, "RE:")
 56          or strings.istarts_with(subject.subject, "RES:")
 57          or strings.istarts_with(subject.subject, "R:")
 58          or strings.istarts_with(subject.subject, "ODG:")
 59          or strings.istarts_with(subject.subject, "答复:")
 60          or strings.istarts_with(subject.subject, "AW:")
 61          or strings.istarts_with(subject.subject, "TR:")
 62          or strings.istarts_with(subject.subject, "FWD:")
 63          or regex.imatch(subject.subject, '(\[[^\]]+\]\s?){0,3}(re|fwd?)\s?:')
 64        )
 65      )
 66    )
 67    or length(headers.references) == 0
 68  )
 69  
 70  // not a newsletter
 71  and not any(headers.hops, any(.fields, .name == "List-Unsubscribe-Post"))
 72  
 73  // negate highly trusted sender domains unless they fail DMARC authentication
 74  and (
 75    (
 76      sender.email.domain.root_domain in $high_trust_sender_root_domains
 77      and not headers.auth_summary.dmarc.pass
 78    )
 79    or sender.email.domain.root_domain not in $high_trust_sender_root_domains
 80  )
 81  and (
 82    not profile.by_sender().solicited
 83    or (
 84      profile.by_sender().any_messages_malicious_or_spam
 85      and not profile.by_sender().any_false_positives
 86    )
 87  )
 88  and not profile.by_sender().any_false_positives  
 89
 90attack_types:
 91  - "Credential Phishing"
 92tactics_and_techniques:
 93  - "Image as content"
 94  - "Impersonation: Brand"
 95detection_methods:
 96  - "Content analysis"
 97  - "Computer Vision"
 98  - "Optical Character Recognition"
 99  - "Sender analysis"
100  - "URL analysis"
101id: "1d7add81-9822-576a-bcae-c4440e75e393"
to-top