Back to Intelligence

Minidoka Memorial Hospital Ransomware Incident — Healthcare Defense Strategies & Detection Guide

SA
Security Arsenal Team
April 22, 2026
10 min read

Introduction

On Easter morning, Minidoka Memorial Hospital fell victim to a cyberattack that disrupted healthcare operations, joining a troubling trend of healthcare providers targeted during holidays when staffing is reduced and vigilance may lapse. This incident highlights the persistent threat ransomware poses to healthcare organizations—threats that directly impact patient care, PHI confidentiality, and operational continuity. For defenders, this serves as a critical reminder: threat actors actively exploit healthcare's 24/7 operational requirements and the high value of medical data. The urgency to implement robust detection mechanisms and incident response capabilities has never been greater.

Technical Analysis

Attack Overview

The Minidoka Memorial Hospital incident exhibits characteristics consistent with modern healthcare-targeted ransomware operations. While specific CVE details from this incident remain under investigation, healthcare ransomware attacks typically follow a well-documented attack chain:

Attack Chain Breakdown:

  1. Initial Access: Phishing campaigns, exploited RDP/VPN services, or supply chain compromises
  2. Execution: Deployment of ransomware payload, often living-off-the-land (LOL) binaries
  3. Persistence: Scheduled tasks, registry run keys, or WMI event subscriptions
  4. Privilege Escalation: Exploitation of unpatched vulnerabilities or credential dumping
  5. Defense Evasion: Disabling security tools, clearing logs, masquerading processes
  6. Lateral Movement: SMB exploitation, PSExec, or remote service manipulation
  7. Impact: Encryption of EHR databases, medical imaging systems, and backups

Affected Platforms & Healthcare Systems

Healthcare ransomware typically targets:

  • Windows Server environments (2012R2, 2016, 2019, 2022)
  • Electronic Health Record (EHR) systems (Epic, Cerner, Meditech)
  • PACS (Picture Archiving and Communication System) storage
  • Backup repositories (Veeam, Commvault, Dell EMC)
  • Virtualization infrastructure (VMware vCenter, Hyper-V)

Exploitation Status

Healthcare-targeted ransomware is actively in the wild with confirmed exploitation across the sector. According to CISA KEV (Known Exploited Vulnerabilities) and HHS health sector cybersecurity reports, ransomware groups like BlackCat/ALPHV, LockBit, and Hive have specifically targeted healthcare organizations. The exploitation of healthcare infrastructure is not theoretical—it is operational reality.

Detection & Response

The following detection rules and hunt queries are designed to identify indicators of ransomware activity in healthcare environments, focusing on early detection before widespread encryption occurs.

YAML
---
title: Ransomware Mass File Encryption Pattern
id: 8b4e2c1f-a5d3-4e7b-b9f1-6c2a3d4e5f6g
status: experimental
description: Detects rapid file encryption patterns consistent with ransomware behavior in healthcare environments.
references:
  - https://attack.mitre.org/techniques/T1486/
author: Security Arsenal
date: 2024/04/15
tags:
  - attack.impact
  - attack.t1486
logsource:
  category: file_change
  product: windows
detection:
  selection:
    TargetFilename|contains:
      - '\\PACS\\'
      - '\\EHR\\'
      - '\\MedicalRecords\\'
    TargetFilename|endswith:
      - '.encrypted'
      - '.locked'
      - '.locked2'
      - '.crypt'
      - '.cryptolocker'
      - '.enc'
  condition: selection
falsepositives:
  - Legitimate backup encryption processes
  - Authorized file encryption tools
level: critical
---
title: Ransomware Process Spawning PowerShell
id: 9c5f3d2g-b6e4-5f8c-c0g2-7d3b4e5f6g7h
status: experimental
description: Detects suspicious processes spawning PowerShell with encoded commands, common in ransomware delivery.
references:
  - https://attack.mitre.org/techniques/T1059/001/
author: Security Arsenal
date: 2024/04/15
tags:
  - attack.execution
  - attack.t1059.001
logsource:
  category: process_creation
  product: windows
detection:
  selection:
    ParentImage|endswith:
      - '\\svchost.exe'
      - '\\explorer.exe'
      - '\\notepad.exe'
      - '\\mshta.exe'
      - '\\wscript.exe'
      - '\\cscript.exe'
    Image|endswith:
      - '\\powershell.exe'
    CommandLine|contains:
      - ' -EncodedCommand '
      - ' -Enc '
      - 'FromBase64String'
      - 'IEX '
  condition: selection
