Detection rules › Sublime MQL
Service abuse: QuickBooks notification from new domain
This Attack Surface Reduction (ASR) rule matches on QuickBooks notifications with recently registered reply-to domains.
Threat classification
Sublime's own taxonomy (not MITRE ATT&CK).
| Category | Values |
|---|---|
| Attack types | Callback Phishing, Credential Phishing, BEC/Fraud |
| Tactics and techniques | Evasion, Social engineering |
Event coverage
Rule body MQL
type.inbound
// Legitimate Intuit sending infratructure
and sender.email.email == "quickbooks@notification.intuit.com"
and headers.auth_summary.spf.pass
and headers.auth_summary.dmarc.pass
and strings.ends_with(headers.auth_summary.spf.details.designator,
'.intuit.com'
)
// remove payment confirmation messages
and not strings.starts_with(subject.subject, 'Payment confirmation:')
// the message needs to have a reply-to address
and length(headers.reply_to) > 0
//
// 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
//
// reply-to email address has never been sent an email by the org
and not beta.profile.by_reply_to().solicited
// do not match if the reply_to address has been observed as a reply_to address
// of a message that has been classified as benign
and not beta.profile.by_reply_to().any_messages_benign
// new reply-to
and any(headers.reply_to, network.whois(.email.domain).days_old < 30)
Detection logic
Scope: inbound message.
This Attack Surface Reduction (ASR) rule matches on QuickBooks notifications with recently registered reply-to domains.
- inbound message
- sender.email.email is 'quickbooks@notification.intuit.com'
- headers.auth_summary.spf.pass
- headers.auth_summary.dmarc.pass
- headers.auth_summary.spf.details.designator ends with '.intuit.com'
not:
- subject.subject starts with 'Payment confirmation:'
- length(headers.reply_to) > 0
not:
- beta.profile.by_reply_to().solicited
not:
- beta.profile.by_reply_to().any_messages_benign
any of
headers.reply_towhere:- network.whois(.email.domain).days_old < 30
Inspects: headers.auth_summary.dmarc.pass, headers.auth_summary.spf.details.designator, headers.auth_summary.spf.pass, headers.reply_to, headers.reply_to[].email.domain, sender.email.email, subject.subject, type.inbound. Sensors: beta.profile.by_reply_to, network.whois, strings.ends_with, strings.starts_with.
Indicators matched (3)
| Field | Match | Value |
|---|---|---|
sender.email.email | equals | quickbooks@notification.intuit.com |
strings.ends_with | suffix | .intuit.com |
strings.starts_with | prefix | Payment confirmation: |