Detection rules › Sublime MQL
Open redirect: convertcart.com
Message contains use of the convertcart.com redirect. This has been exploited in the wild.
Threat classification
Sublime's own taxonomy (not MITRE ATT&CK).
| Category | Values |
|---|---|
| Attack types | Credential Phishing, Malware/Ransomware |
| Tactics and techniques | Open redirect |
Event coverage
Rule body MQL
type.inbound
// convertcart is used in benign messages, however, they commonly have many links
// ensure messages contain less than 10 links convertcart.com to ensure higher fidelity matching of malicious messages
and length(filter(body.links, .href_url.domain.root_domain == "convertcart.com")
) < 10
and any(body.links,
.href_url.domain.root_domain == "convertcart.com"
and strings.iends_with(.href_url.path, '/click')
and strings.icontains(.href_url.query_params, 'url=')
and not regex.icontains(.href_url.query_params,
'url=(?:https?(?:%3a|:))?(?:%2f|\/){2}[^&]*convertcart\.com(?:\&|\/|$|%2f)'
)
and not strings.icontains(.href_url.query_params,
sender.email.domain.root_domain
)
)
// remove uses that originate from convertcart.com
and not any(headers.domains,
.root_domain in ("convertcart.com", "convertc.com")
)
// 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
)
Detection logic
Scope: inbound message.
Message contains use of the convertcart.com redirect. This has been exploited in the wild.
- inbound message
- length(filter(body.links, .href_url.domain.root_domain == 'convertcart.com')) < 10
any of
body.linkswhere all hold:- .href_url.domain.root_domain is 'convertcart.com'
- .href_url.path ends with '/click'
- .href_url.query_params contains 'url='
not:
- .href_url.query_params matches 'url=(?:https?(?:%3a|:))?(?:%2f|\\/){2}[^&]*convertcart\\.com(?:\\&|\\/|$|%2f)'
not:
- strings.icontains(.href_url.query_params)
not:
any of
headers.domainswhere:- .root_domain in ('convertcart.com', 'convertc.com')
any of:
all of:
- sender.email.domain.root_domain in $high_trust_sender_root_domains
not:
- headers.auth_summary.dmarc.pass
- sender.email.domain.root_domain not in $high_trust_sender_root_domains
Inspects: body.links, body.links[].href_url.domain.root_domain, body.links[].href_url.path, body.links[].href_url.query_params, headers.auth_summary.dmarc.pass, headers.domains, headers.domains[].root_domain, sender.email.domain.root_domain, type.inbound. Sensors: regex.icontains, strings.icontains, strings.iends_with. Reference lists: $high_trust_sender_root_domains.
Indicators matched (6)
| Field | Match | Value |
|---|---|---|
body.links[].href_url.domain.root_domain | equals | convertcart.com |
strings.iends_with | suffix | /click |
strings.icontains | substring | url= |
regex.icontains | regex | url=(?:https?(?:%3a|:))?(?:%2f|\/){2}[^&]*convertcart\.com(?:\&|\/|$|%2f) |
headers.domains[].root_domain | member | convertcart.com |
headers.domains[].root_domain | member | convertc.com |