falsepositives:
  - Legitimate administrative scripts
  - System management tools
level: high
---
title: Ransomware Backup Deletion Activity
id: 0d6g4e3h-c7f5-6g9d-1h3e-8e4f5g6h7i8j
status: experimental
description: Detects attempts to delete or disable backup services and files, a precursor to ransomware execution.
references:
  - https://attack.mitre.org/techniques/T1490/
author: Security Arsenal
date: 2024/04/15
tags:
  - attack.impact
  - attack.t1490
logsource:
  category: process_creation
  product: windows
detection:
  selection:
    Image|endswith:
      - '\\vssadmin.exe'
      - '\\wbadmin.exe'
      - '\\bcdedit.exe'
      - '\\wmic.exe'
    CommandLine|contains:
      - 'delete shadows'
      - 'delete catalog'
      - 'delete backup'
      - 'resize shadowstorage'
  condition: selection
falsepositives:
  - Legitimate backup maintenance
  - Scheduled storage cleanup
level: critical
KQL — Microsoft Sentinel / Defender
// KQL Hunt Query for Ransomware Indicators in Healthcare Environment
// Hunt for suspicious process execution patterns associated with ransomware
let SuspiciousProcesses = dynamic(['powershell.exe', 'cmd.exe', 'wscript.exe', 'cscript.exe', 'rundll32.exe', 'regsvr32.exe', 'mshta.exe']);
let EncodedCommandIndicators = dynamic(['-EncodedCommand', '-Enc', 'FromBase64String', 'IEX', 'Invoke-Expression']);
DeviceProcessEvents
| where Timestamp > ago(7d)
| where FileName in~ (SuspiciousProcesses)
| where ProcessCommandLine has_any (EncodedCommandIndicators) 
   or ProcessCommandLine contains "Invoke-WebRequest"
   or ProcessCommandLine contains "DownloadString"
| extend FilePath =FolderPath, 
         ProcessName =FileName,
         InitiatingAccount =AccountName,
         InitiatingDevice =DeviceName
| project Timestamp, DeviceName, AccountName, ProcessName, ProcessCommandLine, InitiatingProcessFileName
| order by Timestamp desc

// Hunt for mass file modification indicative of encryption
DeviceFileEvents
| where Timestamp > ago(1d)
| where ActionType == "FileModified" or ActionType == "FileCreated"
| where FileName endswith_cs @".encrypted" 
   or FileName endswith_cs @".locked" 
   or FileName endswith_cs @".crypt"
| summarize Count = count() by DeviceName, InitiatingProcessAccountName, bin(Timestamp, 5m)
| where Count > 50
| project DeviceName, InitiatingProcessAccountName, Count, Timestamp
| order by Count desc

// Hunt for suspicious network connections to C2 infrastructure
DeviceNetworkEvents
| where Timestamp > ago(3d)
| where RemotePort in (443, 445, 8080, 8443)
| where InitiatingProcessFileName in~ (SuspiciousProcesses)
| where isnot(RemoteIP) and RemoteIP !startswith "192.168." and RemoteIP !startswith "10." and RemoteIP !startswith "172.16."
| summarize ConnectionCount = count(), UniqueRemoteIPs = dcount(RemoteIP) by DeviceName, InitiatingProcessFileName, bin(Timestamp, 1h)
| where ConnectionCount > 10 or UniqueRemoteIPs > 3
| project DeviceName, InitiatingProcessFileName, ConnectionCount, UniqueRemoteIPs, Timestamp
| order by ConnectionCount desc
VQL — Velociraptor
-- Velociraptor VQL Hunt Artifact for Ransomware Indicators
-- Hunt for suspicious processes spawned from unusual parents
SELECT Pid, Name, CommandLine, Exe, Username, CreateTime, ParentPid
FROM pslist()
WHERE Name IN ('powershell.exe', 'cmd.exe', 'wscript.exe', 'cscript.exe', 'rundll32.exe')
  AND CommandLine =~ 'EncodedCommand|FromBase64String|IEX |DownloadString'
  AND ParentPid NOT IN (1, 2, 3, 4)

