Email Bombing and Identity Takeover Correlation
An attacker is using an email sign-up flood as a smokescreen to hide security alerts while they perform account takeovers and install remote access tools via tech support scams.
Based on research by ESET Research 2026-10-18 12 steps · 5 queries T1098 T1114.003 T1219 T1499 T1550 T1566
Brief
Identifying the Smokescreen
The researchers at WeLiveSecurity recently highlighted a tactic known as email bombing in their article, "Inbox flooded with sign-up messages? Email bombing explained" (https://www.welivesecurity.com/en/cybersecurity/inbox-flooded-signup-messages-email-bombing/). In these campaigns, an attacker floods a target's inbox with thousands of automated subscription emails to overwhelm them. We are publishing a hunt design to correlate these floods with account takeover attempts and follow-on scams.
Scoping and Initial Visibility
The hunt begins on the hb_account_change surface. We identify users who have undergone sensitive modifications, specifically password resets or changes to multi-factor authentication factors. This initial scope focuses our efforts on accounts that an adversary would want to protect via a distraction campaign. Rather than scanning the entire estate, we prioritize users who already show signs of identity manipulation.
Analyzing Floods and Authentication Risk
The next phase moves into Google Workspace and identity logs. We query gmail message volumes to find users receiving a spike of emails—defined as more than 50 sign-up messages in a 24-hour period. In parallel, we examine the hb_auth_signin surface for high-risk authentication events or failed logins associated with those same users. A user appearing in both lists represents a high-priority lead where the flood is likely active.
Detecting Evasion and Scam Execution
Once a breach is suspected, the hunt looks for persistence and final execution. We query hb_cloud_api_activity for new mailbox rules or filters that automatically move or delete messages, which preserves the attacker's invisibility by burying future alerts. We also scan the hb_process_activity surface for the execution of remote management and monitoring (RMM) tools like AnyDesk, TeamViewer, or ScreenConnect. These tools are often installed during tech support scams to gain direct control of the victim's machine.
Why This Is a Hunt
This process is a hunt, not a simple detection, because it links behavioral patterns across three distinct surfaces: SaaS email, identity providers, and endpoints. A detection for a single RMM tool or a mailbox rule often yields too much noise for a SOC to manage. By correlating the smokescreen (the flood) with the payload (the account change or RMM tool), we isolate high-confidence threats that a single-surface rule would miss.
Blind Spots
This hunt cannot see every part of the attack chain. We lack visibility into corporate telephony logs, meaning the initial social engineering phone call remains hidden. Additionally, we cannot see floods that are processed by local email client rules that do not sync back to the server-side audit logs. Organizations should ensure advanced mailbox auditing is enabled to bridge this gap.
How to Run the Hunt
This design is provided as a hunt.md playbook. You can import it into Huntbase or any hunt.md-aware runtime to begin searching across your estate. The parameters allow you to adjust the volume threshold and lookback window to fit your environment's typical email traffic levels.
Steps
-
Scope sensitive account changes
Query · scopingFind users associated with sensitive account modifications like password resets or MFA changes that may be targets of a smokescreen.
reads hb_account_changesqlSELECT device_hostname, user_name, activity_name, time FROM hb_account_change WHERE activity_id IN (3, 4, 99) AND (LOWER(activity_name) LIKE '%password%' OR LOWER(activity_name) LIKE '%mfa%' OR LOWER(activity_name) LIKE '%factor%') AND time >= datetime('now', '-{{lookback_days}} days')What a hit looks like. A list of users who underwent identity modifications. This scopes the initial investigation to potential takeover victims.
-
Detect aggregate mailbox floods
Query · baselineIdentify potential email bombs by searching for rare volume spikes per user.
reads googleworkspace_gmail_messagesqlSELECT COUNT(*) as volume, date(internal_date) as received_on, user_id FROM googleworkspace_gmail_message WHERE internal_date >= datetime('now', '-{{lookback_days}} days') GROUP BY user_id, received_on HAVING volume > {{bomb_threshold}} ORDER BY volume DESCWhat a hit looks like. Users receiving an abnormal amount of mail in a single day. Silence proves absence only if all mailboxes were scanned.
-
Hunt for authentication risks
Query · enrichmentFind sign-ins marked as high risk or failure patterns during the suspected flood period.
reads hb_auth_signinsqlSELECT actor_user_name, device_hostname, risk_state, status_detail, src_endpoint_ip, src_location_country, time FROM hb_auth_signin WHERE (risk_state != 'none' OR status_id = 2) AND time >= datetime('now', '-{{lookback_days}} days') ORDER BY time DESCWhat a hit looks like. Users experiencing both a mailbox flood and security-relevant authentication failures or risks.
-
Early stage triage
Agent triageDetermine if the inbox flood and account changes represent a coordinated smokescreen.
-
Detect mailbox rule and filter manipulation
Query · triageIdentify rules or filters created to move or delete alerts, ensuring the distraction remains permanent.
reads hb_cloud_api_activitysqlSELECT actor_user_name, api_operation, target_modified_property_new_values, time FROM hb_cloud_api_activity WHERE ((api_operation IN ('New-InboxRule', 'Set-InboxRule') AND (LOWER(target_modified_property_new_values) LIKE '%move%' OR LOWER(target_modified_property_new_values) LIKE '%delete%')) OR (api_operation = 'CREATE_SETTINGS_FILTER')) AND time >= datetime('now', '-{{lookback_days}} days')What a hit looks like. Rules or Google filters configured to silently process incoming mail, appearing after a flood.
-
Detect RMM tool execution
Query · detection candidateIdentify unauthorized remote access software execution typically used in tech support scams.
reads hb_process_activitysqlSELECT device_hostname, process_name, process_file_description, process_cmd_line, user_name, time FROM hb_process_activity WHERE (LOWER(process_name) LIKE '%anydesk%' OR LOWER(process_name) LIKE '%teamviewer%' OR LOWER(process_name) LIKE '%screenconnect%' OR LOWER(process_name) LIKE '%logmein%' OR LOWER(process_name) LIKE '%rustdesk%' OR LOWER(process_name) LIKE '%ateras%' OR LOWER(process_name) LIKE '%splashtop%' OR LOWER(process_name) LIKE '%ngrok%' OR LOWER(process_name) LIKE '%ultraviewer%') AND ('{{scope_hosts}}' = '' OR instr(',' || '{{scope_hosts}}' || ',', ',' || device_hostname || ',') > 0) AND time >= datetime('now', '-{{lookback_days}} days')What a hit looks like. Execution of common RMM tools on machines belonging to users who were recently flooded or had identity changes.
-
Synthesize the attack chain
Agent triageCorrelate smokescreen evidence with follow-on evasion and scam patterns.
-
Route on final verdict
DecisionDirect response to containment for malicious hits or analyst review for suspicious patterns.
-
Isolate host and revoke identity
Response actionStop unauthorized remote access and secure the victim's account.
-
Analyst final review
Analyst taskManual review to confirm the full scope of the intrusion and identify any missed data.
-
Close out hunt
Analyst taskFinalize the hunt results and record tuning notes.
Coverage
Scenario coverage
| Stage | Covered | How, or why not |
|---|---|---|
| Email Bombing Smokescreen T1499 |
Yes | detect-mailbox-flood |
| Hidden Account Takeover T1098 · T1550 |
Yes | scoping-account-activity, detect-auth-risk |
| Mailbox Rule Manipulation T1114.003 |
Yes | detect-mailbox-rules |
| Tech Support Scam Execution T1219 · T1566 |
Yes | detect-rmm-tools |
Blind spots
- Needs comprehensive mailbox auditing for all folders. A flood that bypasses the primary inbox or is handled by a local Outlook rule might be missed by server-side auditing. It would answer whether we can see floods targeting sub-folders or those processed by local client rules. Remediation: Enable advanced mailbox auditing in M365/Workspace to capture all folder moves and deletions.
- Needs corporate telephony logs. The initial social engineering call is invisible to endpoint and cloud logs, preventing early detection of the scam phase. It would answer whether the victim received a call from the fraudster prior to installing the RMM tool. Remediation: Correlate external VoIP call logs with employee ID profiles.
Parameters & data
Parameters
| Parameter | Type | Default | What it is |
|---|---|---|---|
bomb_threshold | number | 50 | Number of total sign-up emails within a day to flag as a potential flood. |
lookback_days | number | 14 | Days of history to examine. |
scope_hosts | list[host] | — | Optional list of hostnames to focus the process hunt. |
Telemetry
| Source | Category | Telemetry |
|---|---|---|
| Endpoint telemetry (hb_ surfaces) | endpoint | endpoint |
| Identity / sign-in telemetry | identity | identity |
Source
---
analysis: This hunt correlates behavioral smokescreens (email floods) across SaaS,
identity, and endpoint surfaces, which a single detection rule cannot link.
blind_spots:
- id: mailbox-visibility-gap
owner: Messaging Team
question: whether we can see floods targeting sub-folders or those processed by
local client rules
remediation: Enable advanced mailbox auditing in M365/Workspace to capture all folder
moves and deletions.
requires: comprehensive mailbox auditing for all folders
risk: A flood that bypasses the primary inbox or is handled by a local Outlook rule
might be missed by server-side auditing.
stage: inbox-flood-distraction
- id: telephony-blindspot
owner: Infrastructure Team
question: whether the victim received a call from the fraudster prior to installing
the RMM tool
remediation: Correlate external VoIP call logs with employee ID profiles.
requires: corporate telephony logs
risk: The initial social engineering call is invisible to endpoint and cloud logs,
preventing early detection of the scam phase.
stage: remote-access-scam
coverage:
- stage: inbox-flood-distraction
status: covered
steps:
- detect-mailbox-flood
- stage: account-takeover-alerts
status: covered
steps:
- scoping-account-activity
- detect-auth-risk
- stage: mailbox-rule-evasion
status: covered
steps:
- detect-mailbox-rules
- stage: remote-access-scam
status: covered
steps:
- detect-rmm-tools
guardrails:
claims: no_unsupported
evidence: citation_required
missing_data: not_benign
telemetry: untrusted
hunt:
applicability: campaign-specific
handoff: promote-to-detection
justification: Email bombing is a high-confidence indicator of a concurrent, more
serious intrusion; a negative result over the estate confirms no such coordinated
campaign is active.
methodology: model-assisted
trigger: intel-report
hypothesis: An attacker is using an email sign-up flood as a smokescreen to hide security
alerts while they perform account takeovers and install remote access tools via
tech support scams.
labels:
- hunt
- attack.t1499
- attack.t1098
- attack.t1550
- attack.t1114.003
- attack.t1219
- attack.t1566
- defense evasion
- execution
- impact
- persistence
- google-workspace
name: Email Bombing and Identity Takeover Correlation
parameters:
bomb_threshold:
default: '50'
description: Number of total sign-up emails within a day to flag as a potential
flood.
from:
kind: manual
observed: '2024-10-16'
ref: flood-heuristics
type: number
lookback_days:
default: '14'
description: Days of history to examine.
from:
kind: manual
observed: '2024-10-16'
ref: default-retention
type: number
scope_hosts:
default: []
description: Optional list of hostnames to focus the process hunt.
from:
kind: manual
observed: '2024-10-16'
ref: analyst-scoping
type: list[host]
provenance:
authors:
- name: Huntbase hunt generation
org: huntbase.io
generated:
by: huntbase-hunt-generation
from: https://www.welivesecurity.com/en/cybersecurity/inbox-flooded-signup-messages-email-bombing/
gates:
- dry-run
- lint
model: hb_google/gemini-3-flash-preview
rationale: Focus first on users with sensitive identity changes in the last 14 days,
then expand to mailbox volume analysis for those accounts.
references:
- name: Inbox flooded with sign-up messages? Email bombing explained
url: https://www.welivesecurity.com/en/cybersecurity/inbox-flooded-signup-messages-email-bombing/
related:
- hunt: mfa-fatigue-and-push-hijacking
reason: MFA fatigue also uses a volume-based distraction strategy.
relation: sibling
scenario:
stages:
- name: Email Bombing Smokescreen
observables:
- Hundreds of 'Welcome' or 'Confirm Subscription' emails within 24 hours
- Automated sign-ups for newsletters and mailing lists
- High volume of messages from legitimate but unsolicited domains
slug: inbox-flood-distraction
tactic: impact
techniques:
- T1499
- name: Hidden Account Takeover
observables:
- Password reset notifications
- New device registration alerts
- MFA/2FA method changes
- Recovery email or phone number updates
- Fraudulent purchase invoices
slug: account-takeover-alerts
tactic: persistence
techniques:
- T1098
- T1550
- name: Mailbox Rule Manipulation
observables:
- Creation of new inbox rules to redirect alerts
- Moving security notifications to RSS or Deleted folders
- 'UAL Operation: New-InboxRule'
- 'UAL Operation: Set-InboxRule'
slug: mailbox-rule-evasion
tactic: defense-evasion
techniques:
- T1114.003
- name: Tech Support Scam Execution
observables:
- Installation of AnyDesk, TeamViewer, or other RMM tools
- Process execution of remote access binaries
- Network connections to known RMM control planes
slug: remote-access-scam
tactic: execution
techniques:
- T1219
- T1566
summary: Attackers flood a victim's inbox with hundreds of automated sign-up emails
to bury legitimate security alerts. This smokescreen masks unauthorized account
takeovers, fraudulent purchases, or password changes occurring simultaneously,
and can also serve as a precursor to tech support scams.
severity: medium
targets:
analyst:
name: Tier-2 analyst
role: analyst
endpoint:
category: endpoint
name: Endpoint telemetry (hb_ surfaces)
telemetry:
- endpoint
google-workspace:
category: siem
huntbase:
product: google-workspace
name: google workspace
hunter:
agent: true
name: Hunt agent
identity:
category: identity
name: Identity / sign-in telemetry
telemetry:
- identity
tlp: clear
type: investigation
---
# Email Bombing and Identity Takeover Correlation
This hunt identifies the coordination between a distraction-based denial-of-service (email bombing) and unauthorized identity changes. Attackers flood a victim's mailbox with automated sign-up emails to bury legitimate alerts from banks or identity providers. The hunt flows through a phased analysis of initial account scoping, mailbox floods, authentication risks, and follow-on evasion tactics like mailbox rule manipulation or unauthorized remote management software execution.
## scoping-account-activity
<!-- Scope sensitive account changes -->
Find users associated with sensitive account modifications like password resets or MFA changes that may be targets of a smokescreen.
```sqlite target=endpoint role=scoping params=(lookback_days=lookback_days)
~~~yaml
expected: A list of users who underwent identity modifications. This scopes the initial
investigation to potential takeover victims.
reads:
- device_hostname
- user_name
- activity_name
- time
silence: not_evidence_of_absence
source: hb_account_change
verified: dry-run
verified_at: '2026-10-18'
~~~
SELECT device_hostname, user_name, activity_name, time FROM hb_account_change WHERE activity_id IN (3, 4, 99) AND (LOWER(activity_name) LIKE '%password%' OR LOWER(activity_name) LIKE '%mfa%' OR LOWER(activity_name) LIKE '%factor%') AND time >= datetime('now', '-{{lookback_days}} days')
```
## early-stage-parallel
<!-- Analyze floods and auth risks -->
parallel:
- → detect-mailbox-flood
- → detect-auth-risk
join: → early-stage-agent
## detect-mailbox-flood
<!-- Detect aggregate mailbox floods -->
Identify potential email bombs by searching for rare volume spikes per user.
```sqlite target=google-workspace role=baseline params=(lookback_days=lookback_days, bomb_threshold=bomb_threshold)
~~~yaml
baseline:
compare: new_this_window
window: '{{lookback_days}}d'
expected: Users receiving an abnormal amount of mail in a single day. Silence proves
absence only if all mailboxes were scanned.
prevalence:
by: user_id
key:
- user_id
rare_below: 2
reads:
- internal_date
- user_id
silence: evidence_of_absence
source: googleworkspace_gmail_message
verified: dry-run
verified_at: '2026-10-18'
~~~
SELECT COUNT(*) as volume, date(internal_date) as received_on, user_id FROM googleworkspace_gmail_message WHERE internal_date >= datetime('now', '-{{lookback_days}} days') GROUP BY user_id, received_on HAVING volume > {{bomb_threshold}} ORDER BY volume DESC
```
## detect-auth-risk
<!-- Hunt for authentication risks -->
Find sign-ins marked as high risk or failure patterns during the suspected flood period.
```sqlite target=identity role=enrichment params=(lookback_days=lookback_days)
~~~yaml
expected: Users experiencing both a mailbox flood and security-relevant authentication
failures or risks.
reads:
- actor_user_name
- device_hostname
- risk_state
- status_detail
- src_endpoint_ip
- src_location_country
- time
silence: not_evidence_of_absence
source: hb_auth_signin
verified: dry-run
verified_at: '2026-10-18'
~~~
SELECT actor_user_name, device_hostname, risk_state, status_detail, src_endpoint_ip, src_location_country, time FROM hb_auth_signin WHERE (risk_state != 'none' OR status_id = 2) AND time >= datetime('now', '-{{lookback_days}} days') ORDER BY time DESC
```
## early-stage-agent
<!-- Early stage triage -->
```agent target=hunter
cite: required
context:
- scoping-account-activity
- detect-mailbox-flood
- detect-auth-risk
max_iterations: 3
objective: Identify users with concurrent high-volume email events and sensitive identity
changes. Correlate timestamps to determine if the flood acted as a distraction for
a specific security alert or auth failure.
success_criteria: A per-user confidence score for an active distraction campaign.
tools:
- endpoint
- google-workspace
- identity
```
## follow-on-parallel
<!-- Detect evasion and scam execution -->
parallel:
- → detect-mailbox-rules
- → detect-rmm-tools
join: → follow-on-agent
## detect-mailbox-rules
<!-- Detect mailbox rule and filter manipulation -->
Identify rules or filters created to move or delete alerts, ensuring the distraction remains permanent.
```sqlite target=endpoint role=triage params=(lookback_days=lookback_days)
~~~yaml
expected: Rules or Google filters configured to silently process incoming mail, appearing
after a flood.
reads:
- actor_user_name
- api_operation
- target_modified_property_new_values
- time
silence: not_evidence_of_absence
source: hb_cloud_api_activity
verified: dry-run
verified_at: '2026-10-18'
~~~
SELECT actor_user_name, api_operation, target_modified_property_new_values, time FROM hb_cloud_api_activity WHERE ((api_operation IN ('New-InboxRule', 'Set-InboxRule') AND (LOWER(target_modified_property_new_values) LIKE '%move%' OR LOWER(target_modified_property_new_values) LIKE '%delete%')) OR (api_operation = 'CREATE_SETTINGS_FILTER')) AND time >= datetime('now', '-{{lookback_days}} days')
```
## detect-rmm-tools
<!-- Detect RMM tool execution -->
Identify unauthorized remote access software execution typically used in tech support scams.
```sqlite target=endpoint role=detection-candidate params=(lookback_days=lookback_days, scope_hosts=scope_hosts)
~~~yaml
expected: Execution of common RMM tools on machines belonging to users who were recently
flooded or had identity changes.
reads:
- device_hostname
- process_name
- process_file_description
- process_cmd_line
- user_name
- time
silence: not_evidence_of_absence
source: hb_process_activity
verified: dry-run
verified_at: '2026-10-18'
~~~
SELECT device_hostname, process_name, process_file_description, process_cmd_line, user_name, time FROM hb_process_activity WHERE (LOWER(process_name) LIKE '%anydesk%' OR LOWER(process_name) LIKE '%teamviewer%' OR LOWER(process_name) LIKE '%screenconnect%' OR LOWER(process_name) LIKE '%logmein%' OR LOWER(process_name) LIKE '%rustdesk%' OR LOWER(process_name) LIKE '%ateras%' OR LOWER(process_name) LIKE '%splashtop%' OR LOWER(process_name) LIKE '%ngrok%' OR LOWER(process_name) LIKE '%ultraviewer%') AND ('{{scope_hosts}}' = '' OR instr(',' || '{{scope_hosts}}' || ',', ',' || device_hostname || ',') > 0) AND time >= datetime('now', '-{{lookback_days}} days')
```
## follow-on-agent
<!-- Synthesize the attack chain -->
```agent target=hunter
cite: required
context:
- early-stage-agent
- detect-mailbox-rules
- detect-rmm-tools
max_iterations: 5
objective: Review the early stage distraction indicators and determine if follow-on
actions (mailbox rules, RMM execution) confirm an active threat. Malicious verdicts
require temporal proximity between the email flood and unauthorized tool installation.
success_criteria: A final verdict of malicious | suspicious | benign per host and
user.
tools:
- endpoint
- google-workspace
- identity
```
## route-on-verdict
<!-- Route on final verdict -->
if~: "the follow-on-agent verdict is malicious for at least one host or user" (confidence: high, judge=hunter)
then: → isolate-and-remediate
indeterminate: → analyst-review
unavailable: → analyst-review (blind_spot: mailbox-visibility-gap)
else: → analyst-review
## isolate-and-remediate
<!-- Isolate host and revoke identity -->
```action target=endpoint
~~~yaml
approval: required
~~~
Isolate the host where unauthorized RMM tools were detected. Revoke all active sessions for the identified user and purge all mailbox rules that move or delete security alerts.
```
→ analyst-review
## analyst-review
<!-- Analyst final review -->
```manual target=analyst
Review the cited rows from both agents. Confirm if the mailbox flood was coordinated with the RMM installation or auth failures. Record new IOCs.
```
→ close-out
## close-out
<!-- Close out hunt -->
```manual target=analyst
Record what was examined and what was not visible. If the bomb_threshold produced too many false positives, adjust it for the next run.
```
→ end
Run it
Take this hunt into your environment.
Open it in Huntbase to run every step against your own connections, with Scout weighing the evidence and your analysts in command. Or take the open hunt.md file anywhere that reads the format.
Machine-drafted by huntbase-hunt-generation using hb_google/gemini-3-flash-preview, gated by dry-run, lint, then reviewed by a person.