Link: Multistage landing - JotForm abuse

Detects a disabled JotForm that contains suspicious elements like secured document messaging, cloned forms, or suspicious action words in form items. Also checks for human verification pages and embedded links to credential collection sites.

Sublime rule (View on GitHub)

 1name: "Link: Multistage landing - JotForm abuse"
 2description: "Detects a disabled JotForm that contains suspicious elements like secured document messaging, cloned forms, or suspicious action words in form items. Also checks for human verification pages and embedded links to credential collection sites."
 3type: "rule"
 4severity: "high"
 5source: |
 6  type.inbound
 7  and length(filter(body.links, .href_url.domain.root_domain == "jotform.com")) > 0
 8  and any(filter(body.links, .href_url.domain.root_domain == "jotform.com"),
 9  
10          // the form as been disabled
11          strings.icontains(ml.link_analysis(.).final_dom.inner_text,
12                            'This form is disabled...'
13          )
14          // it contains suspicious elements within the extracted "appInfo"
15          or any(regex.iextract(ml.link_analysis(.).final_dom.raw,
16                                'window\.__appInfo = (?P<appInfo>\{[^\;]+\})\;'
17                 ),
18                 strings.icontains(strings.parse_json(.named_groups["appInfo"])["description"],
19                                   'secured document'
20                 )
21                 or strings.icontains(strings.parse_json(.named_groups["appInfo"])["appIconURL"],
22                                   'pfc_clone_'
23                 )
24                 or any(strings.parse_json(.named_groups["appInfo"])["items"],
25                        // find any links that mention common "action" words
26                        regex.icontains(.["description"],
27                                        '(?:view|click|show|access|download|goto|Validate|Va[il]idar|login|verify|account)'
28                        )
29  
30                        // inspect the linked page within the "title" 
31                        or (
32                          strings.icontains(.["title"], 'http')
33                          and (
34                            ml.link_analysis(strings.parse_url(.["title"])).credphish.disposition == "phishing"
35                            or ml.link_analysis(strings.parse_url(.["title"])).credphish.contains_captcha == true
36                            or strings.istarts_with(ml.link_analysis(strings.parse_url(.["title"]
37                                                                     )
38                                                    ).final_dom.inner_text,
39                                                    'Verify you are human'
40                            )
41                          )
42                        )
43                 )
44          )
45  )  
46attack_types:
47  - "Credential Phishing"
48tactics_and_techniques:
49  - "Evasion"
50  - "Social engineering"
51detection_methods:
52  - "Content analysis"
53  - "HTML analysis"
54  - "Javascript analysis"
55  - "URL analysis"
56id: "5b64326f-e38e-558c-8b5f-d9e7ddee2f69"
to-top