-- Hunt for recently created encrypted files
SELECT FullPath, Size, Mode.Mtime, Mode.Atime, Mode.Ctime
FROM glob(globs='/*/*.encrypted', accessor='auto')
WHERE Mode.Mtime > now() - 24h

-- Hunt for VSS shadow copy deletion commands
SELECT Pid, Name, CommandLine, Username, CreateTime
FROM pslist()
WHERE Name IN ('vssadmin.exe', 'wbadmin.exe', 'bcdedit.exe', 'wmic.exe')
  AND CommandLine =~ 'delete|resize shadowstorage|delete shadows'

-- Hunt for unusual network connections to non-standard ports
SELECT RemoteAddress, RemotePort, Pid, Name, State
FROM netstat()
WHERE RemotePort NOT IN (80, 443, 22, 3389, 5985, 5986)
  AND RemoteAddress NOT IN ('127.0.0.1', '::1', '0.0.0.0')
  AND RemoteAddress !~ '^192\.168\.'
  AND RemoteAddress !~ '^10\.'
  AND RemoteAddress !~ '^172\.(1[6-9]|2[0-9]|3[01])\.'
PowerShell
# PowerShell Remediation Script for Healthcare Ransomware Hardening
# This script checks for and implements key security controls to mitigate ransomware risk

# Function to write colored output
function Write-Status {
    param([string]$Message, [string]$Type = "Info")
    $color = switch($Type) {
        "Success" { "Green" }
        "Warning" { "Yellow" }
        "Error"   { "Red" }
        default    { "White" }
    }
    Write-Host "[$(Get-Date -Format 'yyyy-MM-dd HH:mm:ss')] $Message" -ForegroundColor $color
}

