Aesto LLC, operating as Aesto Health, has disclosed a data breach affecting more than 9.5 million individuals, placing this incident among the largest healthcare-sector breaches reported in recent memory. Aesto Health operates in the healthcare technology and revenue cycle management space — the connective tissue between providers, payers, and patients — which means the data at risk is not just names and addresses. Breaches of clearinghouse and RCM platforms typically expose the full spectrum of protected health information: Social Security numbers, dates of birth, medical record numbers, diagnosis and treatment data, insurance details, and claims history.
For defenders, this incident is a forcing function. Organizations that share data with Aesto Health — or with any third-party healthcare billing, clearinghouse, or RCM vendor — need to immediately assess their exposure, and every healthcare organization should treat this as a live-fire rehearsal for the exact attack pattern that produced it: unauthorized access to a central repository followed by bulk exfiltration of patient records.
The 9.5 million figure is not an abstraction. Under HIPAA, breaches affecting 500 or more individuals must be reported to HHS OCR and posted publicly. At this scale, Aesto Health faces mandatory regulatory scrutiny, likely multi-state attorney general investigations, and class-action litigation. Your organization's obligations under your Business Associate Agreement (BAA) are now active — review them.
Technical Analysis: The Anatomy of a Healthcare Clearinghouse Breach
At the time of writing, public details on the initial access vector remain limited. That is typical of early-stage breach disclosures, and it should not delay your defensive response. Based on how breaches of this class consistently unfold — and having led IR engagements against this exact pattern — the attack chain against a healthcare RCM/clearinghouse platform almost always follows one of a small number of well-worn paths.
Typical Attack Chain Against Healthcare Data Aggregators
- Initial access — Compromised credentials (phishing, infostealer logs, credential stuffing against VPN/SSO portals), an exploited internet-facing application, or a compromised managed service provider with standing access.
- Persistence and privilege escalation — Creation of local or service accounts, abuse of service accounts with database read privileges, or token theft from an authenticated session.
- Discovery and staging — Enumeration of patient databases, claims repositories, and file shares containing ePHI. Attackers commonly stage data into compressed archives (7-Zip, RAR) in staging directories such as
C:\ProgramData,C:\Windows\Temp, or user profile temp folders. - Bulk exfiltration — Large outbound transfers over HTTPS, SFTP, or cloud storage services (MEGA, file.io, Dropbox, Rclone-driven transfers). Volumes are frequently in the tens to hundreds of gigabytes for a 9.5-million-record dataset.
- Extortion or sale — Data is monetized via ransomware leak sites or sold on criminal forums. Healthcare records command premium prices due to their value for identity theft, insurance fraud, and targeted phishing.
What Makes This Class of Target Different
Clearinghouse and RCM platforms aggregate data across many covered entities. A single compromise multiplies the blast radius across hundreds of provider organizations. This is why the affected-individual count is measured in millions rather than thousands. If your organization is a business associate of Aesto Health, your patients' data may be in scope even though your own perimeter was never touched.
Exploitation Status
This is a confirmed, disclosed breach — not a theoretical vulnerability. No CVE identifier has been published in association with this incident at the time of disclosure, and defenders should treat the threat as an active, realized compromise of third-party-held data rather than waiting on vendor attribution of the root cause.
Detection & Response
The detections below target the behaviors that make a breach of this magnitude possible: bulk access to ePHI stores, archive-based staging, and high-volume outbound transfer. These are durable, technique-based detections — they apply to your own environment regardless of what the eventual root-cause analysis of the Aesto incident reveals. Tune the thresholds to your baseline; a billing database legitimately queried all day will need volume thresholds calibrated against normal ETL/reporting jobs.
Sigma Rules
---
title: Suspicious Archive Creation in ePHI Staging Locations
id: 8f2c1a94-3b6e-4d7c-a9f1-5e2b8d0c4a77
status: experimental
description: Detects compression utilities executed with output paths in common staging directories, a hallmark of bulk data staging prior to exfiltration from healthcare database or file servers.
references:
- https://attack.mitre.org/techniques/T1560/001/
author: Security Arsenal
date: 2026/02/19
tags:
- attack.collection
- attack.t1560.001
logsource:
category: process_creation
product: windows
detection:
selection_tool:
Image|endswith:
- '\7z.exe'
- '\7za.exe'
- '\rar.exe'
- '\winrar.exe'
- '\tar.exe'
selection_args:
CommandLine|contains:
- ' a '
- ' -a'
selection_path:
CommandLine|contains:
- '\ProgramData\'
- '\Windows\Temp\'
- '\AppData\Local\Temp\'
- '\Users\Public\'
condition: selection_tool and selection_args and selection_path
falsepositives:
- Legitimate backup and packaging scripts run by administrators
- Software deployment tooling using temp directories
level: high
---
title: Bulk Read Access to Patient Data File Shares
id: 3e7b9d21-6c4f-4a8b-b2d5-9f1e0c6a8d33
status: experimental
description: Detects a single account reading an abnormally high number of distinct files on shares hosting ePHI, consistent with bulk collection of patient records. Requires file access auditing (SACL) with 4663 events enabled on PHI shares.
references:
- https://attack.mitre.org/techniques/T1213/
- https://attack.mitre.org/techniques/T1039/
author: Security Arsenal
date: 2026/02/19
tags:
- attack.collection
- attack.t1039
logsource:
product: windows
service: security
detection:
selection:
AccessMask|contains:
- '0x1'
- '0x80'
ObjectName|contains:
- '\Patients\'
- '\Claims\'
- '\MedicalRecords\'
- '\ePHI\'
- '\Billing\'
condition: selection
falsepositives:
- Backup service accounts and DLP scanners reading entire shares — exclude known service accounts by SID
- Scheduled reporting/ETL jobs — baseline and exclude
level: medium
---
title: Database Export Utility Execution on Healthcare Servers
id: 5d1a8c37-9e2b-4f6d-a1c8-7b3e5d9f2041
status: experimental
description: Detects execution of native database export and bulk-copy tools (sqlcmd, bcp, mysqldump, pg_dump) on servers, a common technique for extracting entire patient tables during clearinghouse and RCM breaches.
references:
- https://attack.mitre.org/techniques/T1005/
author: Security Arsenal
date: 2026/02/19
tags:
- attack.collection
- attack.t1005
logsource:
category: process_creation
product: windows
detection:
selection:
Image|endswith:
- '\bcp.exe'
- '\sqlcmd.exe'
- '\mysqldump.exe'
- '\pg_dump.exe'
- '\sqlplus.exe'
filter_known_admins:
User|contains:
- 'dba_svc'
condition: selection and not filter_known_admins
falsepositives:
- Scheduled database maintenance and export jobs — filter by service account and schedule
level: high
KQL (Microsoft Sentinel / Defender)
The following hunt query identifies single accounts performing anomalous bulk file reads against shares containing patient data, combined with a check for subsequent large outbound transfers from the same host. Tune ReadThreshold and UploadThresholdMB against your environment's baseline before promoting to an analytic rule.
let ReadThreshold = 500;
let UploadThresholdMB = 500;
let Window = 1h;
let BulkReaders =
SecurityEvent
| where TimeGenerated > ago(24h)
| where EventID == 4663
| where ObjectName has_any ("\\Patients\\", "\\Claims\\", "\\MedicalRecords\\", "\\ePHI\\", "\\Billing\\")
| summarize DistinctFiles = dcount(ObjectName), FirstRead = min(TimeGenerated), LastRead = max(TimeGenerated), Hosts = dcount(Computer)
by Account, Computer
| where DistinctFiles > ReadThreshold and LastRead - FirstRead <= Window;
let BigUploads =
DeviceNetworkEvents
| where TimeGenerated > ago(24h)
| where RemoteUrl has_any ("mega.nz", "dropbox.com", "file.io", "wetransfer.com", "transfer.sh")
or RemotePort in (21, 22)
| summarize TotalBytesOut = sum(toint(AdditionalFields.bytes_sent)) by DeviceName, RemoteUrl, RemoteIP
| where TotalBytesOut > UploadThresholdMB * 1024 * 1024;
BulkReaders
| join kind=leftouter BigUploads on $left.Computer == $right.DeviceName
| project Account, Computer, DistinctFiles, FirstRead, LastRead, RemoteUrl, RemoteIP, TotalBytesOut
| order by DistinctFiles desc
Velociraptor VQL
Use this artifact during an IR sweep to identify compression tools executed on servers hosting patient data, along with recently created large archive files in staging locations — the forensic residue of a bulk staging operation.
-- Identify archive staging on ePHI servers: compression processes and recent large archives
LET procs = SELECT Pid, Name, CommandLine, Exe, Username, CreateTime
FROM pslist()
WHERE Name =~ '(?i)(7z|7za|rar|winrar|tar)\.exe$'
OR CommandLine =~ '(?i)(7z|7za|rar|winrar).* (a|m) .*\\(ProgramData|Windows\\Temp|Users\\Public)'
LET archives = SELECT FullPath, Size, Mtime, Ctime
FROM glob(globs=[
'C:/ProgramData/**/*.zip',
'C:/ProgramData/**/*.7z',
'C:/ProgramData/**/*.rar',
'C:/Windows/Temp/**/*.zip',
'C:/Windows/Temp/**/*.7z',
'C:/Users/Public/**/*.7z'
])
WHERE Size > 104857600
AND Mtime > now() - 1209600
SELECT * FROM procs
UNION ALL
SELECT NULL AS Pid, 'ARCHIVE_ARTIFACT' AS Name, FullPath AS CommandLine,
'' AS Exe, '' AS Username, Mtime AS CreateTime FROM archives
Verification and Hardening Script
The following PowerShell script performs three actions on servers hosting patient data: (1) verifies that object access auditing and SACL-based file auditing are enabled on PHI directories, (2) inventories unauthorized compression tools, and (3) checks for recently created large archives. Run it across your ePHI hosting estate via your RMM or remoting.
# === Aesto-style bulk exfiltration readiness check — run elevated on PHI-hosting servers ===
$PhiPaths = @('D:\Patients','D:\Claims','E:\MedicalRecords','D:\Billing') # Adjust to your ePHI locations
$Report = @()
# 1. Verify object access auditing policy
$audit = auditpol /get /subcategory:"File System" 2>$null
if ($audit -notmatch 'Success') {
$Report += "[FAIL] File System auditing (Success) not enabled - enabling now"
auditpol /set /subcategory:"File System" /success:enable /failure:enable
} else { $Report += "[OK] File System auditing enabled" }
# 2. Verify SACLs exist on ePHI directories (ReadData/Success audited for Everyone)
foreach ($p in $PhiPaths) {
if (Test-Path $p) {
$acl = Get-Acl $p -Audit
if (-not $acl.Audit -or $acl.Audit.Count -eq 0) {
$Report += "[FAIL] No audit SACL on $p - applying read-access auditing"
$rule = New-Object System.Security.AccessControl.FileSystemAuditRule(
'Everyone','ReadData','ContainerInherit,ObjectInherit','None','Success')
$acl.AddAuditRule($rule); Set-Acl $p $acl
} else { $Report += "[OK] Audit SACL present on $p" }
}
}
# 3. Inventory compression utilities outside sanctioned paths
$suspectTools = Get-ChildItem -Path 'C:\ProgramData','C:\Windows\Temp','C:\Users\Public' -Recurse -ErrorAction SilentlyContinue |
Where-Object { $_.Name -match '^(7z|7za|rar|winrar)\.exe$' }
foreach ($t in $suspectTools) { $Report += "[ALERT] Unsanctioned archive tool: $($t.FullName)" }
if (-not $suspectTools) { $Report += "[OK] No rogue archive tools in staging paths" }
# 4. Large archives created in the last 14 days
$recent = Get-ChildItem -Path 'C:\ProgramData','C:\Windows\Temp' -Recurse -Include *.zip,*.7z,*.rar -ErrorAction SilentlyContinue |
Where-Object { $_.Length -gt 100MB -and $_.LastWriteTime -gt (Get-Date).AddDays(-14) }
foreach ($f in $recent) { $Report += "[ALERT] Large recent archive: $($f.FullName) ($([math]::Round($f.Length/1MB)) MB)" }
if (-not $recent) { $Report += "[OK] No recent large archives in staging paths" }
$Report | Out-File "$env:TEMP\phi_exfil_check_$(Get-Date -Format 'yyyyMMdd_HHmm').log"
$Report
Remediation and Immediate Actions
If Your Organization Is an Aesto Health Business Associate
- Invoke your BAA now. Review your Business Associate Agreement's breach notification clauses. Aesto Health is obligated to notify covered entities without unreasonable delay, no later than 60 days per HIPAA. Demand specifics: what data elements, which of your patients, and the exposure window.
- Scope your exposure. Pull data-sharing records to determine exactly what you transmitted to Aesto — claims data, eligibility files, remittance data, demographic records — and over what period.
- Prepare notification workflows. As the covered entity, notification obligations to affected individuals, HHS OCR, and state attorneys general may fall on you. Engage privacy counsel early; state timelines (some as short as 30 days) start ticking from your awareness.
- Hunt your own estate. Even though the compromise occurred at the vendor, run the detections above. Third-party breaches and internal compromises frequently share infrastructure or access brokers.
- Reset integrated credentials. Rotate any credentials, API keys, SFTP accounts, or service accounts used for data exchange with Aesto Health. Assume any credential that touched the compromised environment is burned.
For All Healthcare Organizations
- Deploy bulk-access detection. The single most reliable signal in a 9.5-million-record breach is volume. Enable SACL-based file auditing on ePHI shares and database-level auditing (SQL Server Audit, Oracle Unified Auditing) on patient databases. Alert on per-account read volumes that deviate from baseline.
- Alert on archive staging. Compression of patient data by interactive users is almost never legitimate. The Sigma rule above is a high-fidelity starting point.
- Control egress. Deny outbound SFTP/FTP from servers without a documented business need, proxy and log all outbound HTTPS, and block unsanctioned file-sharing domains at the web filter and DNS layer. Exfiltration of 9.5 million records cannot hide in normal traffic — it requires volume you can measure.
- Harden remote access. Enforce phishing-resistant MFA (FIDO2/passkeys) on all VPN, SSO, and remote access portals. Credential-based initial access remains the dominant entry vector in healthcare mega-breaches.
- Inventory your third parties. Build and maintain a register of every business associate holding your ePHI, what data they hold, and their security posture. Aesto Health will not be the last clearinghouse breach. NIST CSF 2.0's expanded supply-chain governance function exists precisely for this.
- Test your IR plan against this scenario. Tabletop a third-party breach affecting millions of your patients within the next 30 days. If your plan assumes the breach happens inside your own perimeter, it will fail when it matters.
Regulatory Deadlines to Track
- HIPAA: Individual notification without unreasonable delay, no later than 60 days from discovery; HHS OCR notification within 60 days for breaches of 500+; media notification required for breaches affecting 500+ residents of a state.
- State laws: Many states impose shorter windows (e.g., 30 days) and specific AG notification requirements. Multi-state breaches of this size will trigger dozens of parallel obligations.
The Bottom Line
Nine and a half million patients did not lose their data because of an exotic zero-day. Breaches at this scale are almost always the product of unmonitored access to aggregated data, undetected staging, and uncontrolled egress. Every one of those failure modes is detectable with controls that exist in your environment today. The Aesto Health incident is your signal to verify that they are actually on — before your organization's name is in the headline.
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.