Quantum Health, a major healthcare navigation and care coordination company, has disclosed a data breach after threat actors gained access to its network through a vishing (voice phishing) attack. The same announcement cycle included breach notifications from Heart of America Medical Center and Precision Imaging Centers — a pattern that should alarm every healthcare CISO and SOC lead reading this.
This is not a malware story. There is no CVE to patch, no indicator feed to ingest. The attacker picked up the phone, convinced a human being to grant or facilitate access, and walked through the front door of a network holding protected health information (PHI). This is the same tradecraft that powered the Scattered Spider campaigns against MGM Resorts and Caesars Entertainment, and it continues to work in 2026 because most organizations still treat the help desk as a customer service function rather than a security control point.
If your organization operates a call center, an IT help desk, or any phone-based identity verification workflow — and every healthcare organization does — this attack class applies to you directly.
Technical Analysis
What Happened
Based on the disclosed details, threat actors used voice-based social engineering to obtain access to Quantum Health's network environment. While the full attack chain has not been publicly itemized, vishing-enabled network intrusions in healthcare consistently follow a recognizable pattern:
- Reconnaissance: The attacker harvests employee names, titles, help desk numbers, and internal terminology from LinkedIn, data broker sites, and prior breach dumps. Healthcare organizations are particularly exposed because staff directories and org charts are frequently public.
- The Call: The attacker impersonates an employee (often a traveling clinician, a new hire, or an executive) and calls the IT help desk claiming a lost phone, a broken MFA token, or an urgent need to access patient systems. Alternatively, the attacker calls the employee directly, impersonating IT, and walks them through 'verifying' credentials or approving an MFA prompt.
- Identity Manipulation: The help desk resets a password, enrolls an attacker-controlled MFA device, or disables MFA temporarily. This is the pivotal control failure.
- Initial Access: The attacker authenticates through remote access infrastructure — VPN, VDI, or a cloud identity provider (Entra ID, Okta) — using the freshly reset or attacker-enrolled credentials.
- Post-Access Activity: Once inside, actors typically stage for data theft, accessing file shares, email, EHR-adjacent systems, and databases containing PHI.
Why Healthcare Is the Target
Healthcare organizations combine three properties attackers love: high-value regulated data (PHI sells at a premium and enables insurance fraud and extortion), a sprawling identity perimeter (traveling clinicians, locum tenens, third-party vendors, and hybrid workforces all needing remote access), and a service-desk culture optimized for speed of care rather than verification rigor. When a nurse at 2 a.m. says she can't access the charting system, the institutional pressure is to help first and verify later. Attackers know this and time their calls accordingly — nights, weekends, and shift changes.
Exploitation Status
This is confirmed in-the-wild exploitation of process weaknesses, not a theoretical technique. Vishing-driven help desk exploitation has been the initial access vector in numerous high-profile intrusions over the past 24 months and remains one of the most reliable paths into enterprise networks in 2026. There is no associated CVE — the vulnerability is procedural.
Detection & Response
Vishing itself leaves no pre-compromise telemetry. Your detection opportunity begins at the moment the attacker's social engineering produces an identity event: a password reset, an MFA method change, or an anomalous authentication. These are high-fidelity detection surfaces if you instrument them properly. The rules below target the post-vishing observable chain.
---
title: MFA Method Change Followed by Password Reset on Same Account
id: 3f8a2c14-7b9d-4e51-a6f2-9c1d8e4b2a77
status: experimental
description: Detects an MFA device enrollment or modification occurring in close proximity to a password reset on the same account, a hallmark of help-desk social engineering and vishing-driven account takeover as seen in the Quantum Health intrusion.
references:
- https://attack.mitre.org/techniques/T1656/
- https://attack.mitre.org/techniques/T1078/
author: Security Arsenal
date: 2026/04/06
tags:
- attack.persistence
- attack.t1656
- attack.t1078
logsource:
product: azure
service: auditlogs
detection:
selection_mfa:
OperationName|contains:
- 'Add strong authentication phone number'
- 'User registered security info'
- 'User changed default MFA method'
- 'Add authentication method'
selection_reset:
OperationName|contains:
- 'Reset user password'
- 'Change user password'
condition: selection_mfa or selection_reset
falsepositives:
- Legitimate user-initiated self-service password reset with MFA re-enrollment
- Onboarding of new employees
level: high
---
title: Privileged Help Desk Account Performing Bulk Password Resets
id: 8c1e5b92-3d47-4a68-bf15-2e7a9c4d1b83
status: experimental
description: Detects a single help desk or identity administrator account performing an abnormal volume of password resets or MFA resets within a short window, which may indicate the help desk operator is being actively manipulated by a vishing caller.
references:
- https://attack.mitre.org/techniques/T1656/
author: Security Arsenal
date: 2026/04/06
tags:
- attack.persistence
- attack.t1656
logsource:
product: windows
service: security
detection:
selection:
EventID:
- 4723 # password change attempt
- 4724 # privileged password reset
condition: selection
falsepositives:
- Scheduled bulk password rotation activities
- Password sync operations from identity management platforms
level: medium
---
title: Authentication from Anomalous Source Immediately After Credential Reset
id: 5d2a7f41-9e3c-4b82-a1d6-4f8c2e9b6a15
status: experimental
description: Detects VPN or remote access authentication from a source IP or geography with no prior history for the account within a short period following a password or MFA reset, consistent with a threat actor using freshly social-engineered credentials as in the Quantum Health breach.
references:
- https://attack.mitre.org/techniques/T1078/
- https://attack.mitre.org/techniques/T1133/
author: Security Arsenal
date: 2026/04/06
tags:
- attack.initial_access
- attack.t1078
- attack.t1133
logsource:
category: authentication
product: windows
detection:
selection:
EventID:
- 4624
LogonType:
- 10 # RemoteInteractive
- 3 # Network (VPN/RAS often logs type 3)
filter_known:
IpAddress|startswith:
- '10.'
- '192.168.'
- '172.16.'
condition: selection and not filter_known
falsepositives:
- Employees traveling or working from new locations
- ISPs rotating customer IP ranges
level: medium
// Hunt: Correlate password/MFA resets with subsequent first-time sign-ins from new infrastructure.
// Deploy in Microsoft Sentinel against Entra ID (AAD) AuditLogs and SigninLogs.
// Tune the lookback window and new-IP baseline to your environment's size.
let ResetEvents = AuditLogs
| where TimeGenerated > ago(24h)
| where OperationName has_any ("Reset user password", "Change user password",
"User registered security info", "Add strong authentication phone number",
"User changed default MFA method")
| extend TargetUser = tostring(TargetResources[0].userPrincipalName)
| extend ResetTime = TimeGenerated
| extend InitiatedByActor = tostring(InitiatedBy.user.userPrincipalName)
| project TargetUser, ResetTime, OperationName, InitiatedByActor, CorrelationId;
ResetEvents
| join kind=inner (
SigninLogs
| where TimeGenerated > ago(24h)
| where ResultType == 0
| extend SigninIP = IPAddress, SigninTime = TimeGenerated
| project UserPrincipalName, SigninTime, SigninIP, Location, AppDisplayName,
DeviceDetail, UserAgent
) on $left.TargetUser == $right.UserPrincipalName
| where SigninTime between (ResetTime .. ResetTime + 4h)
// Exclude IPs the user has authenticated from in the prior 30 days
| where SigninIP !in (
SigninLogs
| where TimeGenerated between (ago(30d) .. ago(1d))
| where ResultType == 0
| summarize by IPAddress
| summarize make_list(IPAddress)
)
| project TargetUser, ResetTime, OperationName, InitiatedByActor,
SigninTime, SigninIP, Location, AppDisplayName, UserAgent
| sort by ResetTime desc
-- Hunt for evidence of post-compromise staging on endpoints accessed after
-- suspected vishing-driven account takeover: newly created local admin use,
-- suspicious RMM tooling, and credential-access artifacts.
-- Deploy as a Velociraptor notebook or fleet hunt artifact.
LET suspicious_rmm = SELECT Pid, Name, CommandLine, Exe, Username, CreateTime
FROM pslist()
WHERE Name =~ '(?i)(anydesk|screenconnect|connectwise|teamviewer|splashtop|atera|ninjaone|level\.io|rustdesk)'
OR Exe =~ '(?i)(anydesk|screenconnect|teamviewer|rustdesk)'
LET suspicious_procs = SELECT Pid, Name, CommandLine, Username, CreateTime
FROM pslist()
WHERE CommandLine =~ '(?i)(whoami|nltest|net group|quser|ipconfig /all)'
AND Username =~ '(?i).+'
LET net_conns = SELECT Pid, Name, RemoteAddr, RemotePort, Status
FROM netstat()
WHERE Status = 'ESTABLISHED'
AND RemotePort in (443, 8443, 3389)
AND NOT RemoteAddr =~ '^(10\.|192\.168\.|172\.(1[6-9]|2[0-9]|3[01])\.)'
SELECT * FROM suspicious_rmm
UNION ALL
SELECT Pid, Name, CommandLine, Exe, Username, CreateTime FROM suspicious_procs
# Quantum Health vishing lesson - help desk identity integrity audit and hardening.
# Run on a domain-joined management station with the ActiveDirectory and
# Microsoft.Graph modules available. Review output before enforcing changes.
# 1. Audit password resets performed in the last 72 hours - who reset, for whom, when
$start = (Get-Date).AddHours(-72)
Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4724; StartTime=$start} -ErrorAction SilentlyContinue |
ForEach-Object {
$xml = [xml]$_.ToXml()
[PSCustomObject]@{
Time = $_.TimeCreated
ResetBy = ($xml.Event.EventData.Data | Where-Object {$_.Name -eq 'SubjectUserName'}).'#text'
TargetUser = ($xml.Event.EventData.Data | Where-Object {$_.Name -eq 'TargetUserName'}).'#text'
SourceHost = ($xml.Event.EventData.Data | Where-Object {$_.Name -eq 'SubjectDomainName'}).'#text'
}
} | Group-Object ResetBy |
Where-Object { $_.Count -gt 5 } |
ForEach-Object { Write-Warning "$($_.Name) performed $($_.Count) privileged resets in 72h - verify against help desk ticket records" }
# 2. Identify accounts with MFA registered in the last 7 days (review for attacker-enrolled methods)
Connect-MgGraph -Scopes "UserAuthenticationMethod.Read.All" -NoWelcome
$cutoff = (Get-Date).AddDays(-7)
Get-MgUser -All -Property Id,UserPrincipalName | ForEach-Object {
$methods = Get-MgUserAuthenticationMethod -UserId $_.Id -ErrorAction SilentlyContinue
foreach ($m in $methods) {
$odata = $m.AdditionalProperties
if ($odata.createdDateTime -and ([datetime]$odata.createdDateTime) -gt $cutoff) {
[PSCustomObject]@{
User = $_.UserPrincipalName
MethodType = $m.AdditionalProperties['@odata.type']
RegisteredOn = $odata.createdDateTime
}
}
}
} | Export-Csv -Path ".\RecentMFARegistrations.csv" -NoTypeInformation
Write-Host "Review RecentMFARegistrations.csv against help desk tickets - every entry must map to a verified ticket." -ForegroundColor Yellow
# 3. Enforce strong verification for remote MFA registration: require Temporary Access Pass
# or verified ID for help-desk-initiated resets. Confirm TAP policy is enabled.
Get-MgPolicyAuthenticationMethodPolicy | Format-List Id, DisplayName, State
# 4. Restrict self-service + help-desk password reset for privileged groups.
# Create a group of protected accounts and verify SSPR scoping excludes them.
Get-MgGroup -Filter "startswith(displayName,'SG-Identity-Protected')" -ErrorAction SilentlyContinue |
Format-Table DisplayName, Id
Write-Host "ACTION: In Entra portal, scope SSPR to a group that EXCLUDES privileged and executive accounts." -ForegroundColor Cyan
Write-Host "ACTION: Require in-person or video-verified identity proofing for resets on protected accounts." -ForegroundColor Cyan
Remediation
There is no patch for vishing. Remediation is procedural, architectural, and cultural — and it is achievable. Prioritize in this order:
1. Re-engineer help desk identity verification (this week). Every password reset and MFA change request must be bound to an out-of-band verification step the attacker cannot defeat with a phone call. Effective controls include: mandatory callback to a number on file in HR records, video-call verification with a government or employee ID, manager approval for any privileged or executive account change, and cryptographic verification via Temporary Access Pass (TAP) issued through a verified channel. Publish a written, non-bypassable procedure and audit compliance monthly.
2. Deploy phishing-resistant MFA (30-90 days). SMS and push-based MFA are the targets of these campaigns. Move high-value populations — help desk staff, identity admins, executives, clinicians with EHR access, and all remote access users — to FIDO2/passkeys or certificate-based authentication. Where push MFA remains during transition, enforce number matching at minimum and disable SMS/voice as second factors entirely.
3. Instrument identity telemetry (this week). Ship Entra ID/Okta audit logs, VPN authentication logs, and AD Security events (4723/4724) into your SIEM. Deploy the detection logic above. Every password reset and MFA method change should auto-correlate to a help desk ticket ID; unmatched events generate an alert.
4. Constrain remote access blast radius. Enforce device compliance checks on VPN/VDI access so a stolen password alone is insufficient. Apply Conditional Access policies blocking logins from anonymizing services and impossible-travel combinations. Segment EHR and PHI data stores from general corporate network reachability.
5. Train the help desk like a security control, not a cost center. Run vishing simulations against your own help desk. Measure compliance with verification procedures under pressure scenarios — the 2 a.m. 'traveling physician' call is the canonical test. Publish results to leadership.
6. Prepare for the HIPAA regulatory tail. Quantum Health, Heart of America Medical Center, and Precision Imaging Centers all face OCR breach reporting obligations under HIPAA. If your organization experiences a similar intrusion, ensure your IR plan includes: PHI scope determination within 72 hours, HHS/OCR notification workflows (60-day individual notification for breaches affecting 500+ individuals, media notification requirements), and forensic preservation of help desk call recordings and identity audit logs — these become primary evidence.
Key references:
- CISA guidance on phishing-resistant MFA: https://www.cisa.gov/mfa
- MITRE ATT&CK T1656 (Impersonation) and T1078 (Valid Accounts)
- HHS OCR Breach Portal: https://ocrportal.hhs.gov/ocr/breach/breach_report.jsf
The lesson from Quantum Health is one the industry keeps re-learning at great cost: your most hardened endpoint means nothing if an attacker can reset its credentials with a convincing phone call. Treat identity verification workflows as attack surface, instrument them like attack surface, and drill them like attack surface.
Related Resources
Security Arsenal Healthcare Cybersecurity AlertMonitor Platform Book a SOC Assessment healthcare Intel Hub
Is your security operations ready?
Get a free SOC assessment or see how AlertMonitor cuts through alert noise with automated triage.