# 1. Check and disable RDP if not required (RDP is a common ransomware entry point)
Write-Status "Checking RDP Configuration..." -Type "Info"
$rdpStatus = (Get-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server' -Name 'fDenyTSConnections').fDenyTSConnections
if ($rdpStatus -eq 0) {
    Write-Status "WARNING: RDP is ENABLED. Consider disabling or securing it." -Type "Warning"
    # Uncomment to disable RDP:
    # Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server' -Name 'fDenyTSConnections' -Value 1
    # Write-Status "RDP has been disabled." -Type "Success"
} else {
    Write-Status "RDP is disabled. Good." -Type "Success"
}

# 2. Verify VSS Shadow Copy Service is running and protected
Write-Status "Checking Volume Shadow Copy Service..." -Type "Info"
$vssService = Get-Service -Name VSS -ErrorAction SilentlyContinue
if ($vssService.Status -ne "Running") {
    Write-Status "WARNING: VSS Service is not running. Backups may be vulnerable." -Type "Warning"
} else {
    Write-Status "VSS Service is running." -Type "Success"
}

# 3. Check for scheduled tasks with suspicious characteristics
Write-Status "Checking Scheduled Tasks for suspicious entries..." -Type "Info"
$suspiciousTasks = Get-ScheduledTask | Where-Object {
    $_.Actions.Execute -match 'powershell|cmd|wscript|cscript|rundll32' -and 
    $_.TaskPath -notmatch '\\Microsoft\\' -and 
    $_.TaskPath -notmatch '\\Hewlett-Packard\\' -and 
    $_.TaskPath -notmatch '\\Lenovo\\'
}
if ($suspiciousTasks) {
    Write-Status "WARNING: Found potentially suspicious scheduled tasks:" -Type "Warning"
    $suspiciousTasks | ForEach-Object {
        Write-Status "  - $($_.TaskPath + $_.TaskName)" -Type "Warning"
    }
} else {
    Write-Status "No obviously suspicious scheduled tasks found." -Type "Success"
}

# 4. Verify SMBv1 is disabled (EternalBlue protection)
Write-Status "Checking SMBv1 status..." -Type "Info"
$smbv1Feature = Get-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
if ($smbv1Feature.State -eq "Enabled") {
    Write-Status "WARNING: SMBv1 is ENABLED. Vulnerable to EternalBlue." -Type "Warning"
    # Uncomment to disable SMBv1:
    # Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol -NoRestart
    # Write-Status "SMBv1 has been disabled. Restart required." -Type "Success"
} else {
    Write-Status "SMBv1 is disabled. Good." -Type "Success"
}

# 5. Check Windows Firewall status
Write-Status "Checking Windows Firewall Profile status..." -Type "Info"
$firewallProfiles = Get-NetFirewallProfile
foreach ($profile in $firewallProfiles) {
    if ($profile.Enabled -eq $false) {
        Write-Status "WARNING: Firewall profile $($profile.Name) is DISABLED." -Type "Warning"
    } else {
        Write-Status "Firewall profile $($profile.Name) is enabled." -Type "Success"
    }
}

# 6. Verify recent Windows Updates
Write-Status "Checking Windows Update status..." -Type "Info"
$lastUpdate = (Get-HotFix | Sort-Object InstalledOn -Descending | Select-Object -First 1).InstalledOn
$daysSinceUpdate = (New-TimeSpan -Start $lastUpdate -End (Get-Date)).Days
if ($daysSinceUpdate -gt 30) {
    Write-Status "WARNING: Last update was $daysSinceUpdate days ago. Consider patching." -Type "Warning"
} else {
    Write-Status "Last update was $daysSinceUpdate days ago. Good." -Type "Success"
}

Write-Status "Ransomware hardening check complete." -Type "Info"

Remediation

Based on the Minidoka Memorial Hospital incident and general healthcare ransomware threat landscape, implement the following remediation steps:

Immediate Actions

  1. Isolate Affected Systems: Immediately disconnect compromised systems from the network while preserving forensic evidence. Document all actions taken.

  2. Disable Compromised Accounts: Disable all service accounts and privileged credentials potentially exposed during the breach. Force password resets for all accounts with access to sensitive systems.

  3. Preserve Evidence: Create forensic images of affected systems before any remediation or restoration efforts. Include memory captures and disk images.

Technical Controls

  1. Patch Management:

    • Prioritize CISA KEV-listed vulnerabilities
    • Patch VPN concentrators (Fortinet, Pulse Secure, Citrix ADC) immediately
    • Apply security updates to RDP services and Exchange servers
    • Vendor advisories: CISA.gov/known-exploited-vulnerabilities
  2. Network Segmentation:

    • Implement strict micro-segmentation between clinical and administrative networks
    • Deploy NAC (Network Access Control) for all devices
    • Disable SMBv1 and block SMB (ports 445, 139) at the network perimeter
  3. Identity Security:

    • Enforce MFA for all privileged accounts and remote access
    • Implement Just-in-Time (JIT) privileged access
    • Disable unused service accounts and dormant user accounts
  4. Backup Resilience:

    • Implement immutable (WORM) backup storage
    • Validate offline/air-gapped backup capability
    • Regularly test restoration procedures for EHR and PACS data
    • Enable Volume Shadow Copy Service with protection against deletion

Organizational Measures

  1. Incident Response Plan Update: Ensure IR plan includes ransomware-specific procedures, communication templates, and HIPAA breach notification requirements.

  2. Third-Party Risk Management: Assess all vendors with network access to healthcare systems. Review supply chain security posture.

  3. Security Awareness Training: Implement phishing simulations focused on healthcare-specific lures (e.g., COVID-19 communications, lab results).

Regulatory Compliance Considerations

Under HIPAA Security Rule (45 CFR §164.308(a)), healthcare organizations must implement:

  • Risk analysis and management programs
  • Security incident procedures
  • Contingency plans (data backup, disaster recovery, emergency mode operation)

The HHS Health Sector Cybersecurity Coordination Center (HC3) provides sector-specific guidance: https://www.hhs.gov/about/agencies/asa/ocy/cybersecurity/index.html

CISA Deadlines

For vulnerabilities identified in CISA KEV, organizations must:

  • Address within specified timeframes (typically 2-3 weeks for critical infrastructure)
  • Complete risk acceptance documentation if remediation is delayed
  • Monitor for exploitation indicators while remediation is pending

Related Resources

Security Arsenal Healthcare Cybersecurity AlertMonitor Platform Book a SOC Assessment healthcare Intel Hub

healthcare-cybersecurityhipaa-compliancehealthcare-ransomwareehr-securitymedical-data-breachransomwarehealthcare-securityincident-response

Is your security operations ready?

Get a free SOC assessment or see how AlertMonitor cuts through alert noise with automated triage.