Link: Multistage Landing - Abuse Adobe Acrobat Hosted PDF
Detects an inbound message containing an Adobe Acrobat link that leads to a single page PDF document with suspicious indicators, including minimal text, brand logos, and document viewer language. The sender is not from Adobe.com and the message is not a reply.
Sublime rule (View on GitHub)
1name: "Link: Multistage Landing - Abuse Adobe Acrobat Hosted PDF"
2description: "Detects an inbound message containing an Adobe Acrobat link that leads to a single page PDF document with suspicious indicators, including minimal text, brand logos, and document viewer language. The sender is not from Adobe.com and the message is not a reply."
3type: "rule"
4severity: "medium"
5source: |
6 type.inbound
7 and any(body.links,
8 .href_url.domain.domain == "acrobat.adobe.com"
9 and strings.istarts_with(.href_url.path, '/id/urn:')
10 )
11 and length(distinct(filter(body.links,
12 .href_url.domain.domain == "acrobat.adobe.com"
13 and strings.istarts_with(.href_url.path, '/id/urn:')
14 ),
15 .href_url.url
16 )
17 ) == 1
18 and any(filter(body.links,
19 .href_url.domain.domain == "acrobat.adobe.com"
20 and strings.istarts_with(.href_url.path, '/id/urn:')
21 ),
22 any(ml.link_analysis(., mode="aggressive").additional_responses,
23 // a low amount of links
24 any(file.explode(.file), 1 <= length(.scan.url.urls) <= 2)
25 // a single page
26 and any(file.explode(.file),
27 .scan.exiftool.page_count == 1
28 // occurs when there are exif errors
29 or .scan.exiftool.page_count is null
30 )
31 // susipicious indicators
32 and (
33 // logo detection of brands for file sharing companies
34 any(ml.logo_detect(.file).brands,
35 .name in ("DocuSign", "Adobe")
36 or strings.istarts_with(.name, 'Microsoft')
37 )
38 // look at the OCR of the document as well
39 or (
40 length(beta.ocr(.file).text) < 750
41 and (
42 strings.icontains(beta.ocr(.file).text, 'view document')
43 or strings.icontains(beta.ocr(.file).text, 'New PDF Document')
44 or strings.icontains(beta.ocr(.file).text, 'please wait...')
45 or strings.icontains(beta.ocr(.file).text,
46 "display this type of document"
47 )
48 or strings.icontains(beta.ocr(.file).text, 'PDF viewer')
49 or regex.icontains(beta.ocr(.file).text, 'e-sign(?:ature)?')
50 or strings.icontains(beta.ocr(.file).text, 'review and sign')
51 or strings.icontains(beta.ocr(.file).text, 'shared a document')
52 )
53 )
54 )
55 )
56 )
57 and length(headers.references) == 0
58 and headers.in_reply_to is null
59 and sender.email.domain.root_domain != "adobe.com"
60
61attack_types:
62 - "Credential Phishing"
63tactics_and_techniques:
64 - "Impersonation: Brand"
65 - "Social engineering"
66detection_methods:
67 - "Computer Vision"
68 - "Optical Character Recognition"
69 - "URL analysis"
70 - "Header analysis"
71 - "Sender analysis"
72id: "609081ef-ca1a-577f-a886-a590e39655eb"