EXPLORE
← Back to Explore
sublimemediumRule

Open redirect: predictiveresponse.net

Message contains use of the predictiveresponse.net open redirect. This has been exploited in the wild.

Detection Query

type.inbound
and any(body.links,
        .href_url.domain.root_domain == "predictiveresponse.net"
        and strings.icontains(.href_url.query_params, 'redirect=')
        and not regex.icontains(.href_url.query_params,
                                'redirect=(?:https?(?:%3a|:))?(?:%2f|\/){2}[^&]*predictiveresponse\.net(?:\&|\/|$)'
        )
)
and not sender.email.domain.root_domain == "predictiveresponse.net"
// negate use of predictiveresponse infra
and not any(headers.domains, .root_domain == "predictiveresponse.net")
and not any(headers.hops,
            any(.fields,
                .name == "List-Unsubscribe"
                and strings.iends_with(.value, '@predictiveresponse.net>')
            )
)
// negate highly trusted sender domains unless they fail DMARC authentication
and (
  (
    sender.email.domain.root_domain in $high_trust_sender_root_domains
    and not headers.auth_summary.dmarc.pass
  )
  or sender.email.domain.root_domain not in $high_trust_sender_root_domains
)

Data Sources

Email MessagesEmail HeadersEmail Attachments

Platforms

email
Raw Content
name: "Open redirect: predictiveresponse.net"
description: |
  Message contains use of the predictiveresponse.net open redirect. This has been exploited in the wild.
type: "rule"
severity: "medium"
source: |
  type.inbound
  and any(body.links,
          .href_url.domain.root_domain == "predictiveresponse.net"
          and strings.icontains(.href_url.query_params, 'redirect=')
          and not regex.icontains(.href_url.query_params,
                                  'redirect=(?:https?(?:%3a|:))?(?:%2f|\/){2}[^&]*predictiveresponse\.net(?:\&|\/|$)'
          )
  )
  and not sender.email.domain.root_domain == "predictiveresponse.net"
  // negate use of predictiveresponse infra
  and not any(headers.domains, .root_domain == "predictiveresponse.net")
  and not any(headers.hops,
              any(.fields,
                  .name == "List-Unsubscribe"
                  and strings.iends_with(.value, '@predictiveresponse.net>')
              )
  )
  // negate highly trusted sender domains unless they fail DMARC authentication
  and (
    (
      sender.email.domain.root_domain in $high_trust_sender_root_domains
      and not headers.auth_summary.dmarc.pass
    )
    or sender.email.domain.root_domain not in $high_trust_sender_root_domains
  )
attack_types:
  - "Credential Phishing"
  - "Malware/Ransomware"
tactics_and_techniques:
  - "Open redirect"
detection_methods:
  - "Sender analysis"
  - "URL analysis"
id: "3474bb1b-8840-53b5-9582-3c9baf1b2d63"