Detection rules › Sublime MQL
Brand impersonation: Greenvelope
Detects messages impersonating Greenvelope invitations not originating from legitimate Greenvelope domain.
Threat classification
Sublime's own taxonomy (not MITRE ATT&CK).
| Category | Values |
|---|---|
| Attack types | Credential Phishing |
| Tactics and techniques | Impersonation: Brand, Social engineering |
Event coverage
Rule body MQL
type.inbound
// Looking for greenvelope phrasing or indicators in HTML
and (
strings.icontains(body.html.inner_text, "Powered by greenvelope")
// Look for alt text in HTML for standardized greenvelope formatting if string is not avail.
or strings.icontains(body.html.raw, 'alt="Greenvelope"')
or strings.icontains(body.html.raw,
'https://www.greenvelope.com/viewer/envelope.ashx'
)
or strings.icontains(body.current_thread.text, '© 2025 Greenvelope, LLC')
or strings.icontains(body.current_thread.text,
'8 The Green #8901, Dover, DE 19901'
)
)
// no links going to greenvlope cards/"admin" links
and length(filter(body.links,
.href_url.domain.root_domain == "greenvelope.com"
and (
// card links
strings.istarts_with(.href_url.path, '/card/')
// user links are links for the person that created the card
or strings.istarts_with(.href_url.path, '/user/')
)
)
) == 0
// Legitimate sender will be from greenvelope, negating known non-associated domains.
and not (
(
sender.email.domain.root_domain in (
"greenvelope.com",
'greenvelope-email.com'
)
and headers.auth_summary.spf.pass
)
or headers.return_path.domain.root_domain in (
"greenvelope.com",
'greenvelope-email.com'
)
)
// avoid fwd/replies
and not (
subject.is_forward
or subject.is_reply
or length(headers.references) != 0
or headers.in_reply_to is not null
or length(body.previous_threads) > 0
)
// Capping length to limit FP's
and length(body.current_thread.text) < 1500
Detection logic
Scope: inbound message.
Detects messages impersonating Greenvelope invitations not originating from legitimate Greenvelope domain.
- inbound message
any of:
- body.html.inner_text contains 'Powered by greenvelope'
- body.html.raw contains 'alt="Greenvelope"'
- body.html.raw contains 'https://www.greenvelope.com/viewer/envelope.ashx'
- body.current_thread.text contains '© 2025 Greenvelope, LLC'
- body.current_thread.text contains '8 The Green #8901, Dover, DE 19901'
- length(filter(body.links, .href_url.domain.root_domain == 'greenvelope.com' and strings.istarts_with(.href_url.path, '/card/') or strings.istarts_with(.href_url.path, '/user/'))) is 0
none of:
all of:
- sender.email.domain.root_domain in ('greenvelope.com', 'greenvelope-email.com')
- headers.auth_summary.spf.pass
- headers.return_path.domain.root_domain in ('greenvelope.com', 'greenvelope-email.com')
none of:
- subject.is_forward
- subject.is_reply
- length(headers.references) is not 0
- headers.in_reply_to is set
- length(body.previous_threads) > 0
- length(body.current_thread.text) < 1500
Inspects: body.current_thread.text, body.html.inner_text, body.html.raw, body.links, body.links[].href_url.domain.root_domain, body.links[].href_url.path, body.previous_threads, headers.auth_summary.spf.pass, headers.in_reply_to, headers.references, headers.return_path.domain.root_domain, sender.email.domain.root_domain, subject.is_forward, subject.is_reply, type.inbound. Sensors: strings.icontains, strings.istarts_with.
Indicators matched (12)
| Field | Match | Value |
|---|---|---|
strings.icontains | substring | Powered by greenvelope |
strings.icontains | substring | alt="Greenvelope" |
strings.icontains | substring | https://www.greenvelope.com/viewer/envelope.ashx |
strings.icontains | substring | © 2025 Greenvelope, LLC |
strings.icontains | substring | 8 The Green #8901, Dover, DE 19901 |
body.links[].href_url.domain.root_domain | equals | greenvelope.com |
strings.istarts_with | prefix | /card/ |
strings.istarts_with | prefix | /user/ |
sender.email.domain.root_domain | member | greenvelope.com |
sender.email.domain.root_domain | member | greenvelope-email.com |
headers.return_path.domain.root_domain | member | greenvelope.com |
headers.return_path.domain.root_domain | member | greenvelope-email.com |