Detection rules › Sublime MQL
Callback phishing: AOL senders with suspicious HTML template or PDF attachment
Detects a specific behavioral pattern from AOL senders using consistent HTML templates and PDF attachment characteristics. The pattern includes particular Yahoo-style formatting with specific font families, and standardized PDF metadata when attachments are present.
Threat classification
Sublime's own taxonomy (not MITRE ATT&CK).
| Category | Values |
|---|---|
| Attack types | Callback Phishing |
| Tactics and techniques | Free email provider, Social engineering |
Event coverage
Rule body MQL
type.inbound
// sender is aol
and sender.email.domain.root_domain == "aol.com"
// there is a single recipient
and length(recipients.to) == 1
and length(recipients.cc) == 0
and length(recipients.bcc) == 0
// is not a reply
and headers.in_reply_to is null
// this is another way to limit replies but need to account for
// a behavior where Yahoo/Aol seems to include it's own message ID as a reference
and length(headers.references) == 1
// all message-id values end in mail.yahoo.com, some benign messages use @aol.com
and strings.iends_with(headers.message_id, '@mail.yahoo.com>')
// All are using the legit Yahoo X-Mailer
// this removes AOL sent from iphones and other non AOL client
and strings.ends_with(headers.mailer, 'AolMailNorrin')
// exclude common recipients which interact with aol addresses that are commonly (but not always) benign
// recipeint exclusions are suggested for other recipients
and (
// no attachment
(
length(attachments) == 0
// if there are no attachments focus on the HTML template being observed
and (
// yahoo div followed by <br>
// // verdana, helvetica, sans-serif;
strings.icontains(body.html.raw,
"<div class=\"yahoo-style-wrap\" style=\"font-family:verdana, helvetica, sans-serif;font-size:18px;\">\r\n<div dir=\"ltr\" data-setdir=\"false\"><br>\r\n"
)
// // Helvetica Neue, Helvetica, Arial, sans-serif;
or strings.icontains(body.html.raw,
"<div class=\"yahoo-style-wrap\" style=\"font-family:Helvetica Neue, Helvetica, Arial, sans-serif;font-size:18px;\">\r\n<div dir=\"ltr\" data-setdir=\"false\"><br>\r\n"
)
// yahoo div followed by doctype
// // verdana, helvetica, sans-serif;
or strings.icontains(body.html.raw,
"<div class=\"yahoo-style-wrap\" style=\"font-family:verdana, helvetica, sans-serif;font-size:18px;\">\r\n<div dir=\"ltr\" data-setdir=\"false\"><!DOCTYPE html>"
)
// // Helvetica Neue, Helvetica, Arial, sans-serif;
or strings.icontains(body.html.raw,
"<div class=\"yahoo-style-wrap\" style=\"font-family:Helvetica Neue, Helvetica, Arial, sans-serif;font-size:18px;\">\r\n<div dir=\"ltr\" data-setdir=\"false\"><!DOCTYPE html>"
)
)
)
or (
// if there is an attachment, there can be only one
length(attachments) == 1
and all(attachments,
// it's a PDF,
.file_type == "pdf"
and (
// static content_id value for the attachments
(
.content_id == '<@yahoo.com>' or .content_id == '@yahoo.com'
)
// created by observed static PDF details
or (
//
// This rule makes use of a beta feature and is subject to change without notice
// using the beta feature in custom rules is not suggested until it has been formally released
//
beta.parse_exif(.).creator == "wkhtmltopdf 0.12.6"
and beta.parse_exif(.).title is null
and beta.parse_exif(.).producer == 'Qt 4.8.7'
)
)
)
)
)
Detection logic
Scope: inbound message.
Detects a specific behavioral pattern from AOL senders using consistent HTML templates and PDF attachment characteristics. The pattern includes particular Yahoo-style formatting with specific font families, and standardized PDF metadata when attachments are present.
- inbound message
- sender.email.domain.root_domain is 'aol.com'
- length(recipients.to) is 1
- length(recipients.cc) is 0
- length(recipients.bcc) is 0
- headers.in_reply_to is missing
- length(headers.references) is 1
- headers.message_id ends with '@mail.yahoo.com>'
- headers.mailer ends with 'AolMailNorrin'
any of:
all of:
- length(attachments) is 0
body.html.raw contains any of 4 patterns
<div class=\"yahoo-style-wrap\" style=\"font-family:verdana, helvetica, sans-serif;font-size:18px;\">\r\n<div dir=\"ltr\" data-setdir=\"false\"><br>\r\n<div class=\"yahoo-style-wrap\" style=\"font-family:Helvetica Neue, Helvetica, Arial, sans-serif;font-size:18px;\">\r\n<div dir=\"ltr\" data-setdir=\"false\"><br>\r\n<div class=\"yahoo-style-wrap\" style=\"font-family:verdana, helvetica, sans-serif;font-size:18px;\">\r\n<div dir=\"ltr\" data-setdir=\"false\"><!DOCTYPE html><div class=\"yahoo-style-wrap\" style=\"font-family:Helvetica Neue, Helvetica, Arial, sans-serif;font-size:18px;\">\r\n<div dir=\"ltr\" data-setdir=\"false\"><!DOCTYPE html>
all of:
- length(attachments) is 1
all of
attachmentswhere all hold:- .file_type is 'pdf'
any of:
any of:
- .content_id is '<@yahoo.com>'
- .content_id is '@yahoo.com'
all of:
- beta.parse_exif(.).creator is 'wkhtmltopdf 0.12.6'
- beta.parse_exif(.).title is missing
- beta.parse_exif(.).producer is 'Qt 4.8.7'
Inspects: attachments[].content_id, attachments[].file_type, body.html.raw, headers.in_reply_to, headers.mailer, headers.message_id, headers.references, recipients.bcc, recipients.cc, recipients.to, sender.email.domain.root_domain, type.inbound. Sensors: beta.parse_exif, strings.ends_with, strings.icontains, strings.iends_with.
Indicators matched (10)
| Field | Match | Value |
|---|---|---|
sender.email.domain.root_domain | equals | aol.com |
strings.iends_with | suffix | @mail.yahoo.com> |
strings.ends_with | suffix | AolMailNorrin |
strings.icontains | substring | <div class=\"yahoo-style-wrap\" style=\"font-family:verdana, helvetica, sans-serif;font-size:18px;\">\r\n<div dir=\"ltr\" data-setdir=\"false\"><br>\r\n |
strings.icontains | substring | <div class=\"yahoo-style-wrap\" style=\"font-family:Helvetica Neue, Helvetica, Arial, sans-serif;font-size:18px;\">\r\n<div dir=\"ltr\" data-setdir=\"false\"><br>\r\n |
strings.icontains | substring | <div class=\"yahoo-style-wrap\" style=\"font-family:verdana, helvetica, sans-serif;font-size:18px;\">\r\n<div dir=\"ltr\" data-setdir=\"false\"><!DOCTYPE html> |
strings.icontains | substring | <div class=\"yahoo-style-wrap\" style=\"font-family:Helvetica Neue, Helvetica, Arial, sans-serif;font-size:18px;\">\r\n<div dir=\"ltr\" data-setdir=\"false\"><!DOCTYPE html> |
attachments[].file_type | equals | pdf |
attachments[].content_id | equals | <@yahoo.com> |
attachments[].content_id | equals | @yahoo.com |