NFI North, a New Hampshire-based nonprofit providing behavioral health, foster care, and community-based services, has disclosed a data breach affecting almost 50,000 individuals. The disclosure arrived alongside breach notifications from Nephrology Associates in Kansas and PAMCAH-UA Local 675 Health and Welfare Fund — a pattern we've seen repeatedly through 2025 and into 2026: small and mid-sized healthcare and human-services organizations remain disproportionately targeted, and disproportionately under-prepared, when attackers come for protected health information (PHI).
For defenders, the lesson isn't that one nonprofit got hit. It's that organizations holding large volumes of PHI with modest security budgets are being systematically worked through by threat actors who understand exactly how HIPAA breach-notification obligations turn a quiet intrusion into a costly, public event. This post breaks down what these incidents tell us, how to detect the intrusion behaviors that precede a breach disclosure, and what your IR and compliance teams should have staged before the notification letter ever gets drafted.
What Happened
NFI North disclosed a data breach impacting nearly 50,000 individuals. As with most breach notifications reported via The HIPAA Journal, the disclosure follows the standard regulatory cadence: detection of unauthorized access to systems containing personal and health information, a forensic investigation (typically with third-party DFIR support), scoping of affected individuals, and notification to regulators and victims.
The same reporting cycle included:
- Nephrology Associates (Kansas) — a specialty medical practice, exactly the kind of mid-size covered entity that holds dense PHI but often lacks a 24/7 SOC.
- PAMCAH-UA Local 675 Health and Welfare Fund — a health and welfare benefits fund, which holds member identity and claims data and sits in the HIPAA business-associate / group-health-plan regulatory space.
Three disclosures in one reporting batch is not a coincidence — it reflects the ongoing industrialization of attacks against healthcare-adjacent organizations. Threat actors (financially motivated groups, and increasingly initial access brokers feeding ransomware crews) deliberately target this sector because:
- PHI has durable resale value. Unlike a stolen credit card, a medical record with SSN, date of birth, diagnosis codes, and insurance IDs supports identity theft and insurance fraud for years.
- Regulatory exposure creates extortion leverage. A HIPAA-covered entity that suffers an exfiltration event faces mandatory notification, OCR scrutiny, and potential civil monetary penalties — making them more likely to pay.
- Defensive maturity lags. Community nonprofits, specialty clinics, and benefit funds rarely have EDR coverage everywhere, centralized logging, or a tested IR plan.
Technical Analysis: The Intrusion Behaviors Behind These Breaches
While NFI North has not (as of this writing) published a root-cause CVE or named a threat actor, breaches of this profile overwhelmingly trace back to a small set of initial access vectors and post-compromise behaviors. Based on what we see across healthcare IR engagements, the typical attack chain looks like this:
Initial access (most common in this sector):
- Phishing-delivered credential theft against Microsoft 365 / email accounts without enforced MFA
- Exploitation of internet-facing remote access (VPN, RDP, unpatched remote access appliances)
- Compromised vendor or business-associate credentials
Post-compromise (the behaviors you can actually detect):
- Discovery and data staging — attackers enumerate file shares, EHR exports, and HR/records directories; identify where bulk PHI lives
- Collection and archiving — mass reads of sensitive directories, followed by staging into compressed archives (ZIP/RAR/7z) using built-in tools like
tar.exe,makecab.exe, or dropped7z.exe/rar.exebinaries - Exfiltration — large outbound transfers to cloud storage (MEGA, Dropbox, attacker-hosted infrastructure) via browser,
rclone,curl, or PowerShell - Optional encryption/ransom — some crews skip encryption entirely now; pure data-theft extortion is increasingly common in healthcare because the notification obligation alone creates leverage
Exploitation status: No CVE has been associated with the NFI North disclosure at this time. The relevant exploitation is behavioral: unauthorized access, bulk data access, and exfiltration — all of which are detectable with the telemetry most organizations already collect but don't alert on.
The defensive takeaway: you cannot patch your way out of this class of incident. You detect it in the staging and exfiltration phases, or you find out about it when the attacker emails you.
Detection & Response
The detections below target the pre-disclosure behaviors that precede breaches like NFI North's: bulk access to sensitive data, archive staging, and exfiltration tooling. These are tuned for healthcare environments where PHI repositories (file shares, EHR export directories, claims databases) are well-defined — scope them to your actual data stores to keep fidelity high.
Sigma Rules
---
title: Compression Utility Execution by Non-Administrative User for Data Staging
id: 9c1e4b72-3a58-4d91-bf27-8e6a2d5c9401
status: experimental
description: Detects execution of archive utilities (7z, rar, tar, makecab) often used by attackers to stage bulk PHI prior to exfiltration in healthcare data breaches.
references:
- https://attack.mitre.org/techniques/T1560/001/
author: Security Arsenal
date: 2026/04/06
tags:
- attack.collection
- attack.t1560.001
logsource:
category: process_creation
product: windows
detection:
selection_img:
Image|endswith:
- '\7z.exe'
- '\7za.exe'
- '\rar.exe'
- '\makecab.exe'
- '\tar.exe'
selection_cli:
CommandLine|contains:
- ' a '
- ' -r'
- 'compress'
- '/f'
condition: selection_img and selection_cli
falsepositives:
- IT backup and packaging workflows - whitelist known admin accounts and software deployment paths
level: medium
---
title: Rclone or Cloud Exfiltration Tool Execution
id: 2f7a9d41-6c83-4e15-a908-4b3d7e2f8512
status: experimental
description: Detects execution of rclone or similar command-line cloud sync tools frequently abused for bulk exfiltration of stolen PHI to attacker-controlled cloud storage.
references:
- https://attack.mitre.org/techniques/T1567/002/
author: Security Arsenal
date: 2026/04/06
tags:
- attack.exfiltration
- attack.t1567.002
logsource:
category: process_creation
product: windows
detection:
selection:
Image|endswith:
- '\rclone.exe'
- '\megacmd.exe'
- '\filezilla.exe'
- '\winscp.exe'
condition: selection
falsepositives:
- Rare in clinical environments - legitimate use should be inventoried and whitelisted explicitly
level: high
---
title: PowerShell Web Request to External Cloud Storage Domain
id: 6d3b8f27-1e94-4c62-bd35-9a1f5c8e7203
status: experimental
description: Detects PowerShell Invoke-WebRequest or curl usage targeting consumer cloud storage domains, consistent with scripted PHI exfiltration observed in healthcare breach intrusions.
references:
- https://attack.mitre.org/techniques/T1567/002/
author: Security Arsenal
date: 2026/04/06
tags:
- attack.exfiltration
- attack.t1567.002
logsource:
category: process_creation
product: windows
detection:
selection_proc:
Image|endswith:
- '\powershell.exe'
- '\pwsh.exe'
- '\curl.exe'
selection_domain:
CommandLine|contains:
- 'mega.nz'
- 'mega.co.nz'
- 'dropbox.com'
- 'wetransfer.com'
- 'file.io'
- 'transfer.sh'
- 'anonfiles'
condition: selection_proc and selection_domain
falsepositives:
- Legitimate file transfer workflows - verify against approved business file-sharing services
level: high
KQL (Microsoft Sentinel / Defender)
The query below hunts for endpoints exhibiting a suspicious combination: archive-tool execution followed by significant outbound network activity within a short window — the classic staging-then-exfil pattern behind breaches like this one.
let lookback = 7d;
let archiveProcs = dynamic(["7z.exe","7za.exe","rar.exe","makecab.exe","tar.exe","rclone.exe","megacmd.exe"]);
let staging = DeviceProcessEvents
| where TimeGenerated > ago(lookback)
| where FileName in~ (archiveProcs)
| project DeviceId, DeviceName, StageTime=TimeGenerated, FileName, ProcessCommandLine, AccountName;
let outbound = DeviceNetworkEvents
| where TimeGenerated > ago(lookback)
| where RemoteIPType == "Public"
| summarize BytesSentApprox=count() by DeviceId, RemoteUrl, RemoteIP, bin(TimeGenerated, 1h);
staging
| join kind=inner outbound on DeviceId
| where TimeGenerated between (StageTime .. StageTime + 4h)
| project DeviceName, AccountName, StageTime, FileName, ProcessCommandLine, RemoteUrl, RemoteIP, BytesSentApprox
| order by StageTime desc
A second, complementary query for environments with Sysmon or MDE advanced hunting — looking for mass file-read behavior against directories that commonly hold PHI exports:
let phiDirs = dynamic(["\\shares\\", "\\ehr\\", "\\records\\", "\\claims\\", "\\exports\\", "\\hr\\"]);
DeviceFileEvents
| where TimeGenerated > ago(24h)
| where ActionType == "FileCreated" or ActionType == "FileModified"
| where FolderPath has_any (phiDirs)
| summarize FileCount=count(), DistinctExtensions=dcount(FileExtension), FirstSeen=min(TimeGenerated), LastSeen=max(TimeGenerated) by DeviceName, InitiatingProcessAccountName, InitiatingProcessFileName
| where FileCount > 500
| order by FileCount desc
Tune the FileCount threshold against your baseline — a billing clerk touching 500 files a day is normal; a service account doing it at 3 AM is not.
Velociraptor VQL
This artifact hunts endpoints for recently created archive files in user-writable staging locations — a high-fidelity artifact of data-theft preparation.
-- Hunt for recently created archive files in common staging locations
LET archives = SELECT FullPath, Size, Mtime, Atime
FROM glob(globs=['C:/Users/*/AppData/Local/Temp/**/*.zip',
'C:/Users/*/AppData/Local/Temp/**/*.7z',
'C:/Users/*/AppData/Local/Temp/**/*.rar',
'C:/ProgramData/**/*.zip',
'C:/ProgramData/**/*.7z',
'C:/ProgramData/**/*.rar'])
WHERE Mtime > now() - 604800
ORDER BY Mtime DESC
SELECT FullPath,
Size,
timestamp(epoch=Mtime) AS ModifiedUTC,
Size / 1048576 AS SizeMB
FROM archives
WHERE SizeMB > 10
Pair it with a process hunt for compression tooling:
-- Hunt running processes for archive/exfil tooling
SELECT Pid, Name, CommandLine, Exe, Username, CreateTime
FROM pslist()
WHERE Name =~ '(?i)(7z|7za|rar|rclone|megacmd|winscp|filezilla)'
OR CommandLine =~ '(?i)(mega\.nz|dropbox|wetransfer|transfer\.sh)'
Remediation & Hardening Script
For healthcare and human-services organizations running Microsoft 365 — the single most common environment in this sector — the controls below address the highest-yield gaps: legacy auth (which bypasses MFA), unauthenticated external sharing, and audit log verification.
#Requires -Modules ExchangeOnlineManagement
# Run as a Global Admin or Exchange Admin. Review each change before applying in production.
Connect-ExchangeOnline
# 1. Verify Unified Audit Log is enabled (required for breach forensics)
$audit = Get-AdminAuditLogConfig | Select-Object UnifiedAuditLogIngestionEnabled
Write-Host "Unified Audit Log enabled: $($audit.UnifiedAuditLogIngestionEnabled)"
if (-not $audit.UnifiedAuditLogIngestionEnabled) {
Set-AdminAuditLogConfig -UnifiedAuditLogIngestionEnabled $true
Write-Host "Audit logging enabled. Retention is license-dependent - verify Purview retention policies."
}
# 2. Identify mailboxes still allowing legacy/protocol-level access paths
Write-Host "`n--- Mailboxes with POP/IMAP/SMTP AUTH enabled (legacy auth exposure) ---"
Get-CasMailbox -ResultSize Unlimited |
Where-Object { $_.PopEnabled -or $_.ImapEnabled -or $_.SmtpClientAuthenticationDisabled -eq $false } |
Select-Object DisplayName, PrimarySmtpAddress, PopEnabled, ImapEnabled, SmtpClientAuthenticationDisabled |
Format-Table -AutoSize
# 3. Check for inbox rules forwarding externally (common post-compromise persistence)
Write-Host "`n--- Mailboxes with external forwarding rules ---"
Get-Mailbox -ResultSize Unlimited | ForEach-Object {
Get-InboxRule -Mailbox $_.UserPrincipalName -ErrorAction SilentlyContinue |
Where-Object { $_.ForwardTo -or $_.ForwardAsAttachmentTo -or $_.RedirectTo } |
Select-Object @{n='Mailbox';e={$_.MailboxOwnerId}}, Name, ForwardTo, RedirectTo
} | Format-Table -AutoSize
# 4. Disable legacy authentication org-wide via authentication policy (staged rollout recommended)
# New-AuthenticationPolicy -Name "Block Legacy Auth"
# Set-AuthenticationPolicy -Identity "Block Legacy Auth" -AllowBasicAuthPop $false -AllowBasicAuthImap $false -AllowBasicAuthSmtp $false
# Set-OrganizationConfig -DefaultAuthenticationPolicy "Block Legacy Auth"
Write-Host "`nReview output, then enforce Conditional Access MFA in Entra ID for all users before blocking legacy auth."
Remediation and Defensive Recommendations
Because no CVE has been disclosed for the NFI North incident, remediation here is programmatic — the controls that would have detected or prevented this class of breach:
Immediate (this week):
- Enforce phishing-resistant MFA everywhere — all remote access, all email, all admin accounts. The majority of healthcare breaches we investigate trace to a credential harvested via phishing against an account without MFA.
- Verify audit logging is on and retained. If you cannot answer "who accessed this file share in the last 90 days," you cannot scope a breach — and unscopable breaches default to notifying everyone.
- Inventory your PHI stores. You cannot detect bulk access to data you don't know exists. Map EHR exports, claims data, HR records, and the service accounts that legitimately touch them.
- Deploy the staging/exfil detections above against those specific repositories. Generic exfil detection is noise; PHI-store-targeted detection is signal.
Short term (30 days):
5. Block or tightly control archive and sync tools (rclone, 7z, WinSCP) via application control (WDAC/AppLocker). There is almost no legitimate reason for rclone.exe to run on a clinical workstation.
6. Review business associate agreements and vendor access. Benefits funds and nonprofits frequently share data with third parties whose compromise becomes your notification obligation.
7. Tabletop your breach-notification workflow. HIPAA's Breach Notification Rule requires individual notification without unreasonable delay (no later than 60 days from discovery), HHS OCR notification (within 60 days for 500+ individuals, which NFI North clearly triggers), and media notice for large breaches. Rehearsing this before you need it is the difference between a managed response and a public fumble.
Strategic (this quarter): 8. Data minimization and retention enforcement. Attackers can't steal records you purged. Many breaches in this sector involve data retained years beyond operational or regulatory need. 9. Segment PHI repositories from general user networks and apply least-privilege access — bulk read by a compromised user account should be architecturally difficult, not just alertable. 10. Update your HIPAA Security Rule risk analysis. OCR's enforcement posture following breaches consistently centers on whether a current, accurate risk analysis existed. If yours is stale, that is your exposure.
The Bottom Line
NFI North's breach of nearly 50,000 records — disclosed alongside a Kansas nephrology practice and a union health fund — is this sector's recurring story: modestly defended organizations holding high-value PHI, discovered after the fact, disclosed under regulatory pressure. The attackers' playbook is stable and detectable. Organizations that instrument the staging and exfiltration phases, enforce MFA without exceptions, and rehearse their notification obligations will either catch these intrusions early or respond to them without compounding the damage.
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.