Detection rules › Sublime MQL

Link: URL scheme obfuscation via split HTML anchors

Severity
high
Type
rule
Source
github.com/sublime-security/sublime-rules

Detects URLs intentionally split across multiple adjacent HTML anchor tags to evade URL analysis and detection systems. This sophisticated evasion technique breaks the URL scheme (http/https) across separate anchor elements, rendering as: <a>h</a><a>ttp://malicious.com</a> The technique bypasses many security tools that expect complete, well-formed URLs while displaying a seemingly normal link to end users. This pattern is strongly associated with credential phishing and compromised email accounts. References: - Observed in wild credential phishing campaigns (2024-2025) - Evades traditional URL extraction and analysis tools

Threat classification

Sublime's own taxonomy (not MITRE ATT&CK).

CategoryValues
Attack typesCredential Phishing, BEC/Fraud
Tactics and techniquesEvasion, HTML injection, Social engineering

Event coverage

Rule body MQL

type.inbound
and length(body.current_thread.links) == 2
and length(filter(html.xpath(body.html, "//a").nodes,
                  .display_text == "h"
                  and any(.links, .href_url.scheme in ("http", "https"))
           )
) == 1
and length(filter(html.xpath(body.html, "//a").nodes,
                  (
                    strings.starts_with(.display_text, "ttp://")
                    or strings.starts_with(.display_text, "ttps://")
                  )
                  and any(.links, .href_url.scheme in ("http", "https"))
           )
) == 1

Detection logic

Scope: inbound message.

Detects URLs intentionally split across multiple adjacent HTML anchor tags to evade URL analysis and detection systems. This sophisticated evasion technique breaks the URL scheme (http/https) across separate anchor elements, rendering as: <a>h</a><a>ttp://malicious.com</a> The technique bypasses many security tools that expect complete, well-formed URLs while displaying a seemingly normal link to end users. This pattern is strongly associated with credential phishing and compromised email accounts. References: - Observed in wild credential phishing campaigns (2024-2025) - Evades traditional URL extraction and analysis tools

  1. inbound message
  2. length(body.current_thread.links) is 2
  3. length(filter(html.xpath(body.html, '//a').nodes, .display_text == 'h' and any(.links, .href_url.scheme in ('http', 'https')))) is 1
  4. length(filter(html.xpath(body.html, '//a').nodes, strings.starts_with(.display_text, 'ttp://') or strings.starts_with(.display_text, 'ttps://') and any(.links, .href_url.scheme in ('http', 'https')))) is 1

Inspects: body.current_thread.links, body.html, type.inbound. Sensors: html.xpath, strings.starts_with.

Indicators matched (5)

FieldMatchValue
html.xpath(body.html, '//a').nodes[].display_textequalsh
html.xpath(body.html, '//a').nodes[].links[].href_url.schemememberhttp
html.xpath(body.html, '//a').nodes[].links[].href_url.schemememberhttps
strings.starts_withprefixttp://
strings.starts_withprefixttps://