Detection rules › Sublime MQL

Sender: IP address in local part

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

Detects messages where the sender's email local part contains an IPv4 address, which is commonly used in malicious campaigns to bypass filters or appear legitimate.

Threat classification

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

CategoryValues
Attack typesSpam, Credential Phishing, BEC/Fraud
Tactics and techniquesEvasion, Spoofing

Event coverage

Rule body MQL

type.inbound
and length(body.current_thread.text) > 100
and regex.icontains(sender.email.local_part,
                    '(?:\d{1,3}\.){3}\d{1,3}[^\.][[:alpha:]]+',
                    '[[:alpha:]]+(?:\d{1,3}\.){3}\d{1,3}[^\.]'
)
and not (
  strings.ilike(sender.email.local_part, "*report*", "*abuse*")
  or any(ml.nlu_classifier(body.current_thread.text).topics,
         .name == "Bounce Back and Delivery Failure Notifications"
         and .confidence != "low"
  )
)

Detection logic

Scope: inbound message.

Detects messages where the sender's email local part contains an IPv4 address, which is commonly used in malicious campaigns to bypass filters or appear legitimate.

  1. inbound message
  2. length(body.current_thread.text) > 100
  3. sender.email.local_part matches any of 2 patterns
    • (?:\d{1,3}\.){3}\d{1,3}[^\.][[:alpha:]]+
    • [[:alpha:]]+(?:\d{1,3}\.){3}\d{1,3}[^\.]
  4. none of:
    • sender.email.local_part matches any of 2 patterns
      • *report*
      • *abuse*
    • any of ml.nlu_classifier(body.current_thread.text).topics where all hold:
      • .name is 'Bounce Back and Delivery Failure Notifications'
      • .confidence is not 'low'

Inspects: body.current_thread.text, sender.email.local_part, type.inbound. Sensors: ml.nlu_classifier, regex.icontains, strings.ilike.

Indicators matched (5)

FieldMatchValue
regex.icontainsregex(?:\d{1,3}\.){3}\d{1,3}[^\.][[:alpha:]]+
regex.icontainsregex[[:alpha:]]+(?:\d{1,3}\.){3}\d{1,3}[^\.]
strings.ilikesubstring*report*
strings.ilikesubstring*abuse*
ml.nlu_classifier(body.current_thread.text).topics[].nameequalsBounce Back and Delivery Failure Notifications